The Size of Your Truck

As we grow, take the time to understand unit economics.

How do we calculate our unit economics?

Here is a story…1

Feijoas: $3 per bag

Two feijoa growers were chatting at a weekend market.

One of them was selling bags of fruit from the back of his truck, and had a long queue of people waiting to buy some.

But he wasn’t happy.

He complained to his friend, “I’m selling lots of feijoas, but I just don’t seem to be making any money!”

“Well”, said his friend eager to help, “how much does it cost you to grow a bag’s worth of feijoas?”

“$4”, said the first farmer, as he took another order from a happy customer.

“And, how much are you selling the bags for?”

“$3”, said the first farmer, with a proud smile.

“Oh, I know your problem”, said his friend, “you need to get a bigger truck!”

Unit Economics

It’s easy to mock the grower. Who would be that naive, right?

Actually these kinds of unit economics are very common in early-stage ventures, especially when we are growing fast, where building and sustaining momentum requires us to be investing ahead of our growth.2

If we have a traditional business model, understanding our profitability is reasonably straightforward – when we make a sale the revenue and the costs of goods sold are normally obvious, so all we are left to do is divide the amount spent on sales and marketing by the number of sales made to get an average cost of acquiring a customer, and we already have a pretty good picture of the health of our business. The feedback loops are short.

Even ecommerce or marketplace business models can benefit from thinking about unit economics - e.g. if we have an online store consider the loyalty of our customers - if we have a lot of repeat business we might be overestimating the success of our current acquisition spend.

However, with a software-as-a-service or subscription business model, where customers are paying a monthly or annual subscription, it quickly gets much more complicated. In order to calculate the revenue from a new customer, we need to know not only how much they pay, but also estimate (a.k.a. often guess) how long they are likely to remain a customer. Likewise, to determine what it costs to provide the service, we need to consider the total costs we incur over the whole time they will remain a customer.

Keeping on top of the maths can be hard work – the calculations are confusing; it’s difficult to even find a consistent formula to use; and a lot of what is written about this stuff is pretty dense and academic. Plus there is a long list of different metrics to calculate. All of this makes it hard to know if our business is in good shape or not.

So, let’s try to make it simple…

To understand our unit economics we just need to answer three questions about our venture:

  1. How much does each customer pay?
  2. What does it cost to provide your product or service?
  3. What does it cost you to get a new customer?

Lifetime Revenue

The average revenue we make per subscriber is easy to calculate: take the total revenue we earned in the period and divide the the total number of subscribers we had. If we’re growing really fast then we might want to be a bit more savvy in calculating the number of subscribers, otherwise we can normally just use the number of subscribers we had at the start or end of the period.

Average Revenue Per Subscriber (ARPU) = Revenue / Number of Subscribers

The average tenure of a subscriber is much more complicated, because it requires us to estimate churn as part of considering how long, on average, each subscriber will remain a customer. In the most simple case, average tenure is the inverse of our current churn rate.

Average Tenure = 1 / Churn

See also: Estimating Tenure for some more complex approaches to calculating this value.

Once we have those two values we can estimate3 the lifetime value of a subscriber:

Lifetime Revenue = ARPU * Average Tenure

It’s always difficult to accurately predict future events like repeat purchases or churn, so these calculations are often inaccurate. We might find it easier to limit the time horizon to something that we have more confidence about - for example, rather than trying to estimate lifetime revenue ask: what do we expect the revenue from each customer to be over the next year?

Annual Contract Value (ACV) = ARPU * 12

Another option is to use the length of our runway - i.e. how much do you expect the revenue from each customer to be before we run out of cash in our current mode!

Cost of Service (CTS) 4

Here we need to consider all of the costs associated with providing our service. These will likely include some direct expenses (e.g. payment processing costs), website hosting costs (e.g. AWS or Azure), tools (e.g. customer support platforms) and staff costs (e.g. all of the customer support and infrastructure team costs).

CTS = (Total Cost of Service / Number of Subscribers) * Average Tenure

Based on that, we can calculate the lifetime value of a customer:

Lifetime Value (LTV) = Revenue - CTS

Cost of Acquisition (CAC)

Here we need to consider all of the costs associated with sales and marketing. These will likely include some direct expenses (e.g. advertising costs), tools (e.g. salesforce automation platforms) and staff costs (e.g. all of our sales and marketing team costs). Depending on the approach to sales, sometimes individually-negotiated discounts or promotions are also included as a cost of acquisition.

CAC = Total Cost of Acquisition / Number of New Subscribers Acquired

Gross Profits

With those three numbers, we can calculate our gross profit and margins on a per customer basis:

Gross Profit = Revenue - (CTS + CAC)

Gross Margin = Gross Profit / Revenue

If we prefer a picture, graphing these values like this is a nice way of visualising the various components:

Waterfall graph linking revenue to gross profit

