Charts

Analyzing your subscription business with visualizations

👍

Charts are available on paid plans.

RevenueCat charts allow you to understand your user base with key subscription specific metrics, filters, and segments. All charts are generated from the current snapshot of purchase receipts saved in RevenueCat and work independently from any in-app usage.

This means that your charts are always up-to-date, without having to rely on any client-side event logging. However, since receipt files are dynamic, this means even historical data may change from day-to-day if for example a user was refunded. This also means that data in RevenueCat may be different than other systems tracking similar metrics - see the section on Differences In Data for more information.

📘

Charts show production data only

Due to the limitations of the sandbox environments, charts are only displayed for production transaction data.

Differences In Data

All of the charts in RevenueCat are generated from a snapshot of the current state of all receipts from your app. This is different than other analytics systems that may use event based metrics and counters to track values. This also means that data for any historical point in time may change if a receipt file is added or updated.

When comparing data in RevenueCat to other systems, keep in mind any reporting differences between the systems such as timezones, calculations, and whether the underlying source data is the same.

RevenueCat does not connect to App Store Connect or Play Store directly, so you should expect differences in data when comparing these systems to RevenueCat. Also, remember that RevenueCat only has information from customers that have purchased or restored through the Purchases SDK or REST API.

You can read more about data discrepancies more in-depth in our community article here.

Charts

Active Subscriptions

Segments: Yes
Filters: Yes
The Active Subscriptions chart shows the number of unexpired, paid subscriptions at the end of each period charted. For the current period, the number indicated is the current active subscriptions. Subscriptions that have auto-renew disabled are still counted in Active Subscriptions.

Note that it is possible for a single user to start multiple subscriptions in the same period, if for example they start a trial for a monthly subscription then switch to an annual subscription.

This chart is useful for understanding the number of individual, recurring relationships you are currently serving and is a proxy for the size of the business and is powerful when combined with filters and segments to understand what is driving subscriptions.

Active Subscriptions Movement

Segments: No
Filters: Yes
The Active Subscriptions Movement chart shows the increases and decreases to Active Subscriptions caused by new and churned subscriptions.

New Actives are new subscriptions started in that period. Churned Actives counts subscriptions that exceeded their expiration date without renewing or that were refunded, minus any previously churned subscribers that re-subscribed. Churned Actives can be negative if there were more re-subscriptions than churned subscriptions during the period. Movement is the difference between the two and represents the net change of Active Subscriptions.

Dissecting the movement of your Active Subscriptions is a good way to understand what is causing your subscription base to grow or shrink.

Churn

Segments: Yes
Filters: Yes
The Churn chart is the percentage of paid subscriptions that were lost during a given period and never resubscribed. The calculation is (number of subscriptions expired during period – re-subscriptions) / (number of paid subscriptions at the start of the period) * 100. Note that a subscription isn't counted as expired until the user no longer has access. This means users that turn off auto-renew aren't counted as "churned" until their subscription expires.

Churn can be negative if during a given period there were more re-subscriptions (i.e., previously churned subscribers who re-subscribed) than churned subscriptions.

Churn can be relatively high for mobile apps when compared to web SaaS products. Like trial conversion, churn is another metric you should continuously monitor and work to improve. By combining churn and trial conversion you can start to make longer-term forecasts of the lifetime value of your subscribers.

Refund Rate

Segments: Yes
Filters: Yes
The Refund Rate chart shows the number of transactions (new subscriptions and renewals) in each time period and what proportion of these transactions was refunded. Trial start transactions are excluded from the Refund Rate chart, given that they have no revenue and can’t be refunded.

The Refund Rate is an important indicator whether your customers are getting the value they expected when they started their subscription.

Annual Recurring Revenue (ARR)

Segments: Yes
Filters: Yes
The Annual Recurring Revenue, or ARR, chart is an annualized estimation of your recurring revenue. It is computed by multiplying MRR by 12. Non-recurring subscriptions, consumable, or one-time purchases are not computed in ARR. Also, a subscription contributes to ARR until it expires, the auto-renew status has no effect. Note that ARR calculations excludes store cuts.

ARR is an important metric to track as it is a common benchmark for subscription companies and is a good way to assess scale of your existing business.

Realized LTV per Customer

Segments: Yes
Filters: Yes
Realized LTV (Lifetime Value) per Customer (sometimes also called Average Revenue per User, ARPU) shows the actual (gross) revenue that was generated by a customer cohort, divided by the number of customers in that cohort. Customers are cohorted by the date they were first seen, i.e. the date they first opened your app. Using the “Customer Lifetime” selector, you can define the time period after the customer was first seen that should be considered in terms of revenue. For example, by setting the “Customer Lifetime” selector to 30 days, all revenue generated by new customers in their first 30 days will be added up, and any revenue generated after that will be discarded for the purpose of this chart.

Realized LTV per Customer gives you an overall view how the monetization of customer cohorts has developed over time. A common use case is to compare a certain customer lifetime (e.g. 30 days) for users acquired in different months. You can then connect the results with what happened in product and marketing during these months. For example, changes to your paywall, App Store / Play Store features, or changes in paid acquisition may change the number of newly acquired customers and/or the average revenue generated per customer.

