The Billing analytics page offers a few of the metrics that are core for businesses running on Stripe Billing. While many of these metrics are standard for business success, there’s a lot of potential subjectivity in how they are calculated. We hope these descriptions are helpful in identifying how Stripe calculates these metrics, and how you can reproduce them using Stripe data.
At any given time, you can calculate MRR by summing the monthly-normalized amounts of all active subscriptions at that time. For example, an annual subscription for $1,200 only counts $100 towards your MRR. Things get more complicated once you consider discounts, tax, trials, delinquency, cancellations, and metered billing. The reason we’ve chosen active subscriptions (rather than summing your invoices, for instance) is because MRR is a forward looking metric that is distinct from the immediate cash flow you’re about to receive.
If you apply a coupon with a
forever duration, the discount will apply to your MRR. If you apply a coupon with a finite duration (i.e.
repeating) to a subscription, your MRR is unaffected. For example, a 50% off coupon that has a duration of
forever will halve that subscriptions MRR.
We don’t consider taxes or
application_fee to be revenue, so these don’t count towards your MRR.
Any subscription still in a
trialing status does not count towards your MRR since the subscription is not
active and there is no predictable revenue for that subscriber.
Once a subscription is
unpaid rather than
active, the amount does not count towards your MRR. If you mark subscriptions as
unpaid as your dunning final action, we consider a subscription delinquent at the time the following invoice is generated and automatically closed. For example, if you had your final payment attempt on the 8th but don’t bill until the 15th of the month, your subscription will be marked delinquent on the 15th.
Once a subscription is canceled, the subscription no longer counts towards your MRR. If you cancel a subscription using
cancel_at_period_end, the subscription will no longer count towards your MRR after the time of the API call, not at the end of the period when the cancellation goes into effect.
Currently, we don’t include metered billing in MRR calculations because the revenue is not predictable. There are often differing schools of thought here – some folks do believe that MRR should include metered billing, and others do not
The four major ways to change MRR are through new subscriptions, expansions, contractions, and churn.
This occurs when a new or existing customer starts a new active subscription, or upgrades from a free subscription to a paid subscription.
This occurs when an existing paid subscription is upgraded or modified to increase its MRR. This can happen by adding or changing a plan, increasing the quantity, or lowering a discount.
This occurs when an existing paid subscription is downgraded or modified to decrease its MRR (to a non-zero amount). This can happen by removing or changing a plan, lowering the quantity, or increasing a discount.
This occurs when an existing paid subscription is either canceled, downgraded to a free subscription, or becomes delinquent.
To grow your MRR, it’s best to recall the four ways your MRR changes and focus on developing your pricing model to optimize each category. Here are a few simple ways to improve.
The math is simple: free plans don’t count towards your MRR. Your goal here should be to convert as many potential customers to paying subscribers as possible.
Free plans are usually a marketing tactic to allow potential customer to try out a product. Whenever possible, use a trial instead. Converting a trial to a paid subscription is usually easier than converting a free plan to a paid one.
If correctly implemented, add-ons and metered-billing are effective ways to upsell your existing customers. Building valuable tools on top of your core product makes it easy to add news plans to an existing subscription. Offering per-seat or per-usage billing means your revenue can grow with your customers.
Stripe offers products like CAU and Smart Retries to reduce the involuntary churn a normal business might encounter due to expired/lost cards or various network failures. You can also email your customers after a payment failure using our webhooks or have Stripe do it on your behalf on the settings dashboard.
A trial converts when the full trial period has ended, the subscription hasn’t been canceled, and the first invoice has been paid. Even if a customer cancels shortly after paying their first invoice, we will still consider their trial converted.
In order to calculate the Trial Conversion Rate, we use a rolling 30-day window to sum the number of conversions and the number of trial cancellations, which occurs when a subscription that is still trialing is cancelled. To the compute the rate, we divide the number of conversions in the last 30 days by the number of ended trials (either via conversion or cancellation) in the last 30 days.
Subscriber churn occurs when a customer goes from non-zero MRR to zero MRR. This means that if a customer has two paid subscriptions and cancels one of them, they haven’t yet churned.
The churn rate is measured by the sum of churned subscribers in the past 30 days divided by the number of active subscribers as of 30 days ago, plus any new subscribers in those 30 days. If a customer starts a subscription during that 30 day period and then churns, we will include that churned subscriber in both the numerator and denominator.
The churned revenue for a given period is simply a sum of lost MRR from churned subscribers. If a customer has two subscriptions and cancels both, we will count the first cancellation as a subscriber downgrade and the second as subscriber churn.
We assign cohorts to subscribers based off of when they started having positive MRR. In the case of trials, this occur when a trial has ended and they have converted. Otherwise, this is whenever they start their first paid subscription. Cohorts are broken down into monthly buckets using UTC time.
For all subscribers in a cohort, we then measure retention by checking to see whether a subscriber churned during a given UTC month. Retention is the percentage of subscribers from that cohort who haven’t yet churned by the end of the month. After a subscriber churns, if they re-subscribe they will be assigned to another cohort (and could therefore appear multiple times in our chart).
ARPS is total MRR divided by the number of active subscribers.
LTV is equal to ARPS divided by Subscriber churn rate.