How do you calculate customer lifetime value for a service business?
Multiply average revenue per job by jobs per customer per year by the average number of years retained, then multiply by gross margin to get value rather than revenue. The hard term is retention, because service customers rarely cancel anything — they just stop calling — so you have to define a lapse window. Compute it by segment; a single blended number is almost useless for decisions.
The formula, and where each term comes from
Lifetime value is average revenue per job, times jobs per customer per year, times years retained, times gross margin. Every term is available in your operational data if the customer records are clean enough to group jobs correctly.
The last term is the one people drop. Revenue-based lifetime value overstates what a customer is worth to you by whatever your cost of delivery is, and in trades with heavy material costs that difference is large enough to change acquisition decisions.
Retention has no cancellation event
A software company knows exactly when a customer leaves. You do not. A homeowner who has not called in two years may be gone, may have had nothing break, or may call tomorrow.
So retention becomes a modeling choice: pick a lookback window appropriate to your purchase cycle, count customers with no job inside it as lapsed, and hold that definition constant. The window matters more than it looks — stretch it and lifetime value rises without anything real changing. Document the choice next to the number, the same way you would document any revenue definition.
Blended lifetime value hides the decisions you need to make
The reason to compute lifetime value at all is to decide what an acquisition is worth. A blended average cannot do that, because the variation between segments is usually larger than the average itself.
Cut it at least by first job type and by acquisition channel.
- By first job type. A customer acquired through an emergency drain call and one acquired through a system replacement have different repeat behavior and different margins.
- By acquisition channel. Channels differ not only in cost per lead but in what kind of customer they bring. A cheap channel producing one-time price shoppers can be the expensive one.
- By membership status. Usually the widest split you will find, though remember members self-selected.
- By geography. Service area edges often show lower repeat rates simply because someone closer is more convenient next time.
Two honest caveats
First, lifetime value computed from history assumes the future resembles the past. If you changed pricing, service area or job mix, the historical figure describes a company you no longer run.
Second, you cannot measure the full lifetime of customers you acquired recently, so any current-year number is an estimate built on older cohorts. Cohort curves — revenue per customer by months since first job — are more useful than a single figure, because they show whether newer cohorts are tracking above or below the old ones early enough to act. That kind of cohort view is standard in business intelligence work and is worth building once.
Topics: lifetime value · LTV · unit economics · retention
Have a version of this question about your own business?
The useful answer usually depends on which systems you run and how they're connected. That's a conversation, not a blog post.