Most of the thinking, definitions, and formulas regarding SaaS unit economics is based on assumptions that no longer reflect the reality of the enterprise SaaS environment. For example, thinking in terms of MRR (monthly recurring revenue) is outdated because most enterprise SaaS companies run on annual contracts and thus we should think in terms of ARR (annual recurring revenue) instead.
Most enterprise SaaS companies today do a minimum one-year contract and many do either prepaid or non-prepaid multi-year contracts beyond that. In the case of prepaid multi-year contracts, metrics like the CAC payback period break (or at the very least, get difficult to interpret). In the case of multi-year contracts, calculating churn correctly gets a lot more complicated – and most people aren’t even aware of the issue, let alone analyze it correctly.
If your company does multi-year contracts and you are not either sidestepping this issue (by using only ARR-pool-based rates) or correcting for it in your available-to-renew (ATR) churn calculations, keep reading. You are possibly making a mistake and overstating your churn rate.
A Multi-Year Churn Example
Let’s demonstrate my point with an example where Company A does 100% one-year deals and Company B does 100% three-year deals. For simplicity’s sake, we are going to ignore price increases and upsell . We’re also not going to argue the merits of one- vs. three-year contracts; our focus is simply how to calculate churn in a world of them.
In the example below, you can see that Company A has an available-to-renew-based (ATR-based)  churn rate of 10%. Company B has a 27% ATR-based churn rate. So we can quickly conclude that Company A’s a winner, and Company B is a loser, right?
Not so fast.
At the start of year 4, a cohort of Company A customers is worth 72.9 units, the exact same as a cohort of Company B customers. In fact, if you look at lifetime value (LTV), the Company B cohort is worth nearly 10% more than the Company A cohort .
Wait a minute! How can a company with 27% churn rate be “better” than a company with 10% churn rate?
It’s All About Exposure: How Often are Deals Exposed to the Churn Rate?
One big benefit of multi-year deals is that they are exposed to the churn rate less frequently than one-year deals. When you exclude the noise (e.g., upsell, discounts, and price increases), and look at churn solely as a decay function, you see that the N-year retention rate  is (1-churn rate)^N. With 10% churn, your 2-year retention rate is (1-0.1)^2 = 0.9^2 = 0.81. Your 3-year retention rate is (1-0.1)^3 = 0.9^3 = 0.729, or a retention rate of 73%, equivalent to a churn rate of 27%.
Simply put, churn compounds so exposing a contract to the churn rate less often is a good thing: multi-year deals do this by excluding contracts from the ATR pool, typically for one or two years, before they come up for renewal . This also means that you cannot validly compare churn rates on contracts with different duration.
This is huge. As we have just shown, a 10% churn rate on one-year deals is equivalent to a 27% churn rate on three-year deals, but few people I know recognize this fact.
I can imagine two VCs talking:
“You’re not going to believe it, I saw a company today with a 27% churn rate.”
“Yep, and it crushed their LTV/CAC — it was only 1.6.”
“Melting ice cube. Run away.”
Quite sad, in fact, because with a correct (annualized) churn rate of 10% and holding the other assumptions constant , the LTV/CAC jumps to healthy 4.4. But any attempt to explain a 27% churn rate is as likely to be seen as a lame excuse for a bad number as it is to be seen as valid analysis.
Best Alternative Option: Calculate Churn Rates off the Entire ARR Pool
I’m going to define the 27% figure as the nominal ATR-based churn rate. It’s what you get when you take churn ARR / ATR in any given period. I call it a nominal rate because it’s not annualized and it doesn’t reflect the varying distribution of 1Y, 2Y, and 3Y deals that are mixed in the ATR pool in any given quarter. I call it nominal because you can’t validly compare it to anything .
Because correcting this to a more meaningful rate is going to involve a lot of brute force math, I’ll first advise you to do two things:
- Banish any notion from your mind that ATR rates are somehow “more real” than churn rates calculated against the entire ARR pool .
- Then use churn rates calculated against the entire ARR pool and sidestep the mess we’re about to enter in the next section  where we correct ATR-based churn rates.
In a world of mixed-duration contracts calculating churn rates off the entire ARR pool effectively auto-corrects for the inability of some contracts to churn. I have always believed that if you were going to use the churn rate in a math function (e.g., as the discount rate in an NPV calculation) that you should only use churn rates calculated against the entire ARR pool because, in a mixed multi-year contract world, only some of the contracts come up for renewal in any given period. In one sense you can think of some contracts as “excluded from the available-to-churn (ATC) pool.” In another, you can think of them as auto-renewing. Either way, it doesn’t make sense in a mixed pool to apply the churn rate of those contracts up for renewal against the entire pool which includes contracts that are not.
If you want to persist in using ATR-based churn rates, then we must correct for two problems: we need to annualize the multi-year rates, and we then need to calculate ATR churn using an ATR-weighted average of the annualized churn rates by contract duration.
Turning Nominal ATR Churn into Effective, Annualized ATR Churn
Here’s how to turn nominal ATR churn into an effective, annualized ATR churn rate  :
Step 1: categorize your ATR and churn ARR by contract duration. Calculate a 1Y churn rate and nominal 2Y and 3Y ATR churn rates.
Step 2: annualize the nominal multi-year (N-year) churn rates by flipping to retention rates and taking the Nth root of the retention rate. For example, our 27% 3-year churn rate is equivalent to a 73% 3-year retention rate, so take the cube root of 0.73 to get 0.9. Then flip back to churn rates and get 10%.
Step 3: do an ATR-weighted average of the 1Y and annualized 2Y and 3Y churn rates. Say your ATR was 50% 1Y, 25% 2Y, and 25% 3Y contracts and your annualized churn rates were 10%, 12%, and 9%. Then the weighted average would be (0.5*0.10) + (0.25*0.12) + (0.25*0.09) = 10.25%, as your annualized, effective ATR churn rate.
That’s it. You’ve now produced an ATR churn rate that is comparable to a one in a company that does only 1-year contracts.
If nothing else, I hope I have convinced that you it is invalid to compare churn rates on contracts of different duration and ergo that is simpler to generally calculate churn rates off the entire ARR pool. If, however, you still want to see ATR-based churn rates, then I hope I’ve convinced you that you must do the math and calculate ATR churn as a weighted average of annualized one-, two-, and three-year ATR churn rates.
# # #
 In a world of zero upsell there is no difference between gross and net churn rates, thus I will simply say “churn rate” in this post.
 As soon as you start doing multi-year contracts then the entire ARR base is no longer up for renewal each year. You therefore need a new concept, available to renew (ATR), which reflects only that ARR up for renewal in a given period.
 Thanks to its relatively flatter step-wise decay compared to Company A’s more linear decay.
 Retention rate = 1 – churn rate.
 If it helps, you can think of the ATR pool in a glass half-empty way as the available-to-churn pool.
 Assuming CAC ratio of 1.8 and subscription gross margins of 80%.
 Unless your company has a fixed distribution of deals by contract duration – e.g., a degenerate case being 100% 3Y deals. For most companies the average contract duration in the inbound ATR pool is going to vary each quarter. Ergo, you can’t even validly compare this rate to itself over time without factoring in the blending.
 Most people I meet seem to think ATR rates are more real than rates based on the entire ARR pool. Sample conversation — “what’s your churn rate?” “6%.” “Gross or net? “Gross.” “No, I mean your real churn rate – what gets churned divided only by what was up for renewal.” The mistake here is in thinking that using ATR makes it comparable to a pure one-year churn rate – and it doesn’t.
 Gross churn = churn / starting period ARR. Net churn = (gross churn – upsell) / starting period ARR.
 I thought about trying a less brute-force way using average contract duration (ACD) of the ATR pool, but decided against it because this method, while less elegant, is more systematic.
 Note that this method will still understate the LTV advantage of the more step-wise multi-year contract decay because it’s not integrating the area under the curve, but instead intersecting what’s left of the cohort after N years. In our first example, the 1Y and 3Y cohorts both had 73 units of ARR, but because the multi-year cohort decayed more slowly it’s LTV to that point was about 10% higher.