If you’re an early-stage SaaS startup, still in the process of getting to Product/Market Fit, or doing your first experiments to attract and convert leads, you shouldn’t worry too much about customer lifetime value (LTV or CLTV) and related metrics. Sooner or later, you have to develop a good understanding of your LTV, though, since your LTV determines how much you can spend on acquiring a customer. In this post, I’ll look at a few different ways to estimate LTV and will try to explain why your LTV might be higher (or lower) than you think.
The simple LTV formula
The simplest formula to calculate LTV in a subscription business is (Customer Lifetime x Gross Profit), where customer lifetime is (1 / Customer Churn Rate) and gross profit is (Average Revenue per Account (ARPA) x Gross Margin). So you get this:
The math behind the customer lifetime formula is explained here. If your customer churn rate is, say, 2% per month, your ARPA is $100 per month, and your gross margin is 80%, you get to a customer lifetime of 50 months and an LTV of $4000.
If you want to get a bit more advanced, you can replace customer churn rate with revenue churn rate, so the formula becomes (Gross Profit / Revenue Churn Rate). This way the formula factors in account expansions and contractions (e.g. due to upgrades and downgrades), which gives you a better approximation of LTV. In this formula, gross profit should be based on the ARPA of your new customers (AKA “Average Sales Price” or ASP), since account expansions are already factored in in your revenue churn rate.
These formulas are a good start, at least if you keep in mind a few basics:
- I’ve seen many LTV calculations that were based on revenue instead of gross profit. That makes no sense. Use gross profit.
- If most of your customers are on a monthly plan and some are on an annual plan (typical for SMB SaaS), don’t mix them together when you determine your churn rate. This is particularly important if you’re early and/or growing fast. In this case, the number of annual plan customers you’re adding is much larger than the number of annual plan customers coming up for renewal, so your monthly churn rate across the entire customer base is deflated by all those customers that cannot cancel ⁽¹⁾. So if you have a mix of monthly and annual plans, calculate the LTV for each of these two segments separately.
- If you have a very wide ACV range — let’s say some customers pay you around $3000 per month and others pay you around $100 a month — it doesn’t make much sense to calculate the average LTV across the entire customer base. Instead, try to estimate your LTV for each of your customer segments.
Negative churn leads to a (luxury) problem
The simple LTV formulas have serious limitations, though. One of them relates to negative churn. If your revenue churn rate is negative, first and foremost, congrats! Second, ping me if you’re pre-Series A. Third, you will have noticed that the simple (Gross Profit / Revenue Churn Rate) formula breaks down for negative revenue churn values.
The underlying issue is that with perpetual negative revenue churn, the revenue stream of a customer cohort would keep getting bigger and bigger forever, which is obviously not realistic. In his excellent article “What’s your TRUE customer lifetime value”, David Skok explains how the formula needs to be extended for negative churn values. I highly recommend reading the full article, but the TL;DR is that if you have a negative revenue churn rate of, say, 12%, you should look at it as the result of two variables:
- Customer churn of, say, 10% annually
- Growth of your remaining customers’ spend by, say, 22% of the original contract amount every year
The “trick” is to (a) assume a positive customer churn rate (which makes sense, because customer churn can’t be below zero and is almost always above zero) and (b) assume that remaining customers will increase their spending by a certain % of the original contract value. This way, revenue lost from churned customers will eventually offset account expansions from remaining customers. That solves the problem of the simple formula, where negative revenue churn meant infinite, exponential revenue growth.
David also suggests that you should apply a discount rate to future revenues, which makes sense, arguably even in the no-interest world we’re living in, since future revenues are associated with uncertainty.
Smiling cohort charts?
Another scenario in which the classical formulas can be inadequate is if churn isn’t spread linearly over the customer lifetime. In other (simpler) words, let‘s say that within the first lifetime month of a customer cohort, you lose 5% of MRR to churn; in month 2 another 5%; in month 3 another 3%; and from month 4 onwards, your churn rate drops to 1.5% per month. A high churn rate in the first months of a customer cohort can be the result of factors like poor onboarding, signing up of non-ICP customers, or customers who view the first months as an extended (paid) trial. This is not an unusual pattern in SMB SaaS.
In consumer subscription businesses, the effect tends to be even more pronounced. As Mr. Consumer Sub Nico Wittenborn pointed out here, consumer subscription companies typically lose 50–60% of their subscribers in the first year and another 10–15% in the second year. What can make these companies great businesses nonetheless is if most of the 30–35% of subscribers who “survive” the first two years remain customers for a very long time. If some of these loyal users upgrade to a more expensive plan over time (or you’re good at re-activating/winning-back customers that churned), you’ll get one of those nice smiling MRR cohort graphs.
If you look at the monthly churn rate of a business like this and use it to calculate LTV, the result can be way too low or too high depending on the size of the business, the speed at which it’s growing, and the resulting mix of older and younger cohorts. How can you estimate LTV in this case?
One quite simple option is to restrict your definition of „customer“ to include only those customers who survived the initial drop-off and calculate LTV using the post-drop-off churn rate. As a consequence, you will have fewer customers according to the new, tighter definition, but those customers have a higher LTV. Since you care much more about those customers than about the ones that leave within a few months, looking at it this way can make a lot of sense. A corollary of a tightened customer definition is that your CACs will be higher because you’ll divide your sales and marketing spend by a smaller denominator, but again, it may well be a better reflection of the reality of your business.⁽²⁾
This solution works really well if you have a steep initial drop-off during the first few months, followed by a relatively constant churn rate over the rest of the customer lifetime. If your churn rate decreases more gradually, it doesn’t work well, since it would be hard to decide where to draw the line for your restricted customer definition.
The ultimate way to estimate LTV 🙂
What you can do in this case is to take the revenue retention data of your existing cohorts, extrapolate each cohort’s future revenue development, and calculate LTV based on the NPV of the projected revenue streams:⁽³⁾
In fact, this is my favorite way of approaching LTV in almost all cases.
Here’s a Google Sheet with some sample data and a cohort-based LTV projection. I’ve recorded a Loom to explain in some more detail how the calculations work:
If you’d like to use the template, create a copy or download the sheet and replace the sample revenue retention data (first tab, rows 82–99) with your own data. If you’re a ChartMogul customer, all you have to do is go to Reports > Cohorts > Net MRR retention, select “MRR” from the “Show” dropdown, export the numbers to a CSV file, and import them into the template.
A mouse hunter, a rabbit hunter, and an elephant hunter
Let’s look at three fictional companies and the LTV estimates produced by the different approaches:
Fit.ly (data) is a mobile fitness app that charges end consumers $10 per month, making the company a mice hunter.⁽⁴⁾ Fit.ly loses lots of customers in the first lifetime months, but its churn rate stabilizes after around nine months. What’s more, over time more and more of the remaining customers upgrade to a more expensive premium plan. The result is what I’ve mentioned above, a smiling cohort MRR chart:
What you can see in Fit.ly’s KPI sheet is that if you had calculated the company’s LTV in September 2019 using the simple formula, you would have gotten $41. Nine months later, in June 2020, you would have gotten $56. Not because anything fundamentally improved in terms of retention or ARPA — it did not –, but just because of the different mix of older and newer cohorts. The cohort-based LTV forecast, on the other hand, gives you an estimate of $217, which I think is much closer to the truth. Remarkably, if you had looked at the cohort-based LTV forecast in September 2019, the model would have calculated an LTV of about $137, again much closer to the truth than the $41 produced by the simple formula.
Cario (data) is a SaaS solution for car repair shops. The company is an example of a rabbit hunter. Customers pay around $100 per month, customer churn is at 3% per month, and there’s some expansion revenue when customers subscribe for extra features.
In the case of Cario, there’s not a big difference between the simple (LTV = Gross Profit / Customer Churn Rate) formula and the cohort-based LTV forecasts. The reason is that at Cario churn happens almost linearly over the customer lifetime, and that’s exactly the scenario in which the simple formula works well. Note that the formula based on revenue churn rate produces a number that’s too high, though.⁽⁵⁾
Acmentir (data) is a business intelligence solution for enterprises (AKA elephants) with an initial ACV of $72,000. All of Acmentir’s customers are on annual plans, so there’s no churn within the first 12 months. After the initial contract period of one year, 90% of Acmentir’s customers renew. Acmentir’s customers increase their spend over time, in particular when contracts are renewed.
Acmentir’s case shows one of the limitations of the simple revenue churn rate based formula that I’ve mentioned at the beginning of this post: Since Acmentir’s revenue churn rate is negative, the formula produces a negative value LTV, which obviously doesn’t make any sense. Using the cohort-based approach, and assuming a 101.5% m/m revenue retention rate from month 18 onwards, you get an approximation of $1.26 million. Note that in contrast to Fit.ly and Cario, it’s hard to estimate Acmentir’s LTV within the first twelve months because you don’t have much data on your renewal rate and contract expansions until a few cohorts have come up for renewal.
All right, this has been quite a lot to process, so let me try to summarize the key takeaways:
- Don’t use revenue instead of gross profit to calculate LTV, and don’t mix monthly and annual churn rates (AKA avoid the LTV rookie mistakes 😜).
- If your churn doesn’t happen linearly over the customer lifetime, the simple customer churn rate based LTV formula doesn’t work well.
- If you have negative revenue churn, the simple revenue churn based LTV formula doesn’t work.
- If your churn is heavily skewed towards the first few lifetime months, consider removing customers that canceled within the first few months from your customer definition.
- The best way to approximate LTV is to take a close look at your cohorts. In the beginning, this might feel like an overkill, but cohort data can give you lots of insights, so you’ll need that data anyway.
- Don’t forget that all LTV calculations, no matter what formula you use, are always just approximations. You won’t know the precise LTV of a customer cohort until the last customer of that cohort has left. 🙂
Any feedback, let me know!
(1) For customers on an annual plan, you calculate the annual churn rate by taking the number of customers that didn’t renew in any given month and dividing it by the number of customers that were up for renewal in that month. If you want to make the annual churn rate of your annual plan customers comparable with the monthly churn rate of your monthly plan customers, you can convert a monthly churn rate to an annual churn rate using this formula: Annual Churn Rate % = 1-((1 -Monthly Churn Rate %)¹²). If you want to predict the churn rate of annual plan cohorts before they’ve come up for renewal, see you can identify at-risk customers by looking at their usage activity.
(2) What about the gross profit generated by the (non)-customers who fell out of your customer definition? I like to think of these gross profits as a positive side effect of your sales and marketing spend and would therefore recommend that you consider them as a contribution to (i.e. a reduction of) your CACs.
(3) NPV = Net Present Value. If you’re not familiar with this, here’s a primer on DCF (discounted cash flow) calculations.
(4) If you’re wondering what kind of mice I’m talking about, have a look at this post.
(5) If you’re curious, the reason is that the revenue churn rate based formula implies a revenue churn rate that is constant over the customer lifetime. That is not the case for Cario: While the company’s customer churn happens linearly over the customer lifetime, its revenue churn increases slightly over time.