It’s important to note, the gross profit is not always positive! If the amount we spend on acquisition is greater than our revenue then we may make a loss on a per customer basis. We’re effectively selling your $4 bags of feijoas for $3!

We can also calculate one of the most popular ratios for a SaaS business model:

CAC:LTV = CAC / LTV

A popular rule of thumb says that the “healthy” value of this ratio is 3+.

The value of this ratio depends mostly on how stable and predictable our churn rate is, because both LTV and CTS depend so heavily on our estimate of tenure.

An alternative measure, that takes churn out of the equation, is to calculate the payback period (i.e. the number of months that it will take to earn back the average acquisition cost) or use the annual value rather than lifetime value as the denominator in the equation.

Payback Period = CAC / ARPU

CAC:ACV = CAC / (ARPU * 12)

Common Problems

There are a number of common problems with these calculations:

Small Team

When there is only one person or a small team covering multiple areas of the business, it’s difficult, if not impossible, to split staff costs into the different areas. So, for example, until we have a separate sales and support team then it probably doesn’t teach us much to calculate separate CTS and CAC values.

Small Customer Base

When we only have a small number of customers even little changes can make a big difference. So, for example, it likely doesn’t make sense to calculate a CAC value if we only have a handful of new customers per month or if sales are lumpy rather than consistent.

Volatile Churn Rates

Likewise, a small customer base often leads to volatile churn rates. Some months we may have a large number of customers churn, and other months we may have none at all (and all of these calculations break if we think our churn rate is 0%!)

One remedy is to calculate the churn over a longer time frame - i.e. we can calculate a rolling three-month churn rate, so that spikes in one particular month are averaged out a little. However, be aware when we do this we take an already lagging indicator and make it even more lagging.

Economies of Scale

When our customer base is small it can distort some of the cost components included in these calculations. So, for example, costs like fixed payment processing costs, rent (if we apportion this to teams as part of these calculation) or hosting and tooling will have better economies of scale if/when we’re bigger.

Known Unknowns

When we first start spending on sales and marketing it’s very common for the results to be all across the spectrum - some of our experiments will be very fruitful and some will be complete flops. While we’re in that mode it’s important to realise that our CAC is likely to be very unflattering. The important thing here is to make sure we’re not just flailing. We can do this by looking at the trends over time - in theory our CAC should reduce as you start to work out what works (and do that more), and what doesn’t (and do that less).

Customer Success

It’s increasingly common for SaaS ventures to have people focussed on customer success (as distinct from sales or support). But where do we include this team in these calculations? Are they part of the sales team (i.e. onboarding new customers is an important part of converting potential customers into subscribers) or are they part of the customer support team (i.e. ensuring customers are successful is an important part of creating happy customers that don’t churn)? The reality is nearly always both.

Ultimately it doesn’t matter to the overall gross profit calculation, provided we include the costs somewhere, however from experience, expect some robust debate internally about which metric should capture these costs.

Extra For Experts

Once we’ve understood our unit economics, and are more confident that we’re making money on a per-customer basis, the next level up is to set our sights on profitability.

This requires us to ask two additional questions:

  1. How many customers are needed to cover our fixed costs? (the break-even point)
  2. How much cash do we need to get to that point?

Here we need to consider all of our fixed costs (sometimes called overheads), including all of the tools and staff costs that are not captured above (i.e. the cost of our product development and admin teams etc).

Customer Target = Fixed Costs / Gross Profit Per Subscriber

This gives us a snapshot in time, based on current costs, but it’s also useful to think ahead to what these costs are likely to be in the future when calculating this number.

Finally we need to ask ourselves how much we’re going to need to invest before we get to the point where the per customer profits are covering all of the costs of the business, and how we’re going to fund that gap. Perhaps we can bootstrap by reinvesting the profits on our existing customers into growth, or perhaps we’re planning to raise investment. Either way, being able to draw our cash curve will help us press ahead with confidence that we have the runway required to get to a good outcome.

Three alternative cash curves

This example shows three alternative cash curves.
The only variable is the churn rate: blue=2%, red=4%, yellow=8%

So, don’t be like the feijoa grower in our story, losing $1 on every customer we gain and trying to solve this by investing in larger and larger trucks. As we grow, take the time to understand our unit economics, and constantly ask: with the current business model, where is the biggest opportunity for improvement?


  1. The first version of this anecdote I heard was from Mark Clare - there are many variations and the details have changed often and significantly in the retelling over the years, but the fundamental point remains the same. ↩︎

  2. Or, as Andressen Horowitz succinctly put it in their SaaS Valuation Primer: “Growth hurts (but only at first).” ↩︎

  3. It’s important to emphasise the “estimate” here. See: What’s your true LTV? by David Skok. ↩︎

  4. In more traditional accounting language, we may prefer to abbreviate this as COGS, for “Cost of Goods Sold”. ↩︎


Related Essays