The mistake of 1/c in LTV calculations

This is the third article in a series on novel ideas for SaaS metrics, which started with The unprofitable SaaS business model trap and COC: a new metric for cancellations.

You can’t read an article about SaaS metrics without running into LTV — The Lifetime Value of a customer.  Meaning, the gross revenue you expect to get from a customer over its entire lifetime.

The traditional formula is as follows, where MRR is monthly recurring revenue, GPM is gross profit margin (i.e. percent of MRR left over after paying for the cost of servicing the customer, such as servers, bandwidth, and tech support), and N is “expected months,” i.e. how many months you expect this customer to stick around:


The trick is computing N; the other numbers are straightforward.  The traditional way is N = 1/c where c is your monthly cancellation rate, so if 2% of your customer bases cancels each month, N = 50.

I believe this calculation for N is too generous, and it’s a cause of SaaS companies having trouble with profitability.

The derivation of the N = 1/c formula seems logical.  Consider a cohort of customers signing up in January.  You earn R revenue from them in January.  Then in February, c of them cancel, so you each R(1-c) in February.  Then another c of those cancel, so in March you earn R(1-c)(1-c).  If you continue this process ad infinitum, and add it all up, you get R * 1/c, therefore 1/c is the “average” number of months any one customer sticks around.

Said another way, the actual distribution of revenue over infinite months would add up to the same thing as if all customers stayed 1/c months, and then all cancelled.

Therefore, from an LTV perspective, where all we care about is “total revenue over the lifetime of the customer, no matter how long or short that lifetime is,” 1/c seems like a good value for N.

In fact, I’ve made the same argument before.

The fallacy in the argument is the “ad infinitum” part.  Even if it’s true that some customers do stick around for very long periods, say 10 years, it’s incorrect to use that for the purpose of an LTV calculation.

It’s impossible to see ahead to timeframes beyond a few years for a young company and perhaps 4-6 years for a mature one. In those timescales you expect drastic changes in market conditions — a strong new competitor appears or dies, the economy slumps or soars, a disruptive technology changes the landscape, etc..

That in turn will cause material changes in pricing, retention rates, reorganized customer segmentation, usage levels, service levels, and so forth.

Computing expected months with the ad infinitum approach leads you to over-estimate the total revenue you can depend on.  So when you make decisions like “A LTV:CAC ratio of 3:1 is healthy,” you’re understating dependable LTV and thus incorrectly thinking you’re acquiring customers at a reasonable cost.  Which then leads to unprofitable growth.

So, how to fix the formula for N?

The Fix #1: Month Cap

The idea of the “month cap” is to say “Let’s only count the next 4 years of revenue.”  (This is how I currently do it at WP Engine.)

Thus, in the explanation above, you add up 48 months’ worth of revenue rather than adding up infinite months.  The formula, assuming a cap of m months, is:

N = \frac{1-(1-c)^m}{c}

How different is this formula compared to the usual one?  Here’s a sample for different values of c, for m = 48:


In short, it’s not a huge difference for large cancellation rates (but who cares because with 5%/mo cancellation you’re in deep financial trouble anyway!), but it’s quite material for healthy cancellation rates — in fact it can be overstated by 2x!

The Fix #2: Discount Rate

A different approach to fix the formula is to use something that financial analysts call a “discount rate.”

Here’s the idea. In today’s dollars, what are future dollars worth? Inflation, for example, would make future dollars worth less in today’s dollars, and the further out in the future you look, the more we’d “discount” (or “reduce”) those dollars in terms of today’s dollars.

More to the point at hand, simple uncertainty in collecting future dollars make them worth less in today’s dollars.

So it’s OK to add up revenue five or even ten years from now, but you have discount its value.

Generally you compute the discount exactly the same way as cancellation is done above — you deduct, say, 1%/mo extra for each month in the future to account for this uncertainty.  This is equivalent to (approximately) 12%/yr, so e.g. in the 8th year we’re still adding up revenue but discounting it downward by 64%, accounting for the uncertainty that we’d still be operating in the same way in 8 years that we are today.

The formula for including a discount rate is very simple — for a monthly discount rate of d, (e.g. in the example above, d=0.01), you just add it to c and use the same formula, because mathematically a discount rate is exactly the same calculation as a cancellation rate!  So:

N = \frac{1}{c+d}

How different is this formula compared to the usual one?  Here’s a sample for different values of c, for d = 0.01:


As with the Month-Cap technique, this is a material difference for healthy cancellation rates.  Personally I think even d=0.01 is too generous unless it’s a mature, predictable business.

Which method?

Although we’ve been using the Month-Cap method at WP Engine, now that we’re three years into the business we have a much better understanding of multi-year retention rates.  Capping at 48 months definitely doesn’t make sense for our older customers, so although I still like the concept of a monthly cap, the discount rate method seems like a better fit to our data.

What do you think?  Does this match up with your data and expectations?  Let’s continue talking about it in the comments.

