The contractor money toolkit
Customer lifetime value calculator
Customer lifetime value is the gross profit an account is expected to produce over its life, adjusted for retention and optionally discounted to today's dollars.
See what it adds up to
- Lifetime gross profit, discounted
- $15,337.64
- Lifetime gross profit, undiscounted
- $21,423.02
- LTV:CAC, discounted
- 10.23:1
- CAC payback, at current run rate
- 3.75 months
LTV:CAC uses discounted gross profit. CAC payback uses current monthly gross profit before retention and discounting; it is a run-rate estimate, not a promise of collection.
Show your work
How the math works
Use the same math on a spreadsheet or a sheet of paper. Percentage inputs become decimals in the formulas.
1. Start with annual gross profit
Multiply annual revenue by gross margin. Keep revenue and margin constant in this model.
Annual gross profit = annual revenue × gross margin
2. Count each likely renewal
Count the full first year. Multiply each later year's gross profit by the chance the account is still active, then add the years up to your cap.
LTV = Σ from t = 1 to N of [annual gross profit × retention^(t − 1)]
3. Discount future profit
Divide each year's expected gross profit by one plus the discount rate, raised to that year. Profit is discounted at year end, including year one.
Discounted LTV = Σ from t = 1 to N of [annual gross profit × retention^(t − 1) ÷ (1 + discount rate)^t]
4. Compare value and payback with CAC
Divide discounted LTV by CAC to compare account value with acquisition spend. Divide CAC by monthly gross profit for simple payback.
LTV:CAC = discounted LTV ÷ CAC; payback months = CAC ÷ (annual gross profit ÷ 12)
The numbers on paper
A worked example
N is the maximum whole number of years, capped at 100. Rates in the formulas are decimals, so 80% is 0.8. Revenue and margin stay flat. The account earns its first year before any renewal decision; zero retention still includes that first year. LTV is gross profit before subtracting CAC.
| Input | Value |
|---|---|
| Annual revenue per account | $12,000.00 |
| Gross margin | 40% |
| Annual retention | 80% |
| Maximum account years | 10 years |
| Annual discount rate | 10% |
| Customer acquisition cost (CAC) | $1,500.00 |
| Result | Value |
|---|---|
| Lifetime gross profit, discounted | $15,337.64 |
| Lifetime gross profit, undiscounted | $21,423.02 |
| LTV:CAC, discounted | 10.23:1 |
| CAC payback, at current run rate | 3.75 months |
Use the result to make the next call
Compare discounted LTV with CAC and the cash needed to serve the account. If payback extends beyond the expected relationship, lower acquisition cost or improve the account's gross profit before expanding outreach.
Common questions
A few things to know
How do contractors calculate customer lifetime value?
Multiply annual account revenue by gross margin to find annual gross profit. Add that profit across the years the account is expected to stay, weighting future years by retention. Discount those years if you want to compare their value in today's dollars.
What happens at 100% annual retention?
The account contributes gross profit in every year up to the maximum years input. The calculator does not divide by zero churn or claim an infinite lifetime. With zero discounting, LTV is annual gross profit multiplied by the year cap.
Does zero retention mean zero lifetime value?
No. The model starts with a new account that earns its first year of gross profit. Zero annual retention means it does not renew for year two. A zero year cap, zero revenue or zero gross margin produces zero lifetime gross profit.
Why is discounted LTV lower?
A positive discount rate reduces future gross profit to its present value. This calculator discounts each year's expected profit at year end. Set the discount rate to zero and discounted LTV equals undiscounted LTV.
Does LTV:CAC subtract acquisition cost first?
No. LTV:CAC divides lifetime gross profit by acquisition cost. This calculator uses discounted gross profit for that ratio. A 3:1 result means $3 of present-value gross profit for each $1 of acquisition spend. If CAC is zero, the ratio is Not defined.
Can I model a single project instead of a service agreement?
Yes. Enter the project's revenue and gross margin, then set maximum years to 1 and discount rate to zero for an undiscounted project comparison. For a service agreement, enter annual revenue, renewal retention and a finite year cap. Actual project payback follows its billing and collection schedule.
Find more accounts worth keeping
Ground Control by PorchRocket builds a list of commercial properties that fit what you sell and where you work. Start your next campaign with account value in mind.