Shape
What happened during each period
Chart · Subscriptions
Active subscriptions movement shows how your count of paying subscriptions changed in each period: new subscriptions plus resubscriptions, minus churned ones. RevenueDot nets out billing recoveries and does not count a paid-to-paid product change as either, so the total equals the change in active subscriptions.
Formula
Movement = new actives + resubscription actives − churned actives
Shape
What happened during each period
API name
actives_movement
Measures
New Actives (Count), Resubscription Actives (Count), Churned Actives (Count)
Filter and segment by
App, Store, Product, Product duration, Offering, Country, Platform, App version
Definition
The chart has three plotted measures and one total. New Actives counts subscriptions that became paid, other than resubscriptions and paid-to-paid product changes. A free trial counts on the day it converts to paid. Resubscription Actives counts paid subscriptions started by customers whose earlier subscription had ended. Churned Actives counts paid subscriptions that lost access, on the day the access ended, as a negative number. Movement is the sum, and it is in the table and the API.
Churned Actives is net of billing recoveries. If a renewal fails, access lapses, and the store later recovers the payment, the recovery cancels the churn it caused. A paid-to-paid product change, such as monthly to annual, counts in none of the three measures, because the customer was active before and after.
Everything is counted on the date it happened and in UTC. Sandbox purchases, granted access and Family Sharing purchases are excluded. Filter or segment by app, store, product, product duration, offering, country, platform and app version. Day is the default resolution, with week, month, quarter and year available.
Find it in the dashboard under Analytics > Charts, or call GET /v2/projects/{project_id}/charts/actives_movement. The response has the same shape as RevenueCat's Charts API.
Worked example
Illustrative numbers for one week, starting with 2,000 active subscriptions.
| Measure | Count |
|---|---|
| New actives (60 of them trial conversions) | +150 |
| Resubscription actives | +20 |
| Churned actives | −110 |
Movement = 150 + 20 − 110 = +60, so the week ends with 2,060 active subscriptions. A customer who switched from monthly to annual is in none of the three rows.
Why it matters
Active Subscriptions shows the total. This chart shows what moved it. A flat total can hide a launch that brought in many new subscribers while an old cohort expired, and the bars show that at once.
Use it to tell acquisition problems from retention problems. If new actives fall, look at your paywall, trial and traffic. If churned actives rise, look at renewals, billing issues and cancellation reasons. If resubscriptions rise after a campaign, win-back is working.
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/actives_movement?resolution=day" \
-H "Authorization: Bearer $SECRET_KEY" # sk_... with charts_metrics:charts:read Reference: Charts guide · REST API v2
FAQ
New actives are subscriptions that became paid for the first time, including trial conversions. Resubscription actives are paid subscriptions started by customers whose earlier subscription had ended.
Add new actives and resubscription actives, then subtract churned actives. RevenueDot shows that sum as the Movement measure, and it equals the change in the active subscription count.
No. A paid-to-paid product change counts in neither new nor churned actives, because the customer stayed subscribed.
When it loses access: when its paid time runs out, a grace period ends, or a refund is recorded. Turning off auto-renew alone does not churn it.
A renewal that failed, lapsed access, and then succeeded after the store retried the charge. RevenueDot treats it as the same subscription and cancels the churn it caused.
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