Customer lifetime value (LTV or CLV) estimates the gross profit a customer brings over the whole time they stay. A common formula for subscriptions is average monthly revenue per customer × gross margin ÷ monthly churn rate.
LTV = ARPU × Gross margin ÷ Monthly churn rate
On the sample data below, six months come to ₹1,856.
Why it matters
LTV tells you how much you can afford to spend to acquire a customer. Without it, there is no way to know whether a CAC is high or low.
Worked example
The table shows the columns this metric needs from six months of a made-up subscription brand. Add each column up over the six months, then put the totals into the formula:
| Month | Revenue (net of discounts) | Cost of goods sold | Subscribers at start of month | Subscribers who cancelled | Subscribers at end of month | MRR at end of month |
|---|---|---|---|---|---|---|
| 2026-01 | ₹4,12,000 | ₹2,26,600 | 800 | 40 | 880 | ₹1,95,500 |
| 2026-02 | ₹4,38,500 | ₹2,36,800 | 880 | 44 | 971 | ₹2,12,900 |
| 2026-03 | ₹4,71,200 | ₹2,59,200 | 971 | 52 | 1,069 | ₹2,30,000 |
| 2026-04 | ₹4,55,800 | ₹2,55,200 | 1,069 | 61 | 1,136 | ₹2,41,400 |
| 2026-05 | ₹5,02,300 | ₹2,71,200 | 1,136 | 57 | 1,239 | ₹2,60,400 |
| 2026-06 | ₹5,48,900 | ₹2,90,900 | 1,239 | 66 | 1,348 | ₹2,80,600 |
| Total | ₹28,28,700 | ₹15,39,900 | 6,095 | 320 | 6,643 | ₹14,20,800 |
₹14,20,800 ÷ 6,643 × (₹28,28,700 − ₹15,39,900) ÷ ₹28,28,700 ÷ (320 ÷ 6,095) = ₹1,856
Add up first, then divide. Averaging the six monthly figures gives a slightly different answer, because it counts a small month the same as a large one.
Month by month
| Month | Customer lifetime value |
|---|---|
| 2026-01 | ₹1,999 |
| 2026-02 | ₹2,017 |
| 2026-03 | ₹1,808 |
| 2026-04 | ₹1,639 |
| 2026-05 | ₹1,927 |
| 2026-06 | ₹1,837 |
LTV calculator
How to read it
This formula assumes churn stays constant, which is rarely true; customers who stay a year tend to stay longer. Check it against real cohort data once you have a year of history.
Common mistakes
- Use gross profit, not revenue. LTV in revenue terms overstates what you can spend on acquisition.
- Small changes in churn swing LTV a lot because churn is in the denominator. Treat the figure as a range.
- For non-subscription brands, use average order value × purchase frequency × expected years × gross margin instead.
Calculate customer lifetime value in Excel, SQL or Python
The quickest version, for the sample sheet laid out as in the CSV (headers in row 1, months in rows 2 to 7):
=SUM(AF2:AF7) / SUM(Z2:Z7) * (SUM(B2:B7) - SUM(C2:C7)) / SUM(B2:B7) / (SUM(Y2:Y7) / SUM(X2:X7))- Customer lifetime value in Excel and Google Sheets — per-month formula and zero-safe version
- Customer lifetime value in SQL — query by month and for the period
- Customer lifetime value in Python (pandas) — pandas script with expected output
Related metrics
- LTV to CAC ratio (LTV:CAC)
- Customer acquisition cost (CAC)
- Average revenue per user (ARPU)
- Customer churn rate
- CAC payback period
See all business metrics, or the statistics methods that sit behind them.
Questions people ask
- What is customer lifetime value?
- Customer lifetime value (LTV or CLV) estimates the gross profit a customer brings over the whole time they stay. A common formula for subscriptions is average monthly revenue per customer × gross margin ÷ monthly churn rate.
- How do you calculate customer lifetime value?
- LTV = ARPU × Gross margin ÷ Monthly churn rate. For example, with six months of sample data: ₹14,20,800 ÷ 6,643 × (₹28,28,700 − ₹15,39,900) ÷ ₹28,28,700 ÷ (320 ÷ 6,095) = ₹1,856.
- What is the LTV formula in Excel?
- With the sample data laid out as in the downloadable CSV, =SUM(AF2:AF7) / SUM(Z2:Z7) * (SUM(B2:B7) - SUM(C2:C7)) / SUM(B2:B7) / (SUM(Y2:Y7) / SUM(X2:X7)) gives the figure for the whole period. For one month, use =AF2 / Z2 * (B2 - C2) / B2 / (Y2 / X2) and fill it down.
- What is a good customer lifetime value?
- There is no figure that is right for every business: it depends on your products, prices and channels. This formula assumes churn stays constant, which is rarely true; customers who stay a year tend to stay longer. Check it against real cohort data once you have a year of history.
Check how stable it is
A metric moves for ordinary reasons as well as real ones. These methods separate the two: the spread shows what a normal month looks like, the moving average smooths it, the z-score flags a month that is out of line and the trend line shows the direction.
Guides
About the data on this page
The figures come from a small made-up dataset, printed above in full so you can check every number by hand. Download it as monthly.csv. The results are computed from those rows when the page is built, and the Excel formulas, SQL and Python on these pages are run against the same rows before publishing, so the code and the answers agree.
To get these numbers from your own data without writing formulas, try AnalyzeIt: ask in plain words and it shows the working behind every figure.
Legal entity
Devansh Yadav
Moradabad, Uttar Pradesh
Governing law: Courts at Moradabad, Uttar Pradesh
Phone: +91 8433475698
Legal: legal@analyzeit.in