Over the past six months, I’ve been working on SketchBook, a subscription based sketching app, where I spent a lot of time thinking about the concept of customer lifetime value (LTV) and customer acquisition cost (CAC). In this post, I explain how to build an LTV model and also common mistakes to avoid from my experience.
For those who don’t know: A three-sentence primer on LTV and CAC.
The concept of LTV and CAC is a tool for figuring out the effectiveness of marketing spend telling you if you are able to receive more money from a customer over their lifetime compared to the cost of acquiring them.
Popular SaaS analytics company, ProfitWell argues that a LTV: CAC ratio of 3:1 is the benchmark ratio, but this is also contingent on the market opportunity too (if your market is small, you may need a very high LTV: CAC ratio, since you’ll quickly run out of customers to acquire). You must also keep in mind the time it takes to recoup the money you spend on acquiring a customer since you can’t burn all your cash on buying users in year 1 that you will only see a return on 3+ years later when you’ve already run out of working capital.
How do you actually build an LTV model?
Before I even dive deep into some things to be aware of when building an LTV, it’s worthwhile for me to explain the steps to building a model.
Gather the information – answer the question: what type of business do I run and what data is needed to predict how long a customer will stick around?
Create a cohort analysis – Separate your customers into cohorts, generally this is done by month of acquisition, and then document how many return each month after to purchase again or renew, alongside with financial information.
Use the cohort analysis data to build an LTV model – Once you know how many customers stick around month over month, you can estimate how long they would stay, which is their lifetime value in months/years! Then factor in the discounted future cash flows for each additional month/year and future costs to support the customer.
For more information on these steps, Christoph Janz from Point Nine Capital is my favourite resource to learn about this topic. There are also formulas for LTV that essentially do the same thing; I have found that creating a cohort analysis is an easy way to understand the data, before even using a formula. Now for some common mistakes!
Mistake #1 – Basing an LTV on revenue, rather than on net profit.
When most people build their first LTV model, it becomes easy to only focus on revenue, rather than net profits. However, an LTV model is not accurate if you only look at the future revenue flows, rather it must be the future discounted margins that the customer will generate for you over their life. Discounting is important because you are spending capital upfront and are receiving cash flows back in the future, so you must factor in the cost of spending that capital on marketing efforts now.
By applying a contribution margin value for future cash flows, you will be factoring in other costs associated with acquiring this customer such as web hosting, fulfillment, selling, etc. However, your margin should be changing as you have future variable costs that come up to support that customer and ensure they purchase again or renew. These would be factored in if you use a cohort analysis to visualize your net profit per cohort over time, however generally gets lost if you use an equation that has a static contribution margin applied.
The visualization below helps to better understand this concept. You start out with your marketing related acquisition costs, factor in other costs associated, then layer in the discounted recurring revenue. This should get you a contribution margin value. A customer may downgrade, then decide they need more capacity, but you require additional customer support costs to ensure that customer is satisfied and retained. This will leave you with that customer’s true lifetime value.
Mistake #2 – Not segmenting LTV by variables.
I was recently at a growth marketing camp, where Alexander Norman (@alexandernorman) was speaking about tips and tricks to building a business, when he said a point that struck me: “don’t use averages to determine what works.”
What this means is that when building any models, including an LTV, you have to slice and dice the data to really see what works and what doesn’t. Add in additional data to your model to be able to filter by channel, campaign, and anything else you may think is interesting. One channel may have a 5:1 ratio, while another has a 1:1 ratio.
Factor out customers that come via organic means versus marketing spend as organic nearly always outperforms bought users. And if you’re running a freemium business – find a way to follow a customer through to see how many purchase rather than including all customers (such as free). If you’re wondering what to do when you want to try a new channel, but don’t know have data – as Norman told me, it is more of an art than a science – look at the market size and which customers are going to that channel. Then prove this hypothesis as data becomes available.
It is also important to think back to economics 101 and continuously monitor your channel performance over time to see how ratio’s change. As economics tells us, if you try to buy more of a limited good, the price will go up as the demand curve shifts right while supply stays constant. So if you are increasingly spending your ad dollars in SEM and the supply stays constant since it isn’t infinite, demand shifts right and the price per ad goes up. This also works in reverse, whereby if you get better at ad optimization, you can drive your CAC down. It also is possible for supply to change, as you may acquire all the customers willing to pay in a specific geo, or the ad supplier finds more ways to monetize or traffic increases (thus, a larger supply of traffic to show ads to).
Mistake #3 – Using an infinite lifetime.
Breaking down the term lifetime value, an LTV model looks at the lifetime of a customer segment, so it imperative that you don’t let your model go on forever to inflate your value. You should pick a length of time which you can reasonably assume that no customer would stick around after, so that your model is not skewed by the few outliers that stick around forever.
Having ten out of 1,000 customers stay around forever can have a significant impact on the overall LTV, especially if you keep those guys in your model generating margins forever.
Mistake #4 – Not accurately accounting for cohort decay.
Cohort decay is another important piece to LTV models. You can’t assume that a cohort of customers will stick around forever as people churn over time. As a result, you have to factor in decay based on a forecasting model (unless you have real data) for all future years up until a certain threshold.
For example, if you run a SaaS product with only 3 years worth if data, you should build a forecasting model using the 3 years worth of cohort data, to predict 2 additional years of lifetime, at which point you then close out the model. Furthermore, you have to make sure you’re realistic with the cohort decay values you’re giving, just so you don’t bias the model and over inflate (or undervalue) the LTV.
I can see this being biased based on the team that owns the LTV model. For example, if marketing is the owner, they may be biased to create the largest LTV through not including cost variables so that they can justify their ad spend. If a finance team owns the LTV model, they would be more inclined to include all cost variables to ensure the accuracy of the model.
LTV models are not a perfect science.
LTV is a very important tool for measuring marketing spend and can often be worshipped by marketers due to its predicability over other organic channels. However, while this is true, the model a team is working off of should try to avoid simple mistakes to ensure that there is credibility behind the marketing exercise. It also should be taken with a grain of salt since business is never a perfect science.
As you begin to build or refine your model, have you found anything additional that is often overlooked?