Stripe Subscription Analytics: What It Shows vs Misses
Published on April 13, 2026 · Jules, Founder of NoNoiseMetrics · 10min read
Updated on April 15, 2026
Stripe subscription analytics is better than it used to be. You can see MRR, new subscriptions, churn events, and basic revenue trends without leaving the dashboard. But for any SaaS founder who needs to understand why their subscription business is growing or contracting, Stripe’s native analytics stops short. Net revenue retention, cohort retention, plan-level churn rates, and expansion segmentation, all absent. This guide covers exactly what Stripe gives you, what the gaps are, and how to fill them without building a custom analytics stack.
Stripe subscription analytics refers to the subscription-level reporting built into the Stripe dashboard and API, covering MRR, subscription counts, churn events, and revenue movement, but not the derived metrics (NRR, cohort retention, LTV) that SaaS operators need for strategic decisions.
Stripe Subscription Analytics: What It Gives You and Where It Falls Short
What Stripe Subscription Analytics Covers
Stripe has significantly improved its analytics over the past two years. Here’s what you can access natively:
Monthly Recurring Revenue (MRR)
Stripe calculates MRR from your active subscriptions, the normalised monthly value of all recurring charges. It shows the current MRR figure and a trend chart. This is accurate for most cases, but Stripe includes some edge cases (trials with upcoming charges, metered billing estimates) that can make the number slightly different from what you’d calculate manually.
For a clear breakdown of what belongs in MRR and what doesn’t, see what is MRR, the traps that fake growth.
New MRR and Churn MRR
Stripe separates new subscriptions (new MRR) from cancelled subscriptions (churned MRR) in its revenue change view. This is useful for understanding the gross composition of your MRR change. However, it’s shown as an absolute value, not as a percentage, and the time series is limited.
Subscription Counts
Active subscriptions, new subscriptions per period, and cancelled subscriptions. Stripe shows these in the Subscriptions section of the dashboard. Useful for headcount-level analysis.
Revenue Timeline
Stripe Revenue shows gross revenue over time, total charges collected. This is not the same as MRR (which is normalised recurring revenue). For SaaS analytics, you want MRR, not gross revenue. The distinction matters especially if you have annual plans (which show up as large one-time charges in gross revenue but as a smooth monthly amount in MRR).
Subscription Events
Via the API, you get access to every subscription event: created, updated, cancelled, trial started, trial converted, payment failed, payment recovered. This is the raw material for building custom analytics, but it requires engineering work to use.
What Stripe Subscription Analytics Is Missing
This is the more important list for any SaaS founder tracking their business seriously:
1. Net Revenue Retention (NRR)
NRR requires comparing cohorts of customers between periods, including their expansion and contraction. Stripe doesn’t have a built-in NRR view. You’d need to export subscription data, group by customer cohort, and calculate period-over-period retention including MRR changes for each customer. This is non-trivial to do correctly.
NRR > 100% indicates negative churn, a crucial signal. Stripe will never tell you whether you’ve crossed this threshold.
2. Cohort Retention
Cohort retention shows what percentage of customers (or revenue) from a given signup month are still active at months 1, 3, 6, and 12. It’s the most diagnostic view in subscription analytics, it shows when you lose customers, not just how many you lose.
Stripe has no cohort view. You can export event data and build one in a spreadsheet, but it requires careful handling of plan changes, pauses, and multi-subscription customers.
3. Expansion and Contraction MRR
When a customer upgrades, Stripe records the new subscription amount. When they downgrade, it records the lower amount. But Stripe doesn’t calculate the delta (expansion or contraction MRR) and doesn’t segment it separately in the dashboard.
You can infer it from subscription update events in the API, but there’s no native view. This means you can’t see your MRR waterfall (new + expansion - contraction - churn = net new) without external calculation.
4. ARPU Trends
Average Revenue Per User over time. Stripe shows you current active subscriptions and current MRR. It doesn’t calculate ARPU historically or show you whether it’s trending up or down. This matters because declining ARPU signals a pricing or positioning shift that aggregate MRR growth can hide.
5. Plan-Level Analytics
If you have multiple pricing tiers, Stripe doesn’t break down churn rate, ARPU, or retention by plan. You can filter subscriptions by product or price, but there’s no cross-cutting analytics view that shows plan-level performance. Understanding that your entry plan churns at 8% while your premium plan churns at 1.5% is critical information. Stripe doesn’t surface it natively.
6. LTV Calculation
LTV = ARPU / Churn Rate. Stripe gives you MRR (from which you can get ARPU), and it records churn events. But it doesn’t calculate LTV. Given that the churn rate calculation requires knowing active customers at period start vs cancellations during the period, and that Stripe’s customer count interface isn’t designed for cohort-accurate calculations, LTV from Stripe requires external calculation.
7. Involuntary Churn vs Voluntary Churn
Stripe logs payment failures separately from subscription cancellations, but it doesn’t give you a metric that shows what percentage of your churn was involuntary (failed payments) vs voluntary (customer decision). This distinction is crucial for prioritisation, involuntary churn is easily recovered; voluntary churn requires product or pricing fixes.
Worked Example: What the Gap Looks Like in Practice
Let’s say you have €80,000 MRR. In a given month:
What Stripe tells you:
- MRR: €80,000
- New subscriptions: 34
- Cancelled subscriptions: 28
- Gross MRR added: ~€3,200 (estimated from new sub average)
- Gross MRR lost: ~€2,800 (estimated from cancelled sub average)
What Stripe doesn’t tell you:
- NRR: 98% (your existing customer base is slightly shrinking)
- Expansion MRR: €1,100 (upgrades from existing customers)
- Contraction MRR: €1,600 (downgrades, a signal of price resistance)
- Cohort retention: Month-3 cohorts are retaining 8% worse than month-6 cohorts (something changed)
- Plan-level churn: Entry plan churn 6.8%, Pro plan churn 2.1%
- Involuntary churn: 38% of your 28 cancellations were failed payments (high recovery potential)
The Stripe view tells you roughly how much MRR changed. The full picture tells you why and where to focus. Without it, you might misdiagnose an expansion/contraction problem as an acquisition problem, or miss that a large portion of your churn is recoverable failed payments.
For the full breakdown on what Stripe analytics covers, see Stripe analytics guide.
Stripe’s Built-In Subscription Analytics: A Practical Assessment
| Feature | Stripe Native | Notes |
|---|---|---|
| MRR | Yes | Accurate for most use cases |
| New MRR | Yes | Via Revenue view |
| Churned MRR | Yes | Via Revenue view |
| Expansion MRR | No | Must calculate from events |
| Contraction MRR | No | Must calculate from events |
| NRR | No | Requires cohort calculation |
| Customer churn rate | Partial | Count only, no %-based calculation |
| Cohort retention | No | Requires external tool or custom query |
| ARPU trend | No | Single-point calculation only |
| Plan-level analytics | No | Requires filtering |
| LTV | No | Requires external calculation |
| Involuntary vs voluntary churn | No | Separate failure logs but no roll-up |
For the full Stripe MRR analytics picture, see Stripe MRR guide.
How to Get the Missing Metrics From Stripe Data
Option 1: Stripe API + custom code. Pull subscription events, calculate cohorts, build NRR. This takes 2–4 weeks of engineering, requires ongoing maintenance, and breaks when Stripe changes API structure. Viable for companies with dedicated engineering capacity.
Option 2: Stripe Sigma. Stripe’s SQL interface for your transaction data. More powerful than the dashboard, but requires SQL knowledge and you’re still building the calculation logic yourself. Available on the Business plan (~€140/mo).
Option 3: Spreadsheet exports. Monthly CSV export, manual calculation. Works for small customer bases (under 200 customers), breaks at scale, doesn’t update automatically.
Option 4: Dedicated SaaS analytics tool. NoNoiseMetrics connects directly to your Stripe account and calculates all of the missing metrics. NRR, cohort retention, expansion/contraction MRR waterfall, ARPU trend, plan-level analytics, automatically updated with each sync. No code, no SQL, no monthly exports.
Stripe Subscription Analytics Best Practices
Don’t use gross revenue for SaaS decisions. Use MRR. Gross revenue mixes one-time payments, annual prepays, refunds, and disputes in a way that makes trend analysis misleading. Always operate on MRR for subscription business decisions.
Be careful with trial periods. Stripe counts trialing subscriptions in some views. If your trial period is 14+ days, this can inflate active subscription counts and deflate apparent churn rates. Always filter for paid (post-trial) subscriptions when calculating churn.
Handle multi-subscription customers correctly. Some customers have more than one active subscription (different products, different billing cycles). Stripe counts these separately. When calculating customer-level churn, aggregate to the customer level, a customer with 2 subscriptions who cancels one isn’t fully churned.
Annual plans distort monthly churn calculations. If you have annual subscribers, their cancellation only shows up at renewal. Monthly churn calculated from cancellation events will understate churn for businesses with high annual plan penetration. Adjust by tracking renewal cancellations separately.
FAQ
What subscription analytics does Stripe provide natively?
Stripe natively provides: MRR, new MRR, churned MRR, subscription counts, payment failure events, and a revenue timeline. It does not natively provide NRR, cohort retention, expansion/contraction MRR segmentation, ARPU trends, or plan-level churn rates.
Can Stripe calculate net revenue retention?
No. NRR requires cohort-level calculation, comparing a group of customers’ MRR between two periods. Stripe doesn’t have a cohort view and doesn’t calculate NRR. You need either Stripe Sigma with custom SQL or a dedicated analytics tool.
How do I calculate churn rate from Stripe data?
Pull the count of active customers at the start of the period and the count of cancellation events during the period. Churn rate = cancellations / starting active customers. Be careful to exclude new customers who churned in the same period they started. See Stripe analytics guide for the step-by-step.
What is Stripe Sigma and can it help with subscription analytics?
Stripe Sigma is a SQL interface for your Stripe data, available on Business plans. You can write custom queries to calculate NRR, cohort retention, and plan-level analytics. It’s powerful but requires SQL knowledge and still needs you to build the calculation logic. It’s suitable for founders with data skills or a data-focused team member.
How does Stripe handle expansion and contraction MRR?
Stripe doesn’t have native expansion/contraction MRR views. When a customer upgrades, Stripe records a subscription update event with the new amount. To calculate expansion MRR, you need to compare the previous and new amounts across all subscription update events in a period, not something the dashboard shows directly.
Why does Stripe’s MRR sometimes differ from my manual calculation?
Common reasons: Stripe includes trialing subscriptions in some views, metered billing uses estimates rather than actuals until billing occurs, and currency conversion can create rounding differences. For the cleanest MRR calculation, filter to active paid subscriptions in your home currency and exclude trials.
Is Stripe enough for subscription analytics at early stage?
For the first 3–6 months with < 50 customers: yes, Stripe’s native analytics is sufficient. You can see whether you’re growing and roughly understand churn. Beyond 50 customers or when making decisions about pricing, product, and acquisition, you need NRR and cohort data that Stripe doesn’t provide.
What’s the best way to track plan-level analytics from Stripe?
Stripe’s dashboard allows filtering by product and price, giving you subscription counts and revenue per plan. For churn rate, ARPU, and retention per plan, you need to calculate manually from exported data or use a tool that segments by plan automatically. Plan-level segmentation is one of the most valuable analyses for bootstrapped SaaS.
Get the subscription analytics Stripe doesn’t show you. Connect Stripe to NoNoiseMetrics and see NRR, cohort retention, expansion MRR, and plan-level analytics, automatically calculated from your Stripe data.
MRR Dashboard Template
Want a structured starting point for tracking all your Stripe subscription metrics? The MRR Dashboard Template gives you the framework for MRR waterfall, expansion, contraction, and churn, ready to use.