← Back to Docs

LTV Modeling Guide

Build a repeatable lifetime-value forecast from raw subscription data.

1. Ingest

Pull every charge, refund, and cancellation from your payment provider. Normalize timestamps to UTC and deduplicate by transaction ID. Store the clean set in a single partitioned table or Parquet lake.

2. Cohort Windows

Group customers by the calendar month of their first successful payment. For each cohort, track retention at day 7, 30, 90, 180, and 365. Use a strict “active subscription” definition — no grace periods.

3. Revenue Per User

Sum net revenue (gross minus refunds and chargebacks) per cohort per window. Divide by the cohort’s initial size to get ARPU at each horizon. Plot the curve — it should flatten as churn stabilizes.

4. Survival Curves

Fit a Kaplan-Meier estimator on subscription lifetimes. Treat voluntary cancellation as the event; treat involuntary churn (failed rebills) as censored if the user re-subscribes within 14 days.

5. Forecast LTV

Multiply the survival probability at each month by the cohort’s average monthly revenue. Sum across 36 months. Discount at your cost of capital (8–12% annual) for net-present LTV.

6. Segment & Validate

Slice by acquisition channel, plan tier, and geography. Compare predicted LTV against actual realized revenue for cohorts older than 18 months. Recalibrate quarterly.

Pro tip: Export your Meridian analytics to CSV and feed the cohort table directly into a Jupyter notebook. A 36-month LTV model fits in under 80 lines of pandas.