Topic 61 of

Customer Lifetime Value (LTV): Predict Long-Term Revenue

Netflix knows a subscriber is worth $1,800 over 5 years. That's why they spend $300 to acquire one. LTV tells you how much a customer is worth — so you know how much to spend acquiring them.

📚Intermediate
⏱️11 min
10 quizzes
💰

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)
Think of it this way...

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:

query.sqlSQL
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 customers

Output:

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:

query.sqlSQL
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:

  1. Reduce CAC: ₹600 → ₹400 (reduce first-order discount) → Payback = 10 months
  2. Increase frequency: 2 orders/month → 3 orders/month → Payback = 10 months
  3. 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:

  1. Quick wins (Month 1): Increase AOV (cross-sell, bundles) — easy, fast impact
  2. High impact (Month 2-3): Increase frequency (loyalty program, subscriptions)
  3. 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}