Best way to calculate your lifetime value

When you talk with investors about what your SaaS business is worth, you need to calculate your customer lifetime value right. And while there are good shortcuts, using them might lead to a lower value than you want. In my role I've come to realize that the shortcuts rarely work well enough. In this article you'll learn the challenges in the common ways to calculate lifetime value and a concrete suggestion for a better one.

Typically lifetime value is calculated by dividing your average monthly revenue per account (ARPA) by your monthly churn. You can get your ARPA by dividing your monthly recurring revenue (MRR) by the number of paying customers you have. And so, if your ARPA is 10 € and your monthly churn is 2%, your lifetime value would be 10/0.02 = 500.

This is a great rule of thumb, but what if your churn fluctuates a lot month-over-month? If your business is seasonal, you might see your churn go up and down on a monthly basis. Can you just take the long term average? Can you use an arithmetic average, or should you rather use a geometric one? What lifetime value should you be using when trying to figure out what you can afford to pay for acquiring a new customer?

Also, you might see your ARPA grow over time if you have multiple tiers of subscriptions, some more expensive than others. This will suggest that churn in the lower tiers is higher, or that customers move up in tiers over time. or both. What ARPA should you be using then?

So both your churn and ARPA are not quite exact values, despite what many popular articles would led you to believe.

Calculating lifetime from retention

Imagine starting from 1000 paying customers and churning 2% every month. The traditional calculation would give you exactly 50 months average lifetime by 1/0.02 = 50. 

You might be wondering how this works exactly. How can you divide one by churn and arrive to an average lifetime? In fact, this is a pretty good shorthand.

If you're a math person, you'll realize that the remaining population in percentages follows this formula:
pop(m) = 0.98^m
where m is the month. Every month 98% remains from the previous month.
At month 50, pop(50) = 0.98^50 = 0.36.

Plotted over months it looks like this:
The average lifetime is actually the area below the blue line, when m approaches infinity. If you take the integral of 0.98^m, you'll eventually arrive at -1/ln(0.98), which is about 49.5. Not far from the 50 the shorthand gives.

Why tell you all this? Because you need to look at your customers through survival where the time axis is not a calendar month, but relative to when they became a customer.

When you observe your users like this, you'll notice something interesting. If you place your paying customers on the same duration axis, starting from month 0, and observing how long they stay as paying customers, you'll probably see that there's very high churn in the beginning, but it starts to level off.

I while back I wrote about the Kaplan Meier survival analysis that helps you understand churn through survival. When you run that analysis, you can see what percentage of your customers are left at months one, two, ten etc. all the way that you have history for. It's exactly like a cohort analysis, but it summarizes all the cohorts together.

What you will notice is that churn is not uniform over time. Instead, the longer someone has been your customers, the less likely they are to churn the next month, but in the beginning, churn is very high. Survival looks like the blue line below.

If survival looks like this for you too, you need to find a more accurate way to calculate the area under the red line. If at month 12 your survival shows 59%, then you get your average churn by taking the 12th root of 59% and substracting the result from 100%. You should arrive to a monthly churn of 4.3%. The quickly calculated lifetime for that is 1/4.3% = 23 months.

But that is pessimistic for you, as with that, you are essentially calculating the area under the red line above, not the blue. To get a more accurate number, you can observe survival for a longer period, or you can try to see at what point monthly survival starts to stabilize and calculate the are under the curve before that and after separately.

Once done, you get your average lifetime and when you multiply that with your average revenue per account (ARPA) you get a decently accurate lifetime value (LTV). If your average monthly revenue per account is 50€ and your average customer lifetime is 23, then your lifetime value would be 1150€.

Revenue-based survival

A long-term customer is more likely to continue next month, that much is certain, but when taking revenue into the picture the same applies: a customer who's already paid a lot is more likely to pay even further. If your SaaS business has different value tiers for example, this applies to you. Someone who is willing to pay more for your premium packages likely has a very good fit to your offering, and thus is again less likely to churn.

When inspecting from a lifetime value point of view, someone who pays 5x your typical ARPA in a month will reach your average LTV much sooner than normal and even overshoot it.

Thus, one way to look at average lifetime value is to do a "revenue survival" plot. Instead of calculating the survival from 0 months to 1,2...etc, you calculate survival from 0€ to 10€,20€ and so on. Someone on a higher value tier will much more quickly advance this axis than someone on a lower tier, which in a more fair way gives weight to the high-value customers.

If you plot your customers this way, you might notice that indeed, customers who have paid more have less churn. The revenue survival chart might look like this:

To get the customer lifetime value from this, you simply need to figure out the area under the curve for one customer. You might notice it is higher than by multiplying LT with ARPA.


Popular posts from this blog

AWS Glue, Dev Endpoint and Zeppelin Notebook