Don't use gross churn to compare SaaS businesses

Whether you're optimizing your ad spend or in talks 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 can easily lead to a completely wrong number, resulting in really bad decisions. In my role I've come to realize that the shortcuts rarely work well enough.

In this article I'll cover the following challenges in calculating churn:

  1. Fluctuating / seasonal churn
  2. Churn-and-return customers
  3. Churn of different price tiers is asymmetric
  4. Churn is non-linear over time
  5. Saturated markets
And finally the best way to calculate lifetime value that account for these challenges.

Calculating lifetime from retention

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.

Have you thought about this rule of thumb, or why it would work? E.g. if you start with 100 customers and your monthly churn is 2% this rule of thumb would give you a lifetime of 50 months (1/2% = 50). Your intuition might tell you that indeed, if you have 100 customers and you lose 2 of them every month, after 50 months you've reached zero.

But this doesn't make any sense.

The point of the exercise is to figure out the expected lifetime of a single customer, right? In the above example, only 2 customers out of 100 reached a lifetime of 50 and the rest churned earlier, therefore the average lifetime is nowhere near 50. In fact, if the above chart was the correct intuition, the lifetime would be only 25 months, not 50.

So why do we use the shortcut of LT = 1 / Churn? Does it work even? It does.

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.

So the shortcut works in this scenario, but what if your churn fluctuates a lot month-over-month? Which percentage is correct to use?

Traps to avoid

Fluctuating churn

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?

Fluctuating churn has fairly little impact in itself. Consider the following churn sequence: 0%, 4%, 0%, 4%, 0%, 4%, 0%, 4%. It's obvious the arithmetic mean is 2%. What is the geometric mean? It's 2.0204%. So hardly any effect.

But fluctuation like this tells about a phenomenon. Is your business seasonal? Are customers coming back after subscribing? Are you using gross churn to try to estimate lifetime value? If so, you're horribly undervaluing your business.

Churn-and-return customers

Whether your business is seasonal or not, you might have a lot of customers who pay for the subscription for a while, churn and after a while re-subscribe again. Typically, investors estimate the LTV of a SaaS business by its gross churn, in order to have a "comparable benchmark". This assumes that the behavior of subscriptions is similar, and that very insignificant amount of customers come back after they've churned once.

Especially when comparing freemium-model businesses to pure SaaS businesses with only free trials, this benchmarking fails miserably. Consider Zervant vs. Invoice2Go for example. A customer on the "Starter" plan in Zervant might need to send an e-invoice every now and then, but not continuously throughout the year. When they churn, they will fluently continue to use the free tier of Zervant and will subscribe again once they need e-invoicing.

Someone on Invoice2Go "Lite" plan will unlikely cancel their subscription unless they are closing their business completely or switching their invoicing platform.

On Zervant, returning customers will offset the easier churn due to the free tier. If the goal is still to estimate lifetime value, then using gross churn is grossly wrong and even as a benchmark does not work.

A good way to combat this is using net churn instead, where you substract returning customers from those who have churned. This is a great step forward, but still not ideal.

Churn of different price tiers is asymmetric

It's easy to assume that churn is the same over different price tiers, unless you've studied them. What I expect to often happen though is that customers on higher price plans tend to be more committed to the service and therefore less likely to churn. If this is the case, what you will see is your ARPA keeps climbing a little bit month-over-month.

If every time you update your LTV calculations you notice your ARPA to have again increased a little bit, you might start to wonder what long-term ARPA should you use then.

A simple solution for this is to calculate the LTVs separately for the different price tiers and then take a weighted average.

So now we've realized that both your churn and ARPA are not quite exact values, despite what many popular articles would have led you to believe. So what to do then?

Churn is non-linear over time

A customer who's been with you for two years has a much lower likelihood of churn, than someone who just started to use your service. If you simply look at a month's churn, how much of that is due to "young customers" and how much of that describes your long term churn?

Ceteris paribus, you will notice is that churn will decrease overtime. You'll keep adding new customers to your product, the hasty ones will churn and the loyal will  stay, growing in numbers. Taking a churn rate today doesn't represent the long-term churn that could be used to calculate an accurate lifetime value.

Saturated market illusion

The saturated market illusion is an extreme example of the previous topic: non-linear churn over time.

Imagine you're comparing different markets you're operating on and see these two alternatives:

  • Market A:
    • 500 CAC
    • 50 ARPA
    • 2% Churn
  • Market B
    • 800€ CAC
    • 50 ARPA
    • 1% Churn
With a quick calculation the Market B has an LTV over CAC of 

Calculate lifetime through survival

You need to look at your customers through survival where the time aWxis 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.

A 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 area under the curve before that and after separately.

What I've noticed in our customer base is that observing through survival analysis, the retention from month to the next improves (i.e. churn decreases) slowly, but exponentially. For the math people:

churn(m) = b * a^m

Where b is the base starting churn, a is the rate at which churn decreases and m is the month.

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. The reason for this is unlikely the sunk cost fallacy, but rather that a more committed customer is likely to pay more.

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.


Calculating lifetime value is much more than ARPA over gross churn. Whether you're an investor or a business owner, using that shorthand is dangerous as it will, depending on your circumstances, lead to over


Popular posts from this blog

Snowflake UPSERT operation (aka MERGE)