Methodology
We show every formula so you can audit each number. The projection calculators model a 12-month return with a ramp-up where results take time to appear; the rest — ROI, break-even, ROAS and the SaaS metrics — are exact identities with no ramp and no scenarios. The same definitions power the on-page “How is this calculated?” panels, the PDF report, and these notes.
Conventions
- Three scenarios. Scenario-sensitive variables are multiplied by 0.8 (Conservative), 1.0 (Expected) or 1.2 (Aggressive).
- Ramp-up. For SEO and enterprise SEO,
ramp(m) = m ≤ lag ? 0 : min((m − lag) / rampMonths, 1)(defaults: 3-month lag, 9-month ramp to full speed). - Payback is the first month cumulative net gain turns positive; over 36 months it shows “N/A (>36 mo)”. Division by zero shows “—”.
- Rounding. Currency to whole units, percentages to one decimal, months rounded up.
ROI Calculator
Open the ROI (General) calculator →
ROI % = (returned − invested) / invested × 100net profit = returned − investedannualized ROI % = ((returned / invested) ^ (12 / months) − 1) × 100return multiple = returned / invested
- Annualized ROI assumes the gain compounds evenly across the period; for a single period equal to your inputs it equals the simple ROI.
CRM ROI Calculator
timeSavings = reps × hoursSaved/week × 4.33 × hourlyCostrevenueUplift = reps × deals/rep × (winUplift% × scenario) × dealSize × margin%monthlyGain = timeSavings + revenueUpliftmonthlyCost = reps × seatCost + adminCostnetGain(M) = (monthlyGain − monthlyCost) × M − implementationROI% = netGain(12) / (monthlyCost × 12 + implementation) × 100
Enterprise SEO ROI Calculator
Open the Enterprise SEO ROI calculator →
monthlyCost = platformCost + teamCostincrSessions(m) = sessions × uplift% × ramp(m) × scenarioincrRevenue(m) = incrSessions(m) × leadRate% × closeRate% × ACV × margin%netGain(M) = Σ incrRevenue(1..M) − (monthlyCost × M + oneoff)PPC-equivalent = incrSessions(full speed) × CPC
SEO ROI Calculator
ramp(m) = m ≤ lag ? 0 : min((m − lag) / rampMonths, 1)incrRevenue(m) = traffic × (uplift% × ramp(m) × scenario) × convRate% × dealValue × margin%netGain(M) = Σ incrRevenue(1..M) − monthlyCost × MROI% = netGain(12) / (monthlyCost × 12) × 100payback = first month where cumulative net gain ≥ 0
Marketing ROI Calculator
Open the Marketing ROI calculator →
totalSpend = spend + extraToolCostcustomers = leads × leadToCustomer% × scenariomonthlyGain = customers × customerValue × margin%ROI% = (monthlyGain − totalSpend) / totalSpend × 100CAC = totalSpend / customers · break-even CAC = customerValue × margin%
- Year-1 customer value is recognised in the acquisition month (see methodology).
Content Marketing ROI Calculator
Open the Content Marketing ROI calculator →
monthlyCost = piecesPerMonth × costPerPiece + toolCostliveSessions(m) = Σ_{k<m} piecesPerMonth × sessionsPerPiece × ramp(m−k) × scenariorevenue(m) = liveSessions(m) × leadRate% × closeRate% × customerValue × margin%netGain(M) = Σ revenue(1..M) − Σ monthlyCost(1..M)ROI% = netGain(12) / Σ monthlyCost(1..12) × 100
- Each monthly cohort of content ramps independently from when it is published; sessions per piece is the mature (full-ramp) level. Year-1 customer value is credited as monthly gross margin (value × margin ÷ 12) in the months a customer is active within the 12-month window.
Marketing Automation ROI Calculator
Open the Marketing Automation ROI calculator →
timeSavings = marketers × hoursSaved/week × 4.33 × hourlyCostincrCustomers = leads × leadToCustomer% × (convUplift% × scenario)monthlyGain = timeSavings + incrCustomers × dealValue × margin%netGain(M) = (monthlyGain − platformCost) × M − setupROI% = netGain(12) / (platformCost × 12 + setup) × 100
Customer Experience ROI Calculator
Open the Customer Experience ROI calculator →
savedCustomers = activeCustomers × churn% × (churnReduction% × scenario)retentionGain = savedCustomers × ARPU × retainedMonths × margin%deflectionSavings = tickets × deflection% × costPerTicketmonthlyGain = retentionGain + deflectionSavingsROI% = (monthlyGain − programCost) / programCost × 100
- Each saved customer is credited their lifetime value (ARPU × retained months) once, in the month saved (see methodology).
Website ROI Calculator
Open the Website ROI calculator →
added conversions/mo = visitors × currentConv% × (uplift% × scenario)added margin/mo = added conversions × order value × grossMargin%net gain(M) = (added margin − upkeep) × M − project costROI% = net gain(12) / (project cost + upkeep × 12) × 100payback = first month cumulative net gain ≥ 0
- The conversion uplift is applied from month one (no ramp); for a phased rollout, lower the uplift or model it in stages.
Ecommerce ROI Calculator
Open the Ecommerce ROI calculator →
kept revenue per order = order value × (1 − returns%)contribution per order = kept revenue × grossMargin% − kept revenue × fees% − fulfilment per ordereffect(M) = scenario × ramp(M, lag, rampMonths)orders(M) = sessions × (1 + sessionUplift% × effect) × orderRate% × (1 + orderRateUplift% × effect)incremental orders(M) = orders(M) − sessions × orderRate%net(M) = incremental orders(M) × contribution per order − monthly investmentnet gain(12) = Σ net(M) for M = 1..12 − one-off costROI% = net gain(12) / (one-off cost + monthly investment × 12) × 100break-even orders / month = monthly investment / contribution per order
- The two uplifts compound: a 25% session lift on top of a 15% order-rate lift produces 44% more orders, not 40%. That is how a store actually behaves, but it also means the aggressive scenario moves faster than the inputs read.
- Returns are modelled as a share of order value that never becomes revenue, and the goods are assumed not to be resold. If your returned stock goes back on the shelf, the model understates the contribution — lower the returns rate to compensate.
- Customers are counted once, at the order that the investment produced. Repeat purchases, subscriptions and lifetime value are outside this model; for a retention-driven store, pair the result with the LTV and churn calculators rather than raising the uplift.
HubSpot ROI Calculator
Open the HubSpot ROI calculator →
time savings/mo = users × hours saved/wk × 4.33 × hourly costextra customers/mo = leads × baseRate% × (uplift% × scenario)revenue uplift/mo = extra customers × deal value × margin%net gain(M) = (time savings + revenue uplift − subscription) × M − onboardingROI% = net gain(12) / (subscription × 12 + onboarding) × 100
- Independent estimate — not affiliated with or endorsed by HubSpot. Defaults are illustrative; enter your own plan cost and metrics.
Break-Even Calculator
Open the Break-Even calculator →
contribution margin per unit = price − variable costcontribution margin ratio % = contribution margin / price × 100break-even units = fixed costs / contribution margin per unitbreak-even revenue = break-even units × priceunits for target profit = (fixed costs + target profit) / contribution marginmargin of safety % = (expected units − break-even units) / expected units × 100profit at expected volume = expected units × contribution margin − fixed costs
- A single product (or one average unit) is assumed: one price and one variable cost. Fixed costs are treated as constant across the volume range, which holds inside a normal operating range but not across a step change such as a second production line.
- If the contribution margin per unit is zero or negative, there is no break-even point at any volume and the unit figures show “—”.
Contribution Margin Calculator
Open the Contribution Margin calculator →
variable cost per unit = material cost + other variable cost + net price × commission%contribution margin per unit = net price − variable cost per unitcontribution margin ratio % = contribution margin per unit / net price × 100total contribution margin (stage 1) = contribution margin per unit × units per monthcontribution margin after product fixed costs (stage 2) = stage 1 − product-specific fixed costsunits to cover product fixed costs = product-specific fixed costs / contribution margin per unitprice floor = (material cost + other variable cost + product-specific fixed costs / units) / (1 − commission%)
- This is a two-stage contribution margin, not a full-cost calculation. Company overhead — rent, administration, management, anything not caused by this one product — is deliberately excluded, so the stage-2 figure is what the product contributes towards overhead and profit, not the profit it makes.
- One average unit is assumed: a single net price and a single variable cost. For a product family with different prices, run each variant separately rather than averaging, because the contribution margin ratio of a mix is not the average of its members’ ratios.
- Sales commission is treated as a percentage of the net selling price. If yours is paid on the gross price or on the margin itself, convert it to a share of the net price before entering it.
ROAS Calculator
ROAS = revenue from ads / ad spendbreak-even ROAS = 1 / gross margin%POAS = (revenue × gross margin%) / ad spendgross profit after ad spend & fees = revenue × gross margin% − ad spend − agency/tool feeACoS % = ad spend / revenue × 100CPA = (ad spend + agency/tool fee) / conversions · AOV = revenue / conversionsROAS incl. fees = revenue / (ad spend + agency/tool fee)
- ROAS uses the revenue your reporting attributes to the ads. It ignores organic and repeat sales, returns and refunds, and anything the customer buys later — so it measures the campaign, not the customer.
- Break-even ROAS is derived from gross margin, so it is the point where the campaign covers product cost plus ad cost. It does not cover overheads; to include them, lower the gross margin input or add them to the agency/tool fee.
CAC Calculator
blended CAC = (sales + marketing spend) / new customersfully-loaded CAC = (spend + salaries + tools) / new customersCAC payback = CAC / (ARPA × margin%)
Churn Rate Calculator
Open the Churn Rate calculator →
churned = start + new − end · customerChurn% = churned / start × 100monthlyRate = 1 − (1 − periodRate)^(1/n) (n = 1/3/12)annualized% = (1 − (1 − monthlyRate)^12) × 100gross MRR churn% = (churned + downgrade) / startMRR × 100net MRR churn% = (churned + downgrade − expansion) / startMRR × 100avg lifetime = 1 / monthlyRate (months)
LTV & LTV:CAC Ratio Calculator
Open the LTV & LTV:CAC calculator →
avg lifetime (months) = 1 / monthly churn%LTV (gross-margin) = ARPA × gross margin% / monthly churn%LTV (revenue) = ARPA / monthly churn%LTV : CAC = LTV (gross-margin) / CACCAC payback = CAC / (ARPA × gross margin%) (months)health band: ≈3:1 healthy · <1:1 loss-making · >5:1 possibly under-investing
- LTV uses a constant monthly churn and constant ARPA — it does not model expansion revenue, cohort decay or a discount rate. It is the standard "1 / churn" lifetime approximation; treat it as a planning figure, not a DCF.
- The margin-adjusted LTV (ARPA × margin ÷ churn) is the figure used for the LTV:CAC ratio, because CAC is a real cash cost and should be compared against gross-margin dollars, not gross revenue.
LTV:CAC Ratio Calculator
Open the LTV:CAC Ratio calculator →
LTV : CAC = LTV / CACmax CAC at target = LTV / target ratioLTV needed at today’s CAC = CAC × target ratioCAC headroom = max CAC at target − CACdistance to target % = (LTV:CAC / target ratio − 1) × 100gross profit per customer after CAC = LTV − CACCAC payback = CAC / (ARPA × gross margin%) (months)return per unit of CAC = (LTV − CAC) / CAC
- The ratio is only as good as the LTV you feed it. Use a gross-margin LTV, not a revenue LTV: CAC is real cash, so it should be compared against margin dollars. A revenue LTV will flatter the ratio by roughly one divided by your gross margin.
- The 3:1 convention is a planning heuristic, not a law. It came out of SaaS operating practice and assumes a subscription business with a long, fairly stable retention curve; it says nothing about a business whose customers pay once, and it ignores how long the payback takes — which is why CAC payback is shown alongside it.
- Nothing here is discounted for time. A ratio of 3:1 earned over eighteen months and one earned over five years look identical in this calculator; read the CAC payback figure next to it before treating them as the same.
Default values & benchmark policy
Assumption fields ship with demonstration defaults that produce a realistic example — they are not claimed industry averages. Each is marked “Demo default — adjust to your data” until we attach a cited public source, at which point it shows the source and year. We do not publish fabricated benchmark statistics.
Benchmark dataset version: 2026-09-06
Every assumption default and its status
One row per assumption field the calculators ship with, and the value it ships with.
Status is placeholder while the field carries a demonstration
default, and cited once a public source is attached — a cited row shows that
source and its year, and the calculator label changes from “Demo default — adjust to your
data” to the source. The rows are generated from the calculators’ own field definitions —
the same objects that render the inputs — so a field cannot ship without appearing here.
| Calculator | Field | Default | Status | Source | Year |
|---|---|---|---|---|---|
cac | Gross margingrossMarginPct | 80% | placeholder | — | — |
content-marketing | Lead → customer ratecloseRatePct | 10% | placeholder | — | — |
content-marketing | Gross margingrossMarginPct | 75% | placeholder | — | — |
content-marketing | Session → lead rateleadRatePct | 2% | placeholder | — | — |
crm | Gross margingrossMarginPct | 60% | placeholder | — | — |
crm | Rep hourly costhourlyCost | $40 | placeholder | — | — |
crm | Hours saved per rep / weekhoursSavedPerRepWeek | 4 | placeholder | — | — |
crm | Win-rate uplift from CRMwinUpliftRelPct | 5% | placeholder | — | — |
customer-experience | Avg retained months (saved customer)avgRetainedMonths | 12 | placeholder | — | — |
customer-experience | Current monthly churnbaseChurnMonthlyPct | 3% | placeholder | — | — |
customer-experience | Churn reduction from CX programchurnReductionRelPct | 10% | placeholder | — | — |
customer-experience | Cost per ticketcostPerTicket | $6 | placeholder | — | — |
customer-experience | Tickets deflecteddeflectionPct | 15% | placeholder | — | — |
customer-experience | Gross margingrossMarginPct | 80% | placeholder | — | — |
ecommerce-roi | Product gross margingrossMarginPct | 55% | placeholder | — | — |
ecommerce-roi | Returns & refunds ratereturnsRatePct | 8% | placeholder | — | — |
enterprise-seo | Equivalent ad CPCavgCpc | $4.50 | placeholder | — | — |
enterprise-seo | Lead → customer ratecloseRatePct | 15% | placeholder | — | — |
enterprise-seo | Gross margingrossMarginPct | 75% | placeholder | — | — |
enterprise-seo | Session → lead rateleadRatePct | 1.5% | placeholder | — | — |
hubspot-roi | Base lead-to-customer ratebaseLeadToCustomerPct | 8% | placeholder | — | — |
hubspot-roi | Gross margingrossMarginPct | 70% | placeholder | — | — |
hubspot-roi | Loaded hourly costhourlyCost | $45 | placeholder | — | — |
hubspot-roi | Hours saved per user / weekhoursSavedPerUserWeek | 3 | placeholder | — | — |
ltv | Gross margingrossMarginPct | 80% | placeholder | — | — |
ltv | Monthly customer churnmonthlyChurnPct | 2.5% | placeholder | — | — |
ltv-cac | Gross margingrossMarginPct | 80% | placeholder | — | — |
marketing | Gross margingrossMarginPct | 70% | placeholder | — | — |
marketing | Lead → customer rateleadToCustomerPct | 10% | placeholder | — | — |
marketing-automation | Conversion uplift from automationconvUpliftRelPct | 10% | placeholder | — | — |
marketing-automation | Gross margingrossMarginPct | 70% | placeholder | — | — |
marketing-automation | Marketer hourly costhourlyCost | $45 | placeholder | — | — |
marketing-automation | Hours saved per person / weekhoursSavedPerWeek | 6 | placeholder | — | — |
marketing-automation | Baseline lead → customer rateleadToCustomerPct | 8% | placeholder | — | — |
roas | Gross margingrossMarginPct | 60% | placeholder | — | — |
seo | Visitor → customer rateconvRatePct | 2% | placeholder | — | — |
seo | Gross margingrossMarginPct | 70% | placeholder | — | — |
website-roi | Gross margingrossMarginPct | 70% | placeholder | — | — |
0 of 38 assumption fields carry a cited public source; the rest are demonstration defaults.
Changelog
- 2026-06-12 — Initial release: 13 calculators, formulas published, all assumption defaults marked as demo defaults pending citation.
- 2026-09-04 — Added the break-even and ROAS calculators (15 in total). Both are exact identities; the ROAS gross-margin field is a demo default like every other assumption field.
- 2026-09-06 — Added the contribution margin, ecommerce ROI and LTV:CAC ratio calculators (18 in total). Contribution margin and LTV:CAC are exact identities; ecommerce ROI is a projection with a lag and ramp-up, and its gross margin and returns rate are demo defaults like every other assumption field.
- 2026-09-06 — Published the table above: every assumption field, its shipped default and its citation status. Building it exposed six fields (website ROI, HubSpot ROI and ROAS) that had never been entered in the benchmark dataset; they are now listed, as the demonstration defaults they always were. The table is now built from the calculators’ field definitions rather than the dataset, so a missing entry can no longer hide a field.