Shape
Cohorts by age, in a table
Chart · LTV
Prediction Explorer shows realized LTV per customer by monthly cohort and fills the months a cohort has not reached yet with a projection. It uses the chain-ladder method: each missing month grows by the growth that older cohorts showed between the same two months. It uses only your own data and goes up to month 24.
Formula
Predicted LTV at month n = LTV at month n−1 × (total LTV at month n ÷ total LTV at month n−1, across older cohorts that completed both months)
Shape
Cohorts by age, in a table
API name
prediction_explorer
Measures
LTV / Customer (USD)
Filter and segment by
App, Store, Product, Product duration, Offering, Country, Platform, App version
Definition
The realized part is the same as Cohort Explorer's realized LTV per customer: cumulative revenue of the cohort from each customer's start through the end of each month of their own age, divided by the cohort size, net of refunds and in US dollars at the purchase-date rate. Month 0 is the first month. The cohorting_date selector groups customers by new_customers (the default), initial_conversions or new_paying_customers.
For each month n, RevenueDot adds up the month n values of all cohorts that have completed both month n−1 and month n, and divides by the sum of their month n−1 values. That ratio is the growth factor for month n. A cohort's missing months are its last realized value multiplied by the growth factors in order. If no cohort has completed a month yet, its factor is 1, so the projection stays flat. Predicted cells carry predicted: true and incomplete: true in the API.
This is a projection from your own older cohorts. It does not use data from other apps, a survival model, seasonality or knowledge of a price change. It assumes newer cohorts grow like older ones. Sandbox purchases, granted access and Family Sharing purchases are excluded, and ad revenue is not included. Filter by app, store, product, product duration, offering, country, platform and app version, but not segment.
Find it in the dashboard under Analytics > Charts, or call GET /v2/projects/{project_id}/charts/prediction_explorer. The response has the same shape as RevenueCat's Charts API: a cohort table with periods[0] as the cohort size.
Worked example
Illustrative numbers with two cohorts. Cohort A has completed month 1. Cohort B has not.
| Cohort | Month 0 | Month 1 |
|---|---|---|
| A (older) | $2.00 | $3.00 |
| B (newer) | $2.50 | $3.75 (predicted) |
Growth for month 1 = 3.00 ÷ 2.00 = 1.5, so cohort B's predicted month 1 = 2.50 × 1.5 = $3.75. With more cohorts, the month 1 values are added up before the division.
Why it matters
Waiting a year to learn what a customer is worth is too slow when you buy traffic every week. A projection from the cohorts you already have lets you estimate whether a channel will pay back by month 6 or month 12, and keep or cut spend sooner.
Treat it as an estimate. It works best when your older cohorts look alike and your product has not changed much. Compare predicted cells of a recent cohort with the realized columns as they arrive, and learn how far off the projection is for your own app.
predicted: true in the API. Keep them apart from realized values in any report.API
Same path and response shape as RevenueCat's Charts API, so existing scripts keep working.
curl "https://api.revenuedot.app/v2/projects/$PROJECT_ID/charts/prediction_explorer?resolution=month" \
-H "Authorization: Bearer $SECRET_KEY" # sk_... with charts_metrics:charts:read Reference: Charts guide · REST API v2
FAQ
Group customers into cohorts, measure cumulative revenue per customer by month of age, and project the missing months from how older cohorts grew between the same months. RevenueDot does this with the chain-ladder method.
A way to complete a triangle of cohort data. For each month, it takes the growth older cohorts showed from the previous month and applies it to cohorts that have not reached the month yet.
It depends on how alike your cohorts are. RevenueDot has no accuracy benchmark. Compare the predicted cells of a recent cohort with the realized values when they arrive.
No. It uses only your own cohorts. It does not use a model trained on other apps.
In the API, every predicted cell has predicted: true. Realized cells do not.
Get started
Connect your app to RevenueDot Cloud, free up to $10,000 a month in tracked revenue, and all 43 charts fill from your store history after import.
Already have an account? Sign in · Prefer your own servers? Self-host free