Calculate Customer Lifetime Value and LTV:CAC metrics for your subscription business.
Monthly revenue generated per active account ($).
Percentage of customers cancelling each month.
Profit margin after cost of goods sold (hosting, support).
Total marketing spend divided by new customers acquired ($).
Customer Lifetime (Months)0
Lifetime Value (LTV)$0.00
LTV:CAC Ratio0.0x
Why Calculate SaaS LTV?
In the subscription economy, Customer Lifetime Value (LTV) is the single most important metric for determining the long-term health of your business. Unlike one-time sales models, SaaS businesses rely on recurring revenue to offset the upfront costs of acquiring customers (CAC).
This calculator helps you determine how much revenue a single customer generates over their entire relationship with your company, adjusted for your gross margins. By comparing this to your acquisition costs, you can determine if your business model is sustainable.
How the Math Works
Our calculator uses the standard formula for calculating LTV in subscription businesses:
Customer Lifetime: Calculated as 1 / Monthly Churn Rate. For example, a 5% churn rate implies a customer stays for 20 months.
LTV: Calculated as (ARPU × Gross Margin %) × Customer Lifetime. This gives you the net profit contributed by a user, rather than just raw revenue.
LTV:CAC Ratio: This compares the lifetime value to the cost of acquisition. A ratio of 3:1 is considered the industry benchmark for healthy SaaS growth.
Interpreting Your LTV:CAC Ratio
Under 1:1: You are losing money on every customer acquired. Immediate action is needed to reduce churn or CAC.
1:1 to 3:1: Your business is growing, but profitability may be tight. Focus on optimizing pricing or upselling.
3:1 or higher: Your business is healthy and highly profitable. You can likely afford to spend more on marketing to accelerate growth.
function calculateSaaSLTV() {
// 1. Get Input Values
var arpu = parseFloat(document.getElementById("arpuInput").value);
var churnRate = parseFloat(document.getElementById("churnRateInput").value);
var grossMargin = parseFloat(document.getElementById("grossMarginInput").value);
var cac = parseFloat(document.getElementById("cacInput").value);
// 2. Validate Inputs
if (isNaN(arpu) || isNaN(churnRate) || isNaN(grossMargin) || isNaN(cac)) {
alert("Please fill in all fields with valid numbers.");
return;
}
if (churnRate 0) {
ratio = ltv / cac;
}
// 4. Update UI
document.getElementById("resultLifetime").innerText = lifetimeMonths.toFixed(1) + " Months";
// Format Currency
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
document.getElementById("resultLTV").innerText = formatter.format(ltv);
// Format Ratio
document.getElementById("resultRatio").innerText = ratio.toFixed(2) + "x";
// Analysis Text
var analysisText = "";
var analysisColor = "";
if (ratio < 1) {
analysisText = "Warning: Your LTV is lower than your CAC. You are losing money on acquisition.";
analysisColor = "#e74c3c";
} else if (ratio < 3) {
analysisText = "Okay: You are profitable, but aim for a 3.0x ratio for sustainable growth.";
analysisColor = "#f39c12";
} else {
analysisText = "Excellent: Your LTV:CAC ratio is healthy. You can scale marketing spend.";
analysisColor = "#27ae60";
}
var analysisElem = document.getElementById("resultAnalysis");
analysisElem.innerText = analysisText;
analysisElem.style.color = analysisColor;
// Show Results Div
document.getElementById("ltvResultSection").style.display = "block";
}