Unit Economics

How to Calculate LTV for B2B SaaS: Formulas, Benchmarks, and Stripe Data

LTV tells you how much a customer is worth over their lifetime with your business. It is the foundation of every unit economics conversation — but most SaaS LTV calculations use the wrong formula, ignore gross margin, and produce numbers that look good but do not reflect economic reality.

Your LTV is $12,000. Your CAC is $3,000. LTV:CAC of 4:1. Looks healthy.

But which LTV formula did you use? Did you adjust for gross margin? Did you account for expansion revenue? Did you use your blended churn rate or separate voluntary from involuntary? Did you use monthly churn or annual churn — and did you compound it correctly?

These questions matter because different formulas applied to the same data can produce LTV numbers ranging from $6,000 to $24,000. The right formula depends on what decision you are making, what your business model looks like, and what level of sophistication your data supports.

This guide walks through four LTV formulas from simplest to most accurate, explains when to use each, shows how to calculate LTV from Stripe data, and covers the most common mistakes that make LTV calculations misleading.

What LTV Actually Measures

Customer Lifetime Value (LTV, also written CLV or CLTV) is the total gross profit a business expects to generate from a customer over the entire duration of their relationship.

Three words in that definition deserve attention:

  • Total — LTV accumulates over the entire customer relationship, not just the first year or first contract.
  • Gross profit — LTV should be measured on profit, not revenue. A customer paying $200/month at 60% gross margin generates $120/month of actual value, not $200.
  • Expects — LTV is always a projection based on assumptions about churn, expansion, and margin. It is not a known fact. The accuracy of LTV depends entirely on the quality of these assumptions.

LTV is most useful as a comparative tool and decision input. It answers questions like: how much can we afford to spend to acquire a customer? Which customer segments generate the most long-term value? Is our pricing efficient relative to the value we create?

Four LTV Formulas: Simple to Sophisticated

There is no single correct LTV formula. The right formula depends on your data quality, business model, and the decision you are making. Here are four versions in increasing order of accuracy.

Formula 1: Basic LTV (revenue-based)

LTV = average MRR per customer ÷ monthly churn rate

This is the most commonly cited formula. It is fast to calculate and directionally useful, but it overstates LTV because it uses revenue rather than profit. Use this for quick benchmarking only.

Formula 2: Gross-margin-adjusted LTV

LTV = (average MRR per customer × gross margin %) ÷ monthly churn rate

This is the minimum standard for any serious LTV calculation. It measures profit generated, not revenue collected. For a SaaS business with 80% gross margin, this produces an LTV 20% lower than the basic formula — which is the correct, honest number.

Formula 3: NRR-adjusted LTV (expansion included)

LTV = (average MRR per customer × gross margin %) ÷ (monthly churn rate − monthly expansion rate)

If your customers expand their spend over time — through upsells, seat additions, or usage growth — ignoring expansion understates LTV. This formula accounts for net revenue dynamics. Monthly expansion rate here is the percentage by which existing customer MRR grows per month due to upgrades. If churn rate equals expansion rate, customer lifetime is effectively infinite.

Note: if expansion rate exceeds churn rate, this formula produces a negative denominator and breaks down — in that case use cohort-based LTV instead.

Formula 4: Cohort-based historical LTV

LTV = actual total revenue collected from a defined cohort ÷ customers in that cohort

Instead of projecting LTV from a formula, this measures what you actually collected from a past cohort of customers over their entire observed lifetime. This is the most accurate LTV calculation because it uses real data rather than assumptions — but it requires having complete cohort histories, which means it can only be calculated for cohorts old enough to have churned at significant rates.

Cohort-based LTV is the gold standard for investor reporting and strategic planning when the data is available.

Worked Example: Same Data, Four Numbers

A SaaS business with the following metrics:

  • Average MRR per customer: $200
  • Monthly churn rate: 2%
  • Gross margin: 78%
  • Monthly expansion rate: 0.5%
Formula Calculation LTV
Basic (revenue)$200 ÷ 0.02$10,000
Gross margin adjusted($200 × 0.78) ÷ 0.02$7,800
NRR adjusted($200 × 0.78) ÷ (0.02 − 0.005)$10,400
Cohort-based (actual)Measured from data$8,900 (hypothetical)

The range — $7,800 to $10,400 — represents a 33% spread from the same underlying business using different formulas. Reporting $10,000 to an investor when the gross-margin-adjusted number is $7,800 is a material misrepresentation. The cohort-based number ($8,900 in this hypothetical) is typically between the basic and margin-adjusted versions because the formula-based approach assumes constant churn, while real cohorts show higher early churn followed by stabilization.

Your Stripe data has everything needed for LTV calculation.

Dnoise calculates LTV from actual cohort payment history — not formula projections. Connect your Stripe account and see historical LTV by acquisition month, plan, and segment in under 2 minutes.

See how it works LTV in Metrics Library →