Realized LTV per Customer can also be used as a tool to understand the profitability of (paid) acquisition. By comparing the Realized LTV per Customer for a given cohort with the average Customer Acquisition Cost for that cohort, you can calculate the acquisition profitability.

Realized LTV per Paying Customer

Segments: Yes
Filters: Yes
Realized LTV (Lifetime Value) per Paying Customer (sometimes also called Average Revenue per Paying User, ARPPU) shows the actual (gross) revenue that was generated by a cohort of paying customers, divided by the number of customers in that cohort. Customers are cohorted by the date they were first seen, i.e. the date they first opened your app. Using the “Customer Lifetime” selector, you can define the time period after the customer was first seen that should be considered in terms of revenue. For example, by setting the “Customer Lifetime” selector to 30 days, all revenue generated by new customers in their first 30 days will be added up, and any revenue generated after that will be discarded for the purpose of this chart.

Realized LTV per Paying Customer gives you an overall view how the monetization of cohorts of paying customers has developed over time. A common use case is to compare a certain customer lifetime (e.g. 30 days) for users acquired in different months. You can then connect the results with what happened in product and marketing during these months. For example, changes to your paywall, App Store / Play Store features, or changes in paid acquisition may change the number of new paying customers and/or the average revenue generated per paying customer.

Realized LTV per Paying Customer can also be used as a tool to understand the profitability of (paid) acquisition. By comparing the Realized LTV per Paying Customer for a given cohort with the average cost to acquire a new paying customer for that cohort, you can calculate the acquisition profitability.

Monthly Recurring Revenue (MRR)

Segments: Yes
Filters: Yes
The Monthly Recurring Revenue, or MRR, chart is a way of normalizing the scale of your business to better understand your velocity or size. It doesn't map directly to revenue, but it is a useful standardization.

MRR is computed by "normalizing" subscriptions to a 1-month period. Non-recurring subscriptions, consumable, or one-time purchases are not computed in MRR. For example, a subscription that is $8 per month, will contribute $8 to MRR while it is active. An annual subscription that costs $120 per year will contribute $10 dollars per month to MRR for 12 months. This normalizing of all durations to a 1 month period makes it easier to compare different subscriptions of different durations together. Note that MRR calculations excludes store cuts.

MRR is an important measure because it not only captures the size of your subscriber base, but translates that into a real velocity metric for your business. MRR and ARR are considered the standard velocity metrics for subscription software companies.

Monthly Recurring Revenue Movement

Segments: No
Filters: Yes
The Monthly Recurring Revenue Movement chart shows how New Subscriptions and Churned Subscriptions affect MRR. This chart displays all revenue from non-consumable and consumable purchases, as well as non-renewing subscriptions.

New MRR is MRR that was added during the period by New Subscriptions. Churned MRR is MRR that was lost in the period by Churned Subscriptions.

Looking at MRR Movement is important to understand the factors that cause your MRR to increase or decrease over a period and give insight into what grows or contracts your business.

Revenue displays the revenue generated during a period. This number will usually be a little higher that MRR as it is un-normalized and all the revenue from an annual subscription is charted the period it starts or is renewed.

Revenue

Segments: Yes
Filters: Yes
The Revenue chart displays the revenue generated during a period. This number will usually be a little higher that MRR as it is un-normalized and all the revenue from an annual subscription is charted the period it starts or is renewed. This chart also displays all revenue from non-consumable and consumable purchases, as well as non-renewing subscriptions.

Conversion to Paying

Segments: Yes
Filters: Yes
The Conversion to Paying chart shows what proportion of new customers end up paying.

The conversion rate to paying is a good indicator of how effective your app is at acquiring the right kind of customers and demonstrating the value of your premium products.

