Method
The arithmetic
Acquisition cost is spend divided by the customers it produced. Expected lifetime is modelled as the reciprocal of the monthly churn rate, so a 5% monthly churn implies twenty months. Lifetime value is then the gross profit per month across that lifetime — deliberately gross profit rather than revenue, because a revenue-based lifetime value overstates the ratio by exactly the margin. Payback divides the acquisition cost by the monthly gross profit.
CAC = spend ÷ customers · lifetime months = 100 ÷ monthly churn% · LTV = revenue per month × margin × lifetime months · ratio = LTV ÷ CAC · payback months = CAC ÷ (revenue per month × margin)
Worked example
One run through the numbers
Spending 20,000 to acquire 100 customers puts CAC at 200. At 50 per month, an 80% gross margin, and 5% monthly churn, the expected lifetime is 20 months and lifetime value is 800 — an LTV to CAC ratio of 4.0. The acquisition pays for itself after 5 months, because each month returns 40 of gross profit.
Swap in your own figures — the result recalculates as you type.
Asked often
CAC and LTV Calculator: questions that come up
Should CAC use all marketing spend or only paid media?
Use whatever you are trying to decide about. A blended CAC across all marketing spend tells you what the business as a whole pays for a customer; a paid-only CAC tells you what the next unit of ad budget buys. They answer different questions and the blended figure is almost always the lower of the two.
How do I get a monthly churn rate?
Divide the customers lost in a month by the customers you had at the start of that month. If your billing is annual, use the annual retention figure and convert it rather than dividing by twelve, because churn compounds.
Why does lifetime value use gross margin?
Because the money available to pay back an acquisition is gross profit, not revenue. Serving costs, payment fees, and support scale with the customer, and a lifetime value that ignores them is counting money the business never gets to keep.
What if my churn rate is zero?
Then the model has no answer: dividing by zero gives an infinite lifetime, so the tool returns nothing rather than a number that looks calculated. In practice a genuinely zero monthly churn means the measurement window is too short.