Shape
A snapshot at the end of each period
Chart · Subscriptions
Subscription status splits your active subscriptions, trials, MRR or ARR by renewal state: set to renew, set to cancel, or billing issue. RevenueDot uses each subscription's current store state, so you can see how much recurring revenue is at risk before it expires. Past states are not stored.
Shape
A snapshot at the end of each period
API name
subscription_status
Measures
Set to renew (Count), Set to cancel (Count), Billing issue (Count)
Filter and segment by
App, Store, Product, Product duration, Offering, Country, Platform, App version
Definition
The status_measure selector picks what is split: active subscriptions (the default), active trials, MRR or ARR. For each end-of-period snapshot, every subscription with access is counted, or valued, in exactly one of three states. Set to renew means it will renew at the end of the current period. Set to cancel means auto-renew is off and access ends at the end of the current period. Billing issue means the renewal failed and the subscription is in a grace period or billing retry.
RevenueDot keeps the store's current state, not a history of states. For the current period it uses that current state. For earlier periods it infers the state: a period that was followed by another paid period or a product change counts as set to renew, and a period that ended without renewing counts as set to cancel, or as billing issue if the store reported one. Read the latest bar for current risk, and treat older bars as an estimate.
The chart is a stacked bar of end-of-period snapshots. Sandbox purchases, granted access and Family Sharing purchases are excluded, and MRR and ARR use each subscription's purchase-date exchange rate. Filter or segment by app, store, product, product duration, offering, country, platform and app version.
Find it in the dashboard under Analytics > Charts, or call GET /v2/projects/{project_id}/charts/subscription_status with a selectors parameter such as {"status_measure":"mrr"}. The response has the same shape as RevenueCat's Charts API.
Worked example
Illustrative numbers for the MRR measure at the end of one day.
| State | Active subscriptions | MRR |
|---|---|---|
| Set to renew | 900 | $9,200 |
| Set to cancel | 80 | $1,100 |
| Billing issue | 20 | $200 |
$1,100 + $200 = $1,300 of the $10,500 MRR (about 12%) is set to cancel or has a billing issue.
Why it matters
A subscriber who turned off auto-renew is still counted today but will leave at the end of the paid period. This chart shows how much of your base is in that state now, which helps you forecast next month's MRR and decide whether a save offer or a cancellation survey is worth building.
The billing issue slice is money you can often keep. The store retries the charge during a grace period or billing retry, and a clear message in your app can recover it. If the slice grows after a release, check that your app still gives access while the store retries.
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/subscription_status?resolution=day" \
-H "Authorization: Bearer $SECRET_KEY" # sk_... with charts_metrics:charts:read Reference: Charts guide · REST API v2
FAQ
The customer turned off auto-renew. The subscription keeps access until the end of the current paid period, and then it ends unless the customer turns auto-renew back on.
A subscription whose renewal charge failed. The store retries the payment during a grace period or billing retry, and the customer may keep access while it does.
Only as an estimate. RevenueDot stores each subscription's current state, not a history, so earlier periods are inferred from what happened after them.
Yes. Set the status_measure selector to mrr, or to arr, actives or trials, and the chart splits that measure by renewal state.
Yes, while the subscription still has access, for example during a grace period. It leaves the count when access ends.
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