Shape
What happened during each period
Chart · Trials
Active trials movement shows how the number of running free trials changed in each period: new trials started, minus trials that converted to paid, minus trials that ended without converting. The three parts add up to the change in active trials, so you can see whether growth came from more starts or fewer endings.
Formula
Movement = new trials - converted trials - expired trials
Shape
What happened during each period
API name
trials_movement
Measures
New Trials (Count), Converted Trials (Count), Expired Trials (Count)
Filter and segment by
App, Store, Product, Product duration, Offering, Country, Platform, App version
Definition
New trials are the trials that started in the period. Converted trials are trials that ended in the period and were followed by a paid period of the same subscription. Expired trials are trials that ended in the period with no paid period after them. Converted and expired are shown as negative numbers, and the movement is their sum with new trials.
A trial is placed in the period where it ends. Trials whose end time is still in the future are not counted as converted or expired yet. Filters and segments: app, store, product, product duration, offering, country, platform and app version. Sandbox, granted access and Family Sharing are excluded. You can open it in the dashboard under Charts or fetch it with GET /v2/projects/{project_id}/charts/trials_movement. The response has the same shape as RevenueCat's Charts API, so scripts written for that API keep working. The secret key needs the charts_metrics:charts:read permission. The Charts guide lists every parameter.
Worked example
One week of trials for an app with a 7 day trial.
| Part | Trials |
|---|---|
| Trials running at the start of the week | 300 |
| New trials | +80 |
| Converted to paid | -50 |
| Ended without converting | -25 |
| Movement | +5 |
Active trials goes from 300 to 305 because 80 started and 75 ended.
Why it matters
A flat active trials count can hide two opposite moves. More starts and more expirations produce the same line as fewer of both. The movement chart separates them, so you see whether a change in the trial pipeline is a top-of-funnel change or an outcome change.
The converted and expired bars next to each other are a view of trial outcomes by end date, which is useful when you ship a change in the trial and want to see it show up as soon as the first affected trials end.
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/trials_movement?resolution=day" \
-H "Authorization: Bearer $SECRET_KEY" # sk_... with charts_metrics:charts:read Reference: Charts guide · REST API v2
FAQ
It shows how many trials started, converted and expired in each period, and the net change in running trials.
A conversion removes the trial from the running count, so it is drawn as a negative bar. The same applies to trials that expire.
When it ends and a paid period of the same subscription follows it. A trial that has not ended yet counts as neither converted nor expired.
The funnel groups customers by when they were first seen. This chart groups trials by the period they started or ended in.
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