Analytics

Subscription Cohort LTV Analysis for Creative Spend

An operator playbook for ranking young subscription cohorts: keep realized and projected LTV separate, compare only equal-age snapshots, and write down the uncertainty behind every creative spend decision.

Alex KhvoinitskiiAugust 15, 202511 min read

TL;DR: Compare subscription cohorts by splitting realized revenue from projected LTV, judging cohorts only at equal ages, and writing down what could still change the ranking before you move creative spend.

Creative spend is a ranking problem. You have three ads producing subscribers, and the budget can only follow one of them. The catch: the cohort that looks best this week mostly shows projected value, not earned value. To find subscription cohorts worth creative spend, you need a subscription cohort analysis that treats young numbers as evidence with confidence limits — not as a verdict.

This playbook is for lifecycle, product, and subscription operations leads who sign off on where the next creative dollar goes. It assumes a mobile or web subscription app with monthly and annual plans, and it works whether your subscription LTV data lives in RevenueCat, Adapty, or a warehouse built on billing events.

Why young subscription cohorts mislead spend decisions

A subscription cohort's LTV is a curve, not a number you look up. Group subscribers by acquisition week and source, then track how much net revenue each group has actually produced and how much a model expects it to produce. Early in a cohort's life, almost everything on that curve is expectation.

Three things make immature cohorts dangerous for spend calls:

The fix is not to wait a year. It is to compare cohorts honestly at the age they actually are.

Realized vs predicted LTV: keep observed and projected apart

The first discipline in cohort LTV analysis: never let a single number blend what happened with what a model hopes will happen. RevenueCat's Prediction Explorer formalizes this as two distinct terms: realized LTV is revenue already generated for a cohort, while predicted LTV is that realized revenue plus predicted future revenue inside a defined horizon. A cohort can only carry predicted revenue while it is younger than the lifetime you are measuring.

Use the same split in your own reporting, whatever the tool:

  • Observed (realized): net revenue booked to date — after store fees, payment costs, and refunds. This is the money you can actually reinvest.
  • Projected: expected revenue from a survival curve or forecast model, capped at a horizon your mature cohorts actually support.

On the projection side, know what your model leans on. RevenueCat predicts up to 24-month LTV from per-product survival curves — with fallback dimensions such as store and product duration — trained on a dataset of more than 50k apps, 450M subscriptions, and over $4B in tracked revenue; auto-renew status is the primary per-subscription signal it uses. Adapty takes a similar shape: it releases predicted metrics only after a cohort passes a "baseline day," defined as the first day on which 90% of a cohort's initial revenue has typically been received.

Whichever model you use, count with net revenue — after store fees, payment costs, and refunds — and cap the projection horizon at what your own data supports. Once a cohort matures, the question changes shape entirely; that is when you rank it like any other segment by realized economics, as in the LTV CAC ratio by customer segment playbook. Until then, keep the two columns physically separate in every report and every spend proposal.

Compare cohorts at equivalent ages

Comparing cohorts means comparing identical slices of their lives. A D30 snapshot of one creative against a D90 snapshot of another tells you almost nothing — the older cohort has simply had more renewals.

Set three rules and do not bend them:

  1. Same-age checkpoints. Judge every cohort at D30, D60, D90 — not "whatever age it is today." If a new creative is only at day 14, compare its day-14 numbers to the incumbents' day-14 numbers, or wait.
  2. A minimum maturity gate: 7-14 days before you rank. That is RevenueCat's own recommendation — wait until a cohort is at least 7-14 days old before comparing its predicted LTV with other cohorts, because cancellation rates take time to be observed. Adapty's baseline-day rule plays the same role. Below the gate, you record data; you do not rank.
  3. One cohort definition. RevenueCat itself supports three different cohort definitions — first-seen customers, initial conversions, and first-purchase customers — and warns they are not interchangeable. Pick one (usually first paid subscription) and hold it constant across creatives, channels, and reports.

Mind the trial mix while you do this. Trial-to-paid conversion varies by billing platform and offer, which is exactly why trial to paid conversion rates deserve their own mature-cohort view before you read meaning into a young cohort's trial count.

The cohort maturity decision table

Here is the asset that makes the method stick: a cohort maturity decision table. Every spend-shift proposal fills one row per cohort before anyone touches a budget. It forces the three separations — observed vs. projected, same-age comparison, explicit uncertainty — into a single artifact.

Column What goes in it
Cohort Creative + acquisition week (e.g., "feature-demo, wk 32")
Age at measurement Days since cohort start; must match across rows
Paying subscribers Paid conversions, not trials
Realized net revenue Observed revenue after store fees and refunds
Projected net revenue Realized + model forecast, horizon-capped
% realized Realized ÷ projected — how much of the claim is evidence
Uncertainty statement What could still move the ranking
Decision Scale / hold / kill, and the trigger that changes it

Worked example (synthetic)

Synthetic inputs, reproducible arithmetic — not a client result. Assume a subscription app at $15/month (net ~$10.50 after store fees) plus an annual plan at $120 (net ~$84 upfront). Renewal survival model taken from the app's mature cohorts: months 2-6 retain 0.80, 0.75, 0.70, 0.65, 0.60 of paying subscribers — an expected $36.75 net per monthly payer across months 2-6. Each creative received $3,000 of spend, and every cohort is measured at D30.

Cohort Paying subs Realized net Projected D180 % realized Uncertainty Decision
founder-story 58 (50 mo + 8 yr) $1,197 $3,035 39% Annual mix unproven at renewal Hold — recheck at D60
price-anchor 51 (45 mo + 6 yr) $977 $2,630 37% Promo trials may churn at renewal 1 Kill — projection below spend
feature-demo 66 (55 mo + 11 yr) $1,502 $3,523 43% n=66; zero renewals observed yet Scale +25%, capped

The arithmetic for feature-demo: realized = 55 × $10.50 + 11 × $84 = $1,502. Projected = $1,502 + 55 × $36.75 = $3,523, which clears the $3,000 spend inside the horizon. price-anchor attracted cheap trials ($10/trial vs $21-43 elsewhere) but converted only 17% to paid and projects below spend — a cheap-trial trap, not a bargain.

Two things to notice. First, the same fleet-average survival curve was applied to all three cohorts; that is an assumption, not a measurement, and the table says so. Second, feature-demo earned a capped scale, not a blank check — its uncertainty field records that not one renewal has been observed yet.

State uncertainty before changing spend

A projected ranking is a hypothesis with a deadline. Before any budget moves, the row's uncertainty statement has to say what would prove it wrong: a renewal rate below the survival curve, an annual-plan mix that does not repeat, a refund spike on one creative.

Practical guardrails that hold up in operation:

  • Kill fast, scale slowly. Eric Seufert's creative-testing rule on RevenueCat's Sub Club: losers prove out quickly, winners take time — so kill obvious losers and let apparent winners age while tracking cohort ROAS at checkpoints like day 20, 30, and 50. If you want to see what slow judgment costs, run your numbers through the ROAS leak calculator.
  • Cap the projection horizon. Forecast only as far out as your mature cohorts actually reach. No D365 arithmetic on 90 days of history.
  • Size the move to the evidence. A cohort at 40% realized earns a 20-30% budget step, not a doubling. Recheck after the first renewal event lands.
  • Recalibrate the model. Retention shifts with every product update and audience change; rebuild the survival curve at least quarterly.
  • Report the gap, not just the ratio. Track realized vs projected per cohort on your marketing unit economics dashboard so the whole team sees how much of each claim is still forecast.

Payback math belongs in the same view: how many months of net revenue until cumulative contribution passes the cohort's acquisition cost. The ROI calculator handles the arithmetic; the decision table handles the honesty.

Wire the events that make cohorts trustworthy

None of this works if the cohort's revenue stream is wrong. Two plumbing details decide whether your subscription app LTV cohorts are real:

Check both monthly: one broken webhook or one unattributed campaign silently rewrites your rankings.

FAQ

What is cohort LTV?

Cohort LTV is the lifetime value of a group of subscribers who share a start point — usually the week or campaign that acquired them — measured as a curve over time. Unlike a single blended subscription LTV number, it shows which acquisition sources produced subscribers who keep paying.

How do you calculate LTV for a subscription app?

Build a retention curve from mature cohorts: the share of subscribers still paying after each renewal, multiplied by net revenue per period (after store fees, payment costs, refunds), summed to a horizon your data supports. For young cohorts, report realized revenue and projected revenue separately rather than one blended figure.

Can I compare cohorts when some subscribers came through a web funnel?

Yes, but only if acquisition source survived the web-to-app jump. Deferred deep-linking paths can return null campaign fields for new users, leaving those subscribers untagged — fix attribution first, or the web-sourced cohort silently contaminates the comparison.

Answer clarity notes

  • Dates: vendor documentation reflects behavior as documented at access time (November 2026); RevenueCat's 7-14 day minimum-cohort-age guidance and Adapty's baseline-day definition may change — check current docs before hard-coding thresholds.
  • Scope: written for subscription apps (mobile and web) with mixed monthly/annual plans selling to consumers; US-market store-fee assumptions. Enterprise SaaS and usage-based pricing need different models.
  • Evidence: vendor mechanics (realized vs predicted LTV, survival curves, webhook events, deep-link parameters) come from the public sources linked in text. The decision-table worked example uses explicitly synthetic inputs and assumptions — it is a reproducible calculation template, not a measured customer result or benchmark.
  • Not guarantees: survival factors, conversion rates, revenue figures, and the scale/hold/kill calls in the example are planning guidance. Your cohorts, fees, and margins will differ; not guarantees of outcome.

Sources

Cohort rankings are only as honest as the ledger behind them. If you want a second pair of eyes on your cohort pipeline and spend rules, a That'sGonnaHelp automation audit reviews exactly this workflow.

A

Alex Khvoinitskii

Founder, That'sGonnaHelp

Founder of That'sGonnaHelp. Building growth and automation systems since 2021 — GTM, traction, retention, and revenue — for SaaS, FinTech, and e-commerce clients, from early-stage brands to global exchanges.

Related articles

Analytics

Web to App Attribution for Subscription Apps

The ad platform reports installs and the billing system reports subscribers; nothing connects them. This blueprint joins web clicks to paid app subscriptions with a deferred deep link, an ID map, and explicit unmatched reporting.

August 21, 202510 min
Discuss your project