LTV:CAC Ratio and Benchmarks

LTV in isolation is not very informative. What matters is LTV relative to the cost of acquiring a customer — the LTV:CAC ratio.

LTV:CAC ratio = LTV ÷ CAC
LTV:CAC ratio Interpretation
Below 1:1Losing money on every customer. Business model is uneconomic.
1:1 to 3:1Marginally profitable but capital-inefficient. Needs improvement.
3:1 to 5:1Healthy. The industry benchmark for sustainable SaaS growth.
Above 5:1Excellent. May indicate opportunity to invest more aggressively in acquisition.

The 3:1 benchmark is the most widely cited in SaaS because it accounts for CAC recovery time, gross margin, and the cost of capital. A 3:1 ratio means that for every dollar spent on acquisition, the business generates three dollars of gross profit over customer lifetime — enough to cover CAC, operating costs, and generate meaningful returns.

Very high LTV:CAC ratios (above 8:1) sometimes indicate under-investment in acquisition — the business could be growing faster by spending more on sales and marketing while maintaining a healthy ratio.

See the LTV:CAC ratio definition in the Metrics Library and the complete CAC payback period guide for the full unit economics picture.

How Churn Destroys LTV

Churn is the most powerful variable in any LTV calculation. Because LTV = MRR ÷ churn rate, LTV is inversely proportional to churn: halving your churn rate doubles your LTV.

Monthly churn Customer lifetime LTV at $200 MRR (basic) LTV at $200 MRR (78% margin)
0.5%200 months$40,000$31,200
1.0%100 months$20,000$15,600
2.0%50 months$10,000$7,800
3.0%33 months$6,667$5,200
5.0%20 months$4,000$3,120

The same $200/month product has LTV ranging from $3,120 to $31,200 depending solely on churn rate. This 10x difference explains why retention is the highest-leverage activity in SaaS — a 1 percentage point reduction in monthly churn creates more LTV than almost any product or pricing change.

A critical distinction: involuntary churn from payment failures artificially reduces your observed LTV even when customers intended to stay. Based on revenue patterns in Stripe billing data, involuntary churn typically reduces realized LTV by 8–15% compared to what it would be with perfect payment recovery. This recoverable LTV gap is exactly what a dunning system addresses. See the complete Stripe failed payment recovery guide and churn rate benchmarks.

Calculating LTV from Stripe Data

Stripe contains most of the data needed for LTV calculation. The main inputs — MRR per customer, churn events, and expansion events — are all available through the API or in exported billing data.

Method 1: Formula-based LTV from Stripe metrics

Step 1: Calculate average MRR per customer. Divide total MRR (from active subscriptions) by the number of active customers.

Step 2: Calculate monthly churn rate. For a trailing 3-month period, sum the MRR of all subscriptions that were cancelled. Divide by starting MRR for the same period. Average across the 3 months. This gives you a smoothed monthly revenue churn rate. Separate voluntary churn from involuntary by checking whether cancellations were preceded by past_due or unpaid status.

Step 3: Apply the formula.

LTV = (average MRR per customer × gross margin %) ÷ monthly churn rate

Method 2: Cohort-based LTV from Stripe history

Step 1: Define cohorts. Group customers by their first subscription start month.

Step 2: Track cumulative payments per cohort customer. For each cohort, sum all successful charges per customer from subscription start to either subscription cancellation or the current date.

Step 3: Calculate average. Divide total revenue collected from the cohort by the number of customers who started in that cohort.

Step 4: Adjust for incomplete cohorts. For recent cohorts that have not yet fully churned, the observed cohort LTV understates eventual LTV. Apply a survival curve from older cohorts to project what the final LTV will be.

Cohort LTV analysis requires months of billing history cleanly organized.

Dnoise does this automatically — cohort revenue curves, survival rates, and LTV projections by acquisition month, plan, and segment. Every number traced to source Stripe events.

See Dnoise in action Connect Stripe — free

Common LTV Calculation Mistakes

  • Using revenue instead of gross profit. The most common mistake. LTV should be based on gross margin contribution, not top-line revenue. A $200/month customer at 75% gross margin generates $150/month of actual profit.
  • Using a single blended churn rate. Churn varies dramatically across customer segments, plan tiers, and acquisition cohorts. A blended churn rate produces a blended LTV that understates value for low-churn segments and overstates it for high-churn segments. Calculate LTV by segment.
  • Ignoring involuntary churn. If your churn rate includes payment-failure cancellations, your LTV is understated because some of those customers would have stayed with a proper dunning system. Report LTV on voluntary churn only and note what it would be if all involuntary churn were recovered.
  • Using annual churn instead of monthly churn without adjusting. LTV = MRR ÷ monthly churn. If you use annual churn, you must divide by 12 first: LTV = MRR ÷ (annual churn ÷ 12). Using annual churn directly in the formula inflates LTV by 12x.
  • Not capping LTV at a reasonable horizon. The basic formula assumes customers could theoretically stay forever. In practice, few customers stay more than 5–7 years. Some analysts cap LTV at a 5-year horizon to avoid unrealistically large projections, especially for young businesses without long customer histories.
  • Including non-subscription revenue in MRR. One-time charges, setup fees, and professional services should not be included in the MRR used for LTV calculations. LTV measures the value of the recurring subscription relationship, not total contract value.

