What is Customer Lifetime Value?
Customer Lifetime Value (LTV) is the total revenue a business expects to earn from a customer over their entire relationship.
Why LTV Matters
The Business Question: "How much should I spend to acquire a customer?"
Without LTV:
"We spent ₹5 Cr on Google Ads and got 50K customers"
Cost per acquisition (CAC) = ₹1,000
Is this good or bad? (Can't tell without knowing customer value)
With LTV:
Each customer generates ₹3,500 in lifetime revenue
LTV = ₹3,500, CAC = ₹1,000
LTV/CAC ratio = 3.5× (GOOD — earning ₹3.50 for every ₹1 spent)
Decision: Increase Google Ads budget (profitable channel)
LTV Formula (Basic)
LTV = Average Order Value × Purchase Frequency × Customer Lifespan
Example:
- Average order value: ₹800
- Purchase frequency: 3 orders/year
- Customer lifespan: 2 years
LTV = ₹800 × 3 × 2 = ₹4,800
Real Example: Swiggy Customer LTV
Scenario: Calculate LTV for Swiggy food delivery customer.
Data (from cohort analysis):
Average order value: ₹450
Orders per month (Year 1): 4 orders/month
Orders per month (Year 2): 2.5 orders/month (retention decay)
Orders per month (Year 3): 1.5 orders/month
Retention:
Year 1: 100% active
Year 2: 60% active (40% churned)
Year 3: 35% active (65% churned)
Calculation:
Year 1 revenue: ₹450 × 4 orders/month × 12 months × 100% = ₹21,600
Year 2 revenue: ₹450 × 2.5 orders/month × 12 months × 60% = ₹8,100
Year 3 revenue: ₹450 × 1.5 orders/month × 12 months × 35% = ₹2,835
3-Year LTV = ₹21,600 + ₹8,100 + ₹2,835 = ₹32,535
If CAC = ₹1,200:
LTV/CAC = ₹32,535 / ₹1,200 = 27× (EXCELLENT)
Business Decision:
- LTV/CAC > 3× = Profitable, scale acquisition
- Payback period: ₹1,200 CAC / (₹21,600 Year 1 revenue) = 20 days (fast payback)
- Action: Invest aggressively in customer acquisition (high ROI)
LTV is like calculating gym membership value. Member pays ₹1,000/month, stays 18 months on average → LTV = ₹18,000. If gym spends ₹3,000 on ads to acquire member (CAC), LTV/CAC = 6× (profitable). If gym spends ₹20,000 on ads (CAC), LTV/CAC = 0.9× (losing money). LTV tells you maximum acquisition budget.
LTV Calculation Methods
Method 1: Historical LTV (Simple Average)
Use Case: Quick estimate using existing customer data.
SQL Query:
WITH customer_revenue AS (
SELECT
customer_id,
MIN(order_date) AS first_order_date,
MAX(order_date) AS last_order_date,
COUNT(DISTINCT order_id) AS total_orders,
SUM(order_value) AS total_revenue,
DATEDIFF('day', MIN(order_date), MAX(order_date)) AS lifespan_days
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '24 months'
GROUP BY customer_id
)
SELECT
AVG(total_revenue) AS avg_ltv,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY total_revenue) AS median_ltv,
AVG(total_orders) AS avg_orders_per_customer,
AVG(total_revenue / NULLIF(total_orders, 0)) AS avg_order_value,
AVG(lifespan_days) AS avg_lifespan_days
FROM customer_revenue
WHERE lifespan_days >= 90; -- Exclude very new customersOutput:
avg_ltv: ₹8,500
median_ltv: ₹5,200 (50% of customers below this)
avg_orders: 12
avg_order_value: ₹708
avg_lifespan: 365 days (1 year)
Interpretation: Typical customer generates ₹5,200 over 1 year
Pros: Simple, uses real data Cons: Backward-looking (doesn't predict future), biased by mature customers
Method 2: Cohort-Based LTV (Most Accurate)
Use Case: Predict LTV using retention curves from cohort analysis.
SQL Query:
WITH cohorts AS (
SELECT
customer_id,
DATE_TRUNC('month', MIN(order_date)) AS cohort_month
FROM orders
GROUP BY customer_id
),
cohort_revenue AS (
SELECT
c.cohort_month,
DATEDIFF('month', c.cohort_month, DATE_TRUNC('month', o.order_date)) AS months_since_signup,
COUNT(DISTINCT o.customer_id) AS active_customers,
SUM(o.order_value) AS revenue
FROM cohorts c
JOIN orders o ON c.customer_id = o.customer_id
WHERE c.cohort_month >= '2025-01-01'
GROUP BY c.cohort_month, months_since_signup
),
cohort_sizes AS (
SELECT
cohort_month,
COUNT(*) AS cohort_size
FROM cohorts
WHERE cohort_month >= '2025-01-01'
GROUP BY cohort_month
)
SELECT
cr.months_since_signup,
AVG(cr.revenue / cs.cohort_size) AS avg_revenue_per_user,
SUM(AVG(cr.revenue / cs.cohort_size)) OVER (ORDER BY cr.months_since_signup) AS cumulative_ltv
FROM cohort_revenue cr
JOIN cohort_sizes cs ON cr.cohort_month = cs.cohort_month
GROUP BY cr.months_since_signup
ORDER BY cr.months_since_signup;Output:
months_since_signup | avg_revenue_per_user | cumulative_ltv
0 | ₹850 | ₹850
1 | ₹620 | ₹1,470
2 | ₹480 | ₹1,950
3 | ₹380 | ₹2,330
6 | ₹250 | ₹3,800
12 | ₹150 | ₹5,200
24 | ₹80 | ₹6,500
24-Month LTV = ₹6,500
Pros: Accounts for retention decay, predicts future revenue Cons: Requires cohort data (minimum 12 months history)
Method 3: Formula-Based LTV (Quick Estimate)
Use Case: Early-stage companies without historical data.
Formula:
LTV = (Average Order Value × Purchase Frequency × Gross Margin) / Churn Rate
Where:
- Average Order Value: Revenue per transaction
- Purchase Frequency: Transactions per month
- Gross Margin: Profit % (after COGS)
- Churn Rate: % of customers who leave per month
Example — PhonePe Wallet:
Average transaction: ₹500
Transactions per month: 8
Gross margin: 1.5% (transaction fees)
Monthly churn rate: 8%
LTV = (₹500 × 8 × 0.015) / 0.08
= ₹60 / 0.08
= ₹750
Interpretation: Average user generates ₹750 in profit before churning
Pros: Fast, works with limited data Cons: Assumes constant churn (unrealistic), simplified
Method 4: Discounted Cash Flow (DCF) LTV
Use Case: Account for time value of money (future revenue worth less than today).
Formula:
LTV = Σ (Revenue_t × Retention_t × Margin) / (1 + discount_rate)^t
Where:
- Revenue_t: Revenue in period t
- Retention_t: % of customers active in period t
- Margin: Gross profit margin
- discount_rate: Cost of capital (e.g., 10% annual)
- t: Time period (months or years)
Example — Netflix Subscription:
Monthly subscription: ₹649
Gross margin: 35%
Monthly retention: 95% (5% churn)
Annual discount rate: 12% (1% monthly)
Month 1: ₹649 × 1.00 × 0.35 / (1.01)^1 = ₹225
Month 2: ₹649 × 0.95 × 0.35 / (1.01)^2 = ₹212
Month 3: ₹649 × 0.90 × 0.35 / (1.01)^3 = ₹200
...
Month 12: ₹649 × 0.54 × 0.35 / (1.01)^12 = ₹109
Month 24: ₹649 × 0.29 × 0.35 / (1.01)^24 = ₹52
24-Month Discounted LTV = ₹3,200 (vs ₹3,800 undiscounted)
Pros: Financially accurate (accounts for time value) Cons: Complex, requires retention curve + discount rate
⚠️ CheckpointQuiz error: Missing or invalid options array
LTV/CAC Ratio and Payback Period
LTV/CAC Ratio
Definition: How many times LTV exceeds CAC (return on acquisition investment).
LTV/CAC = Customer Lifetime Value / Customer Acquisition Cost
Benchmarks:
< 1× = Losing money (unsustainable)
1-2× = Marginal (break-even to slight profit)
3× = Good (industry standard)
5×+ = Excellent (scale aggressively)
10×+ = Outstanding (unicorn metrics)
Real Company Examples
Netflix:
LTV: $1,800 (5-year subscriber value)
CAC: $300 (marketing spend per subscriber)
LTV/CAC: 6× (excellent)
Strategy: Invest heavily in content ($17B/year) and marketing ($2B/year) — high LTV justifies high CAC
Swiggy (Food Delivery):
LTV: ₹32,000 (3-year customer value)
CAC: ₹1,200 (discounts + marketing)
LTV/CAC: 27× (outstanding)
Strategy: Aggressive customer acquisition (spend ₹1,200 to acquire, earn ₹32K over 3 years)
Blinkit (Quick Commerce):
LTV: ₹8,500 (18-month customer value)
CAC: ₹850 (first-order discount + marketing)
LTV/CAC: 10× (excellent)
Strategy: Heavy first-order discounts (₹500 off) justified by high LTV (10× return)
SaaS Startup (Typical):
LTV: $3,600 (3-year subscription at $100/month)
CAC: $1,200 (marketing + sales)
LTV/CAC: 3× (good, but needs improvement)
Strategy: Optimize CAC (reduce from $1,200 → $900) or increase LTV (reduce churn, upsell)
Payback Period
Definition: Time to recover CAC from customer revenue.
Payback Period = CAC / (Monthly Revenue × Gross Margin)
Benchmarks:
< 6 months = Excellent (fast capital recovery)
6-12 months = Good (industry standard)
12-18 months = Acceptable (but tight cash flow)
> 18 months = Risky (long capital lockup)
Example — Zomato Gold Subscription:
CAC: ₹600 (discount on first order)
Monthly revenue: ₹400 (2 orders/month × ₹200 avg order × 10% margin)
Gross margin: 10%
Payback Period = ₹600 / (₹400 × 0.10)
= ₹600 / ₹40 per month
= 15 months
Interpretation: Takes 15 months to recover ₹600 acquisition cost (acceptable but long)
Improving Payback:
- Reduce CAC: ₹600 → ₹400 (reduce first-order discount) → Payback = 10 months
- Increase frequency: 2 orders/month → 3 orders/month → Payback = 10 months
- Increase margin: 10% → 15% (premium subscription) → Payback = 10 months
Strategies to Increase LTV
1. Increase Average Order Value (AOV)
Tactics:
Cross-sell: "Customers who bought X also bought Y"
Upsell: "Upgrade to Premium for ₹200 more"
Bundles: "Buy 3 items, save 20%"
Free shipping threshold: "Add ₹200 more for free delivery"
Example — Myntra:
Before: AOV = ₹1,200
After cross-sell recommendations: AOV = ₹1,450 (+21%)
Impact on LTV:
Before: ₹1,200 × 8 orders/year × 2 years = ₹19,200
After: ₹1,450 × 8 orders/year × 2 years = ₹23,200 (+21% LTV)
2. Increase Purchase Frequency
Tactics:
Loyalty programs: "Buy 5, get 1 free"
Subscriptions: "Subscribe & Save 10%"
Reminders: "Time to reorder [product]"
Personalized offers: "30% off your favorite category"
Example — Nykaa:
Before: 4 orders/year
After loyalty program: 6 orders/year (+50%)
Impact on LTV:
Before: ₹800 × 4 × 2 years = ₹6,400
After: ₹800 × 6 × 2 years = ₹9,600 (+50% LTV)
3. Increase Customer Lifespan (Reduce Churn)
Tactics:
Onboarding: Help users see value quickly (Week 1 engagement critical)
Customer success: Proactive support (resolve issues before churn)
Product improvements: Fix pain points (reduce churn drivers)
Re-engagement: Win-back campaigns for at-risk customers
Example — Netflix:
Before: Avg lifespan 36 months (churn 2.8%/month)
After improved content library: 48 months (churn 2.1%/month)
Impact on LTV:
Before: ₹649/month × 36 months × 0.35 margin = ₹8,173
After: ₹649/month × 48 months × 0.35 margin = ₹10,898 (+33% LTV)
4. Increase Gross Margin
Tactics:
Premium tiers: Higher-priced plans with better margins
Private labels: Own brands with 50%+ margin (vs 20% for branded)
Cost optimization: Reduce fulfillment costs (negotiate shipping rates)
Dynamic pricing: Charge more for high-demand items
Example — Flipkart:
Before: 20% gross margin on branded electronics
After: 40% margin on private label (MarQ, SmartBuy)
Impact on LTV:
Before: ₹10,000 revenue × 0.20 margin = ₹2,000 profit LTV
After: ₹10,000 revenue × 0.40 margin = ₹4,000 profit LTV (+100% LTV)
LTV Improvement Priority Matrix
| Metric | Difficulty | Impact | Priority | |--------|------------|--------|----------| | Reduce Churn | Hard | Very High | 🔴 Critical (10-50% LTV increase) | | Increase Frequency | Medium | High | 🟡 High (20-50% LTV increase) | | Increase AOV | Easy | Medium | 🟢 Quick Win (10-20% LTV increase) | | Increase Margin | Medium | Medium | 🟡 High (10-30% LTV increase) |
Recommended Approach:
- Quick wins (Month 1): Increase AOV (cross-sell, bundles) — easy, fast impact
- High impact (Month 2-3): Increase frequency (loyalty program, subscriptions)
- Long-term (Month 4+): Reduce churn (product improvements, customer success)
⚠️ FinalQuiz error: Missing or invalid questions array
⚠️ SummarySection error: Missing or invalid items array
Received: {"hasItems":false,"isArray":false}