For apps that offer no products with trials, the conversion rate to paying is equal to the initial conversion rate (because there are no subscribers that don't pay). For trial products, conversion to paying is equal to the product of trial start rate and trial conversion rate, in other words, the conversion rate from the start to the end of the trial funnel. It is therefore a measure of both the effectiveness of converting users to a trial and convincing trialists of the value of the subscription and converting them to paying subscribers.

Initial Conversion

Segments: Yes
Filters: Yes
The Initial Conversion chart shows what proportion of new customers start any subscription (including trial) or make any purchase.

The initial conversion rate is a good indicator of how effective your app is at acquiring the right kind of customers and messaging the value proposition of your premium products, including the effectiveness of your paywall.

For apps that exclusively rely on products with trials, the initial conversion rate is equal to the trial start rate. For apps that offer no trials at all, the initial conversion rate is equal to the conversion rate to paying (because there are no subscribers that don't pay).

Trial Conversion

Segments: No
Filters: Yes
The Trial Conversion chart gives you a picture of how customers start free trials and convert into paying subscriptions. This chart is plotted on a "cohort" basis, meaning the time periods represent the date a customer was first seen, i.e. the date they first opened your app.

When a customer first launches your app, they are added to the "New Customers" number for a cohort. If they start a free trial, they contribute to the Trials column. Immediately after a trial is started, it is considered Pending as it has yet to convert, but is set to convert. Once the customer disables auto-renew, the trial is no longer Pending and is now considered Abandoned. If a user re-enables auto-renew, they will return to the Pending column. Once a trial has expired, it will be permanently counted in the Converted or Abandoned column depending on whether it converted to paid subscription or not.

Trials Conversion funnels are extremely important for understanding how well your app is monetizing. Two rates are important: the rate at which users start a trial, aka the Start Rate, and the rate that those trials convert to trials, i.e. the Conversion Rate. The Start Rate is a good way of measuring how well users are finding your trial, but Conversion Rate is the real measure of how valuable and convincing the offering is. The product of these two numbers, (Start Rate) x (Conversion Rate) is your Overall Conversion Rate which is also indicative of the overall fit of your product and pricing.

Subscription Retention

Segments: Yes
Filters: Yes
Subscription Retention shows you how paying subscriptions renew and retain over time by cohorts, which are segmented by subscription start date by default, but can be segmented by other fields like Country or Product as well.

When segmenting by subscription start date, cohorts are segmented by the start of a paid subscription. Subsequent periods along the horizontal table indicate how many subscriptions continued renewing through those periods. When segmenting by other fields, cohorts are segmented by the values within that field (e.g., your available Products), and include all paid subscriptions started within the specified date range. Subsequent periods along the horizontal table indicate the portion of subscriptions that successfully renewed out of all those that had the opportunity to renew in a given period.

Refunded subscriptions are treated like subscriptions that churned during the period that the refund occurred in. The final, incomplete period is indicated with a hashed background and shows how many subscriptions are set to renew by the end of the period, taking into account the auto-renewal preference of the subscriptions.

Active Trials

Segments: Yes
Filters: Yes
The Active Trials chart shows the number of active trials at the end of the period. Included in this number is all trials, regardless of whether they are set to auto-convert on completion or not.

The volume of Active Trials is a good leading indicator to growth of Active Subscriptions and therefore MRR. If the volume of active trials is increasing or decreasing it indicates that your business may be accelerating or decelerating respectively. The Active Trials Movement chart can help you understand these movements.

Active Trials Movement

Segments: No
Filters: Yes
The Active Trials Movement chart breaks down the inputs to the Active Trials chart and gives you a picture of how your active trial base is evolving.

New Trials are trials started during the period. Expired Trials are the trials that completed during the period. The difference between these two numbers is the Movement and it tells you if your trial base is growing or shrinking.

Understanding the dynamics of your trial base is important for understanding leading indicators of the growth of your business.

Filters and Segments

All charts can be filtered, while subscription, revenue, and active trial charts can be filtered and/or segmented.

Filters allow you to limit the charts to only include data that matches one or more attributes. This is useful when you want to check the performance of a specific property, such as a certain country or product identifier.

Segments allow you to break down the chart totals into underlying data segments. This is useful for comparing the performance of specific properties, such as monthly vs. annual subscriptions.

Attribute

Description

Project

The different projects you have access to in RevenueCat. These projects contain your apps across various platforms.

Apple Search Ads Ad Group

If you're collecting Apple Search Ads Attribution, the specific ad group that drove the install (iOS only).

Apple Search Ads Campaign

If you're collecting Apple Search Ads Attribution, the specific campaign that drove the install (iOS only).

Country

The device locale that was recorded with the purchase or the last known locale of the customer. May be unknown.

First Purchase Month

The month that the first purchase (incl. free trials) was recorded for the user (segment option only).

Install Month

The month that the user was first seen by RevenueCat (segment option only).

Offering

The offering identifier set in RevenueCat.

Product Duration

The duration of the normal subscription period (not trial or intro period).

Product

The product identifier set in the store.

Store

The store that processed the purchase. Either App Store, Play Store, Amazon Appstore, or Stripe.

📘

Filters do not affect 'New Customers' number

Filters and segments do not apply to the 'New Customers' number. It is possible for customers to jump between web, iOS, and Android devices, so these filters only apply to transactions, which always happen through a particular Store.

📘

Save views as bookmarks

Filters and segments are set as URL parameters so views can be saved as bookmarks for quick access later.

Exporting Data

The underlying chart data can be exported in .csv format by clicking the Export CSV button.

Other Options

Date Range

Choose the the date range for the x-axis of the charts.

Resolution

Choose the time scale for the x-axis of the charts. Use a day timescale to see the most granular level of data and lower resolutions like month to spot longer term trends.

Timezones

All charts are displayed in UTC time.

Sandbox Data

Due to the limitations of the sandbox environments, charts can only display production transaction data.

Refunds

Whenever a subscription is refunded, that subscription is counted as active between its start date and the refund date. Any refunded revenue is removed from all revenue-based charts. You can use the Refund Rate chart to gain additional insights into how many of your subscriptions get refunded, and how that refund rate develops over time.

Next Steps

  • Learn how to view the purchase history of a specific user and grant them promotional access via the Customer View

Did this page help you?