What Dnoise Shows You

Dnoise calculates LTV from actual Stripe payment history using cohort-based methodology — measuring what customers have actually paid rather than projecting from formula assumptions.

  • Cohort-based historical LTV. For each acquisition cohort, Dnoise tracks cumulative revenue per customer from subscription start through today (or through cancellation). This produces real LTV curves rather than formula projections.
  • LTV by segment. LTV is calculated separately for each plan tier, giving you accurate per-segment unit economics rather than a misleading blend.
  • Voluntary vs involuntary LTV. Dnoise separates voluntary churn from involuntary payment-failure churn. You can see both your observed LTV and your adjusted LTV as if all involuntary churn had been recovered — showing the recoverable LTV gap.
  • LTV:CAC tracking. When you enter your CAC data, Dnoise calculates LTV:CAC ratio per cohort and tracks how it trends over time — whether unit economics are improving or deteriorating as you scale.

See also: LTV definition in the Metrics Library, CAC definition, LTV:CAC ratio, NRR guide, and churn benchmarks.

See your real LTV by cohort in minutes.

Connect Stripe and Dnoise shows actual LTV curves by acquisition month, plan, and segment — with voluntary and involuntary churn separated.

See live demo Connect Stripe — free

Summary

LTV is the foundation of SaaS unit economics — but only if calculated correctly. The most common mistakes produce numbers that look good but do not reflect economic reality.

  • Always use gross-margin-adjusted LTV. Revenue-based LTV overstates customer value.
  • Four formulas: basic (quick), gross-margin-adjusted (standard), NRR-adjusted (expansion included), cohort-based (most accurate).
  • Healthy LTV:CAC is 3:1 or higher. Below 1:1 is fundamentally uneconomic.
  • Churn is the most powerful LTV driver — halving churn doubles LTV.
  • Involuntary churn from payment failures reduces observed LTV below its true potential. Recovering it through a dunning system is the fastest LTV improvement available.
  • Calculate LTV by segment, not just as a blended average.

Frequently Asked Questions

What is a good LTV for SaaS?

LTV is only meaningful relative to CAC. A good LTV:CAC ratio is 3:1 or higher. For absolute LTV values, it depends on your price point and churn — a $200/month product with 2% monthly churn has LTV of approximately $7,800 (gross-margin-adjusted at 78%), while a $500/month product with the same churn has LTV of approximately $19,500. The key question is always whether LTV is at least 3x your CAC, regardless of the absolute dollar amount.

What is the LTV formula for SaaS?

The standard gross-margin-adjusted formula: LTV = (average MRR per customer × gross margin %) ÷ monthly churn rate. For example: $200 average MRR, 78% gross margin, 2% monthly churn = ($200 × 0.78) ÷ 0.02 = $7,800. If customers expand their spend over time, use the NRR-adjusted version: LTV = (MRR × gross margin) ÷ (churn rate − expansion rate). The most accurate method is cohort-based: measure what past cohorts actually paid over their full lifetime. See the full breakdown in the Metrics Library.

How does churn affect LTV?

Churn is the most powerful driver of LTV because it determines customer lifetime. LTV is inversely proportional to churn — halving your churn rate doubles LTV. At 1% monthly churn, a $200/month customer (78% margin) has LTV of $15,600. At 2% monthly churn, LTV drops to $7,800. At 5% monthly churn, it falls to $3,120. Involuntary churn from payment failures artificially reduces LTV — recovering failed payments through a dunning system directly increases realized LTV.

What is the difference between LTV and LTV:CAC ratio?

LTV is the absolute gross profit a customer generates over their lifetime. LTV:CAC is the ratio of that value to acquisition cost. LTV alone is not very useful — a $10,000 LTV is excellent if CAC is $1,000 but poor if CAC is $9,000. The ratio is what matters for unit economics evaluation. The industry benchmark is 3:1 or higher. See the CAC payback period guide for the cash flow perspective on acquisition efficiency.

How do you calculate LTV from Stripe data?

Two methods: formula-based and cohort-based. Formula method: calculate average MRR per customer from active subscriptions, calculate trailing 3-month average monthly churn rate from cancellation events, multiply MRR by gross margin and divide by churn rate. Cohort method: group customers by first subscription month, sum all charges per customer from start through cancellation, divide by cohort size. The cohort method is more accurate but requires sufficient billing history. Separate voluntary churn from involuntary payment-failure churn before calculating churn rate.