22 responses to “The mistake of 1/c in LTV calculations”

  1. Maybe you should be using your borrowing rate for the discount, which for a startup is usually pretty high. If you want to figure out if it’s worth paying $100 for a customer who will give $2/month, what really matters is how much it hurts to borrow $100.

    • You could do that, except that’s not a real rate for many startups. Because:

      If the startup is growing and otherwise looking healthy, it can raise money at equivalently better terms than a bank loan. Even warrants will be better than a bank.

      If the startup isn’t looking good enough for investment, it’s unlikely a bank — in today’s economy — is willing to lend money at any interest rate.

      Generally for a startup money is worth VERY MUCH more today than it is in future, because the startup is likely to fail anyway, and because without the money today the risk of failure increases dramatically. It’s unclear how to account for that in the usual financial way.

      In any case, clearly this is a point of opinion, not fact, but it’s interesting to think about!

  2. A discount rate can be very useful if you set it correctly, because it serves multiple functions.

    One is the time value of money. $100 that you receive today can be re-invested to grow your business, while $100 you will receive in 3 years does little good for you now other than impressing investors. The appropriate discount rate reflects this more accurately than a simple sum of revenue in each month (leaving out the effects of inflation, which probably isn’t material to most SaaS companies).

    It also accounts for uncertainty. If you think the revenue that’s further out has a lower probability, then increasing the discount rate will reflect that.

    Coming up with the right discount rate isn’t easy but if you can find the right one it makes the calculations simple. In some cases it might help to have a multi-phase model, which is what you’ve done with a cancellation/discount rate of x% for the first 48 months and then 100% after that. If you notice that retention increases for customers who get past 2 years, you could do the calculation in two parts to reflect that.

  3. Really helpful post. I have a question regarding churn rate (c).

    Are all of these methods assuming that c is constant in all periods? What about a subscription service where , for a given signup cohort, c may be higher in earlier periods and then decrease in later periods as users become more loyal?

    When calculating N for such a business, how would you account for this variability in churn rate as cohorts of customers progress through their lifecycle?

    • You’re exactly right to question that! I agree.

      The ideal model would use “MRR still retained” at each month, and then perhaps also adding on a discount rate or monthly cap to account for future uncertainty and the lesser value of “money later.”

      Specifically, say the amount of MRR retained in month n is Rn. For a truly constant c, this would be Rn = (1-c)^n. For example, with c=2%=0.02, it would be (approx) 98% in the first month, 96% in the second, etc.. You’d add all that up which in this idealized version is the same as above.

      But in fact it’s often more like retention of 80-90% in the first month, then 70-85% by the second, and *then* maybe it stabilizes out for the customers who will in fact become long-term customers, and maybe decreases by 1-3%/mo.

      In this article I propose a (relatively) simple formula that assumes there’s X% cancelled by the first M months (e.g. maybe 25% cancellations in the first 3 months), and then a relatively constant cancellation rate thereafter (e.g. 2%/mo after that).

      I think that model isn’t bad for many SaaS businesses, and keeps the formula relatively simple.

      However, you’re right to want to measure true Rn over your cohorts, and match your LTV model as closely as you can to the actual data.

      • Interesting stuff. I wonder how companies that sign up most of their customers on annual terms – thinking of some webhosts here, but also services like Amazon Prime – deal with this kind of metric.

        You’re flying completely blind until your first few cohorts hit 12 months.

        • You’re only blind if you refuse to look! :-)

          For a SaaS company, because you own the servers, you ALWAYS can know what your customers are up to. A customer that hasn’t used the product in the past 30 days is probably not getting value and going to churn upon renewal, for example.

          • hehe.

            Depend if your SaaS is designed for regular usage I guess. I thought of that – tracking login data – but for the niche I’m sailing into (niche specific Web Design as a Service, a similar model to RestaurantEngine) most customers won’t login after month 1 unless some extraneous circumstance requires it such as a price change or someone on their team page quits.

            My guess would be that it’s similar for your business, right? My supposition is that a lot of WPEngine users never login just because they’re happy with their website and it’s doing its thing.

          • PS. I’ve just finished your entire series on SaaS metrics and they’ve been incredibly illuminating. Thanks.

  4. Hey Jason, good analysis.

    Discounted cash flow’s always the answer. Until such time as there’s reasonable data that’s business specific, along with reliable market volatility information, discounting the years where there’s very little visibility, (ie 5 yrs and beyond) to 0 makes a lot of sense. At least you won’t go broke that way, and the results will certainly let you know if your pricing and operating model are competitive.
    One can always run multiple scenarios to benchmark off of.

    Another story altogether if the model’s being used for sale valuations or such like.

  5. This is excellent, it was driving me crazy that there were so many articles out there that missed this point. I used the month cap as our business realtes well to that. Thanks so much! Excellent article. :-)

  6. Pardon me for the silly question, but can you please explain how you got the formula for the capped LT formula? (N= (1-(1-C)^m)/C). Would be really appreciated!

  7. Great read Jason (as usual).

    My 2 cents:
    As R[(1-c)^0+(1-c)^1+….(1-c)^n] is geometric series, you can look at the Geometric distribution.

    If a user has a p=0.02 chance to cancel, and we’re counting the months until cancelation (geometric), Mean will be equal 1/p anyhow, regardless of infinitum. That actually makes a lot of sense for me to use N=1/c

    Would love to hear your thoughts.

  8. Scegli delle maglie di vario tipo, soprattutto quelle comprate ai concerti, le camicie di flanella, ecc.LV has been making its distinctive purses for many years and it’s managed to produce several timeless favourites like the Neverfull tote and the Speedy satchel, which became famous as the handbag that Audrey Hepburn carried.Men really do never grow up, however the toys get bigger, faster, more powerful and ultimately, more expensive.Felt very good to play at Wembley Stadium.To alleviate this they used an asymmetric cryptosystem to create a secure channel through which they would share their secret key.

    These are what I refer to as “StoryBrands.No surprise really, we all know Kobe is and will be one of the greatest players in history to play the game of basketball.Let the soaked paper towel sit on the spill for a few minutes and then scrape off the softened polish.It can look like you’re too fond of the sound of your own jordan 9 for sale voice or not interested in other people.After which a halter very best or possibly attire is actually a have to lug for the days to weeks.Thus, software aimed at school management should be purchased.The previously mentioned described varieties ended up specially developed trying to keep the vogue traits and styles in brain.

    Okay forget about fitting digital clocks only on modern decoration.The first portables included small, built-in CRT displays and detachable keyboards.With gold a hero is able to buy stuff that ultimately leads to increase in level.Nevertheless, for those who pay attention to the transformation and upgrading of domestic intensive manufacturing industry, China could attract these “migratory birds” due to its advantage in cheap labor, but this kind of situation will gradually change as the improvement of national economy and people’s living standard.You even know who lost their best players from the prior year and more than a bit about who replaced them.

    Therefore, a jar of Sam’s Choice peanut butter will taste exactly the same as a jar of Jiff peanut peanut butter.In short dedicated graphic cards help a lot in making your system best jordan 2 for sale suited for high end games and videos but they do come at the expense of power consumption.As noted on their website, is the clear market leader in metal woods.Air Jordan 13 retro low also the first year of the classicAir Jordan 13 white red color a little similar.Benzoic acid slowly disintegrates into its component parts at about 370 ?Dark text on a light background is more apt to keep your viewers reading.La flotilla de los 787 esta en tierra despu s de que se sobrecalentaran las baterias de ion de litio a bordo de dos aviones.

    The light padded foot-bed gives cushioning comfort to your feet and equally distributes your weight from the heel to the toes.Only problem, apparently, is that there are specific boots for the multitude of legs shapes and size and even color out there.Your message will both appeal towards the sense of vision as well as that of hearing, touching your clients from different areas.Cheap and Cozy Air Jordan Basketball Shoes7 Ways to Respond To a jordan 14 for sale Controlling PersonThere are many things to know and understand about easy guitar tabs that beginner guitar players must know in order to better get it together and learn some easy songs here and there in their learning process.

  9. Thanks for your post. Applying the amended formulas you have above, I get about the same – 1.5-2 times more than actual. The business has been running for 6 years so should be a good base of data to work with. One thought though (and I have only just looking at SaaS metrics so feel free to not assume I haven’t missed the obvious) – is my actual lifetime metric skewed given that I am only considering cancelled customers and not considering the very loyal customers who are still with us? Keen for your thoughts.

    • I agree, LTV is skewed either way. Meaning, if you include everyone, then it’s “skewed” for certain kinds of questions, and if you don’t, it’s skewed for different questions.

      More and more I come to the conclusion that LTV is just not a good concept. Having a single number represent so many things, combined with looking *years* into the future, probably equals more noise than signal.

      It might be wiser to focus on things which have clearer meaning, which you’ve decided you want to inflect for common-sense reasons. For example, “I want to increase retention for customers of segment X or behavior Y.” Or “I want cohorts to grow over time because upgrades exceed cancellations.” Those are certainly valuable, clear how to measure, and avoid many of the issues with LTV.

      • As a first cut, I am keen to work with the “SaaS basics” of CAC, LTV etc if I can. I tried your monthly Cap – I think that makes a lot of sense – a 2 year cap equated pretty closely to our actual customer lifetime values but is probably a bit short for projections. Another thought, and I’m not sure how to model it, but I notice if I follow a cohort of subscribers, they do churn is a decay model which suits the geometric progression but they more likely peter out to 10% or so of original size rather than zero. What I would like to do is use your monthly cap with 5 years but include the 10%. I could just subtract the 10% as a constant. What do you think?

        • I think anything beyond 5 years, even for a mature business, isn’t worth including. The time-value of money already squashes that value down by another factor. It shouldn’t affect anything you do today in terms of spend or strategy. Large market shifts (customers, competitors, demand) can happen in a timeframe like that which changes the nature of the business. Thus, it’s better to be conservative and just not include it.

Sign up to receive 1-2 articles per month: