Subscription-based businesses live and die by two numbers:

1) Customer Acquisition Cost (CAC)
2) Customer Lifetime Value (LTV)

And that’s for one, simple reason: Profit Per User = CAC – LTV

If Profit Per User isn’t a positive number, then the business is paying users to use the software instead of the other way around. This guarantees the business will eventually go broke.

For this article, we will focus on defining just one sub-component of LTV: Churn. For more detailed descriptions of other SaaS metrics, David Skok does an excellent job of breaking down basically all SaaS metrics in his blog.

Churn rate is a component of Customer Lifetime Value (LTV).

LTV has several sub-components:

LTV = (average monthly revenue per user – monthly cost to serve each user) * 1/churn rate

If we have a churn rate of 10%, then that means, on average, each user will stay with us for 1/0.10 = 10 months. If the user pays $99/month and our cost to serve each user is $10/month, then LTV will be ($99-$10) * 10 = $890. We expect to make, on average, $890 from each customer we pull in.

Churn rate is the percent of users in any given month who stop making us money.

Note we said “stop making us money” instead of “stop using our product” in that last sentence. Not every subscription offering is a straight-forward subscribe/unsubscribe kind of deal. Some products make money from advertising. Some make money from referrals, incentives, or other wacky schemes. So, deciding the exact moment when a customer has “churned” can be a complicated affair (and will be the subject of a future article).

In addition, churn can be calculated two ways: the percent of users who leave, or the percent of recurring revenue that leaves. Depending on the nature of the business, which we pick can be significant.

Let’s focus first on a simple un-subscribe scenario.

Say we run InvoiceViz, a SaaS product for generating invoices that costs $99/month and has no free plan. Defining churn in this scenario is simple. Churn is the % of users who were paying $99 at some point in the month and ended the month no longer paying $99. So, if we started the month with 1,200 users and ended the month with 1,100 of those same users, then our churn rate is (1,200-1,100)/1,200 = 8.3%. In this case, it doesn’t matter if we calculate by revenue or by number of users because all users pay the same money.

If we have a free plan, things get more complicated.

Now, let’s say InvoiceViz has a free plan and a paid plan. Users who have always been on the free plan aren’t making InvoiceViz any money, so let’s not count them at all. But what about users who downgrade from a paid plan to a free plan? We should count them as churn. Now the churn rate is the percent of users who started the month on the paid plan and ended the month either downgraded to the free plan or un-subscribed outright.

Different pricing tiers make things even more complicated.

So far, we’ve been talking about churn in terms of the number of users who leave. But, if InvoiceViz customers pay wildly different prices for different plans, then we might come up with misleading churn numbers. In this case, we should use Monthly Recurring Revenue (MMR) churn instead of churn based on a number of users.

Using the right churn number can mean the difference between staying in business and going out of business.

Let’s say InvoiceViz has a $99 “business” plan and a $199 “enterprise” plan. Further, let’s say we have have five users paying this much each:

User 1: $99
User 2: $199
User 3: $99
User 4: $199
User 5: $199

Let’s say User 2 and User 5 both leave this month. Well, in MMR terms, our churn rate is: $398/$795 = 50%. But in number of users terms, our churn rate is: 2/5 = 40%. That’s a huge difference.

Of course, we gain new customers, too, so need to exclude them.

Calculating churn isn’t as simple as taking the number of users we had at the beginning of the month and subtracting the number of users we had at the end of the month. This is because new users sign up all the time (or if they don’t we have bigger problems). So simply netting out users from beginning to end of month doesn’t give us an accurate picture of churn. We need to individually identify users and assign them one of two classifications:

  1. Users who started the month already paying.
  2. Everybody else.

So, if InvoiceViz had 1,000 paying customers at the beginning of the month, signed on 300 more in the middle of the month, and then ended the month with 1,100 paying customers, we can estimate customers who left at: 1,000 – (1,100 – 300) = 200 customers.

The last lose end is customers who come and go in the same month.

These customers throw a wrench in our calculations. If we individually track users instead of netting them out, we can estimate churn more precisely. In the last example, let’s say 20 of our 300 new signups also left the same month. How we treat these customers doesn’t matter too much as long as we are consistent. If we count them as “acquired” customers for our CAC calculation, then we have to count them as churned customers for our LTV calculation. Or, alternatively, we can simply ignore them as customers altogether and count them in neither CAC nor LTV. Either way the math that matters will work out the same, as long as we are consistent.

Tracking individual users helps our churn calculations.

As the examples above show, tracking individual users and grouping them into cohorts becomes more important as the business grows. Simply netting basic numbers no longer cuts it. Luckily, there are a number of tools and services out there to help with this problem, including some of our own at Pollen.