1. Scope
The CLV Calculator estimates the total gross profit a business can expect from an average customer relationship. It supports two modes: a subscription model (ARPU / churn) and a transactional model (purchase frequency × AOV × customer lifespan × margin). It does not perform cohort-level CLV from raw purchase logs, and it does not implement Pareto/NBD or BG/NBD probabilistic CLV models.
2. Inputs and outputs
Subscription inputs: ARPU, gross margin, monthly churn rate, optional discount rate for DCF-style NPV.
Transactional inputs: average order value, purchase frequency per year, retention rate, gross margin, optional customer lifespan override.
Outputs: CLV (gross profit form), CLV:CAC ratio when a CAC is supplied, implied average customer lifespan in months, and an NPV variant when the discount rate is enabled.
Engine source: src/lib/customer-lifetime-value-calculator/engine.ts.
3. Formula / scoring logic
# Subscription — memoryless churn, gross-profit form
CLV = (ARPU * gross_margin) / monthly_churn
# Transactional — classic Reichheld / Dwyer form
customer_lifespan_years = 1 / (1 - annual_retention_rate)
CLV = purchase_frequency * AOV * gross_margin * customer_lifespan_years
# NPV variant (when discount rate r is provided)
CLV_npv = sum_{t=1..T} (monthly_gross_profit / (1 + r)^t)
4. Assumptions
- Memoryless churn (subscription mode). The probability of churn in any given month is constant. Real retention curves often follow a declining hazard — the first 30 days see the highest drop-off.
- Gross margin is variable-cost margin. Include inference, hosting, payment-processing, fulfilment. Exclude fixed overhead.
- Transactional lifespan is 1 / (1 − retention rate). Equivalent to the geometric-series expected value of a memoryless retention process.
- No expansion revenue. Upsells, cross-sells, and price-tier migrations would need to be bundled into ARPU at period-weighted average.
- No seasonality. Q4-heavy retailers will under-estimate CLV for an average customer whose first purchase falls in Q1.
5. Data sources
Churn rate sources used as contextual reference (not baked into the formula):
- OpenView SaaS Benchmarks 2024 — gross and net churn by stage.
- Paddle SaaS Benchmarks 2024 — B2B vs B2C churn medians.
- SaaS Capital Annual Survey — retention norms for bootstrapped SaaS.
Probabilistic CLV model references (for readers who need cohort-level CLV):
- Schmittlein, Morrison, Colombo — Counting Your Customers: Who Are They and What Will They Do Next? Management Science, 1987 (Pareto/NBD).
- Fader, Hardie, Lee — "Counting Your Customers" the Easy Way: An Alternative to the Pareto/NBD Model, Marketing Science, 2005 (BG/NBD).
6. Known limitations
- Aggregate, not cohort-level. The formulas treat all customers as equivalent. For a business with heterogeneous cohorts (different channels, tiers, regions), aggregate CLV misleads — compute per-cohort CLV from timestamped data.
- Memoryless assumption is wrong at the edges. Retention curves are typically steep in the first 30 days and flatten afterward. The aggregate CLV under-states the sticky tail.
- No customer-heterogeneity modelling. Probabilistic CLV (Pareto/NBD, BG/NBD) accommodates heterogeneous purchase rates and drop-out — out of scope here.
- The Reichheld "5% retention lift = 25–95% profit boost" claim is context-dependent. It applies to businesses where retention is a major profit driver and cost-to-serve declines with tenure. We do not use it as a benchmark.
7. Reproducibility
Input (subscription)
ARPU = $30/mo, gross_margin = 80%, monthly_churn = 5%.
Expected output
CLV = $480 (= $30 × 0.80 / 0.05). Implied average lifespan = 20 months.
Input (transactional)
AOV = $100, frequency = 4 purchases/year, annual_retention = 60%, gross_margin = 30%.
Expected output
customer_lifespan = 2.5 years; CLV = $300.
8. Change log
- 2026-04-24methodology page first published. Subscription and transactional modes documented with limits.