A client once panicked because their AWS bill grew 18% in a month. We pulled the unit number and showed cost per active customer had actually dropped 9% - they were just growing faster than the bill. Total spend is the wrong lens for a growing business. Unit economics is the lens that tells you whether growth is healthy.
Pick a denominator that the business already trusts
The unit has to be something the company already counts: active customers, completed orders, processed documents, million API requests. We avoid inventing a metric for the cost report. If finance reports monthly active customers, that is our denominator, because then cost per customer slots straight into conversations that are already happening.
- Cost per active customer - the board-level number
- Cost per 1M requests - the number platform teams can move
- Cost per tenant - essential for multi-tenant SaaS pricing
- Cost of goods sold as a percentage of revenue - what investors ask about
You need allocated cost, not the raw CUR
Unit economics depends on attribution. We build on the Cost and Usage Report (CUR) in Athena or a warehouse, join it to tags and to a business metrics table, and compute the ratio per period. The hard part is never the division - it is making sure the numerator (allocated cost) and denominator (the business metric) line up on the same days and the same boundaries.
Total cost tells you what you spent. Cost per unit tells you whether to be worried about it.
Separate fixed from variable
Some costs scale with usage (compute serving requests) and some are fixed regardless of one more customer (the data platform, observability, the baseline cluster). We split them, because the marginal cost of the next customer is what pricing and sales need, while the fixed base is what tells you when you have overbuilt the platform for the traffic you have.
SELECT date_trunc('month', line_item_usage_start_date) AS month,
SUM(line_item_unblended_cost) AS allocated_cost
FROM cur
WHERE resource_tags['service'] = 'checkout'
GROUP BY 1
ORDER BY 1;Trend beats snapshot
A single cost-per-customer figure is almost meaningless. The slope is everything. We track it monthly and watch for the inflection where it stops falling - that usually means a fixed cost just stepped up, or an architectural choice stopped scaling. Once a client has this number on a dashboard, the cost conversation changes tone: it stops being 'the bill is scary' and becomes 'we serve a customer for 3.10 euros and we want it under 2.50 by Q4', which is a goal an engineering team can actually chase.