Skip to main content
aibizhub
Hand-written methodology As of 2026-04-24

How Unit Economics Calculator works

What the tool assumes, what data it pulls from, and what it cannot tell you.

Education · General business information, not legal, tax, or financial advice. Editorial standards Sponsor disclosure Corrections

1. Scope

The Unit Economics Calculator turns monthly ARPU, gross margin, average customer lifespan, monthly churn, and CAC into the core per-customer ratios: lifetime value (LTV), CAC payback, and the LTV:CAC ratio. LTV is built from the average lifespan you enter directly; the churn input is used only to cross-check that lifespan for consistency. It is the aggregate version of the model — cohort-level unit economics need timestamped purchase data the tool does not ingest.

2. Inputs and outputs

Inputs: monthly ARPU (average revenue per user), gross margin (%), average customer lifespan (months), monthly churn rate (%), and CAC (blended acquisition cost per paying customer). Outputs: monthly contribution (ARPU × margin), LTV, LTV:CAC ratio, CAC payback months, unit profit (LTV − CAC), the lifespan implied by churn (a consistency check), and a verdict band from fixed LTV:CAC thresholds — Unsustainable (< 1), Marginal (< 3), Healthy (< 5), Excellent (≥ 5).

Engine source: src/lib/unit-economics/engine.ts.

3. Formula / scoring logic

monthly_contribution = ARPU * (gross_margin_percent / 100)
LTV                  = monthly_contribution * avg_lifespan_months
CAC_payback          = CAC / monthly_contribution
LTV_CAC_ratio        = LTV / CAC
unit_profit          = LTV - CAC

# Consistency check only — does NOT feed LTV
implied_lifespan     = 1 / (monthly_churn_percent / 100)
# warns when implied_lifespan differs from avg_lifespan_months by > 20%

LTV here is the gross-profit form — margin included — over the lifespan you enter. A common alternative, LTV = ARPU / churn, both skips margin and forces lifespan to equal 1 / churn. This tool keeps lifespan as its own input and flags it only when it drifts from what churn implies.

4. Assumptions

  • Lifespan is a direct input. LTV multiplies monthly contribution by the average lifespan you enter. Churn is not used to compute LTV; it only triggers a warning when 1 / churn diverges from your lifespan by more than 20%. Real retention curves are often steeper early and flatter later, so a single average lifespan can under-state the sticky tail.
  • Blended ARPU and blended CAC. Cohort-level variance is hidden. A business with 80% self-serve (low CAC) and 20% sales-led (high CAC) customers needs to compute two separate unit-economics profiles.
  • Gross margin is customer-variable-cost margin. Include: inference, hosting, auth, payment-processing fees. Exclude: headquarters overhead, founder salary, general R&D.
  • No expansion revenue. If NDR > 100%, the LTV formula under-states lifetime. Use the MRR/ARR Growth Calculator with NDR input for a more accurate figure.
  • ARPU is MRR-equivalent. Usage-priced products need to be normalised to monthly.

5. Data sources

6. Known limitations

  • Small-sample instability. Fewer than ~300 customer-months of data produces a churn rate with wide confidence intervals. A 3% measured churn can be 1–6% true churn; LTV scales by 6× between those extremes.
  • Revenue-churn vs logo-churn. We use revenue-churn by default because LTV is a revenue metric. If your product has heavy seat expansion or contraction, logo and revenue churn diverge and aggregate LTV misleads.
  • The 3:1 LTV:CAC rule of thumb is lore, not law. The widely-cited target comes from David Skok's 2009 blog series. OpenView 2024 data shows bootstrapped SaaS clusters at 5:1–10:1 at the median, while venture-stage SaaS routinely accepts 1:1–2:1 during growth. Use the band appropriate to your stage and GTM motion.
  • No account for customer heterogeneity. The aggregate LTV hides the fact that 20% of customers may deliver 80% of revenue — a healthier insight for acquisition strategy than the aggregate number.

7. Reproducibility

Input
ARPU = $50, gross_margin = 80%, avg_lifespan = 25 months, monthly_churn = 4%, CAC = $150.

Expected output
monthly_contribution = $40 (= $50 × 0.80). LTV = $1,000 (= $40 × 25). CAC payback = 3.75 months (= $150 / $40). LTV:CAC ≈ 6.67×Excellent band (≥ 5). Unit profit = $850. Churn of 4% implies a 25-month lifespan, matching the input, so no consistency warning fires.

8. Change log

  • 2026-04-24methodology page first published.

Worked example

Run live against the same engine this site ships (/engines/unit-economics-calculator.js). The inputs and outputs below are recomputed on every build and independently re-verified in CI — they are never hand-authored.

Input

tool
unit_economics
cac
150
monthly_arpu
49
gross_margin_percent
75
avg_lifespan_months
24
monthly_churn_percent
3

Output

ltv
882
ltvCacRatio
5.88
cacPaybackMonths
4.08
monthlyContribution
36.75
unitProfit
732
impliedLifespanFromChurn
33.33
verdict
Excellent
verdictColor
blue
warnings[0]
Churn rate implies a lifespan of 33.3 months, but you entered 24 months. Your LTV projection may be optimistic.
assumptionsEcho.cac
150
assumptionsEcho.monthly_arpu
49
assumptionsEcho.gross_margin_percent
75
assumptionsEcho.avg_lifespan_months
24
assumptionsEcho.monthly_churn_percent
3

Frequently asked questions

What does the Unit Economics Calculator compute?
It turns monthly ARPU, gross margin, average customer lifespan (a direct input), and CAC into per-customer viability ratios: lifetime value (LTV = monthly contribution × lifespan months), CAC payback, and the LTV:CAC ratio. Monthly churn is only used to flag when the entered lifespan looks optimistic.
Does it do cohort-level analysis?
No. It is the aggregate version of the model — for cohort-level unit economics you need timestamped purchase data the tool does not ingest.
Can I verify it with a worked example?
Yes. With ARPU = $50, gross_margin = 80%, avg_lifespan = 25 months (a 4% monthly churn implies the same), CAC = $150: monthly contribution = $40, LTV = $1,000, CAC payback = 3.75 months, LTV:CAC ≈ 6.7×.