Home › Business & Marketing › CAC and LTV Calculator
CAC and LTV Calculator
Computes customer acquisition cost from marketing spend and new customers, customer lifetime value from monthly revenue per customer, gross margin and monthly churn (lifetime = 1 / churn), plus the LTV:CAC ratio and CAC payback period in months.
When to use
You need SaaS or subscription unit economics: how much a customer costs to acquire, what they are worth over their lifetime, and how the two compare.
Do not use when: Customers buy once rather than recur (LTV then equals margin per order × repeat purchases) or you only need the churn rate itself (use churn-rate).
Formula
CAC = marketing_spend / new_customers; lifetime_months = 100 / monthly_churn_percent; LTV = monthly_revenue_per_customer × gross_margin_percent/100 × lifetime_months; ratio = LTV / CAC; payback_months = CAC / (monthly_revenue_per_customer × gross_margin_percent/100)
Simple (undiscounted) LTV with constant churn and revenue; the 1/churn lifetime is the expected lifetime of a geometric survival process. Discounting future margin or including expansion revenue would change the value.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
marketing_spend | number | yes | Total acquisition spend in the period (ads, sales salaries, tools). Range: ≥ 0, ≤ 1000000000000 | |
new_customers | integer | yes | Customers won in the same period. Range: > 0, ≤ 1000000000 | |
monthly_revenue_per_customer | number | yes | Average revenue per customer per month (ARPU / ARPA). Range: > 0, ≤ 1000000000 | |
gross_margin_percent | number | % | default 100 | Gross margin on that revenue. Use 100 for a revenue-based LTV. Range: > 0, ≤ 100 |
monthly_churn_percent | number | % | yes | Share of customers lost per month; lifetime = 1 / churn. Range: > 0, ≤ 100 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
cac | number | marketing_spend / new_customers. | |
monthly_gross_profit_per_customer | number | monthly_revenue_per_customer × gross_margin. | |
customer_lifetime_months | number | months | 1 / (monthly_churn_percent / 100). |
ltv | number | monthly gross profit per customer × customer lifetime. | |
ltv_to_cac_ratio | number | ltv / cac; 3 or more is the usual benchmark for a healthy subscription business. | |
cac_payback_months | number | months | cac / monthly gross profit per customer. |
assessment | string | Comparison of the ratio with the common 3:1 benchmark. |
Example
Spend 10,000 / 100 customers, ARPU 50, 80 % margin, 5 % churn: {"marketing_spend":10000,"new_customers":100,"monthly_revenue_per_customer":50,"gross_margin_percent":80,"monthly_churn_percent":5} → {"cac":100,"monthly_gross_profit_per_customer":40,"customer_lifetime_months":20,"ltv":800,"ltv_to_cac_ratio":8,"cac_payback_months":2.5}
Spend 60,000 / 150 customers, ARPU 30, 70 % margin, 4 % churn: {"marketing_spend":60000,"new_customers":150,"monthly_revenue_per_customer":30,"gross_margin_percent":70,"monthly_churn_percent":4} → {"cac":400,"customer_lifetime_months":25,"ltv":525,"ltv_to_cac_ratio":1.31,"cac_payback_months":19.05}
GET https://tttkmbb.com/api/v1/calculate/cac-ltv?marketing_spend=10000&new_customers=100&monthly_revenue_per_customer=50&gross_margin_percent=80&monthly_churn_percent=5
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/cac-ltv(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/cac-ltv · Markdown: https://tttkmbb.com/business/cac-ltv.md · JSON definition: https://tttkmbb.com/business/cac-ltv.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="cac-ltv" - OpenAPI operationId:
calculate_cac_ltv - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- Wikipedia – Customer lifetime value (reference)
- Wikipedia – Customer acquisition cost (reference)
- Andreessen Horowitz – 16 Startup Metrics (reference)
FAQ
Why is lifetime 1 / churn?
If 5 % of customers leave every month, the expected time a customer stays is 1 / 0.05 = 20 months. This assumes churn is constant over time.
Should LTV use revenue or gross margin?
Gross margin, because only margin can repay acquisition cost. Revenue-based LTV (gross_margin_percent = 100) overstates value for low-margin businesses.
Related calculators
- Churn Rate Calculator — Compute the monthly churn rate from customer counts.
- MRR Growth Calculator — Project recurring revenue growth.
- ROAS Calculator — Return on the advertising part of acquisition spend.