How We Calculate MRR at Chartsy (and Why It Differs From Stripe)

February 2, 2026
8 min read
How We Calculate MRR at Chartsy (and Why It Differs From Stripe)

At Chartsy, we calculate MRR from paid invoices only, applying every discount, proration, and cancellation the moment it happens. That single decision is why your Chartsy MRR will often read lower than Stripe's figure, and why it's the number worth trusting for forecasts.

If you've ever opened two dashboards and found conflicting MRR figures, you're not miscounting. Different tools make different choices about what counts as recurring revenue. Understanding those choices is how you decide which number to act on.


What MRR Actually Measures

Monthly Recurring Revenue represents the predictable income your business expects from active subscriptions each month. It is not total revenue, not gross billing volume, and not a trailing average.

A clean MRR figure answers one question: if nothing changes today, how much recurring revenue will land next month?

To answer that correctly, MRR must include active paid subscriptions, upgrades and downgrades, and mid-cycle prorations. It must exclude one-time charges, setup fees, free trials that haven't converted, and delinquent subscriptions.

Where platforms diverge is in how rigorously they apply those exclusions.


The Standard MRR Formula

Two approaches appear most often in practice.

The first multiplies your total paying customers by their average monthly revenue per seat or plan:

MRR = Active customers × Average monthly revenue per customer

The second sums revenue across every subscription tier directly:

MRR = Sum of all active subscription amounts

Both formulas produce the same answer when every customer pays the full list price every month with no discounts, no mid-cycle changes, and no failed payments. In practice, almost no subscription business looks like that.

The moment you add a 20% annual-plan coupon, a mid-month upgrade, or a customer whose card failed two weeks ago, the two formulas start to drift depending on which data feeds them.


Why Stripe's MRR Figure Looks Higher

Stripe is billing infrastructure, not a subscription analytics tool. Its MRR view is built around subscription plan prices and the count of non-canceled subscriptions. That is a fast, reasonable starting point, but it has known gaps.

Stripe's MRR calculation typically:

  • Uses listed plan prices rather than the actual invoiced amount after coupons
  • Continues counting a canceled subscription until the end of its current billing period
  • May include past-due subscriptions that haven't successfully collected payment

None of these are bugs. For Stripe's core purpose as a payment processor, they are sensible defaults. For running a business off that number, they produce an optimistic figure that overstates what actually arrived.


How Chartsy Calculates MRR: Six Specific Choices

Chartsy is built as subscription analytics software. Every MRR calculation traces back to what customers actually paid, not what the plan theoretically charges. Here is what that means in practice.

1. Actual invoiced amounts, not plan prices. When a customer redeems a 30% coupon, Chartsy counts 70% of the plan price in MRR. A tool reading plan prices alone counts 100%. Over a promotional period with dozens of discounted accounts, the gap between those two figures becomes material.

2. Paid invoices only. A subscription in dunning with a failed payment does not count. Neither does a free trial that hasn't converted. Chartsy counts revenue when payment has cleared, which keeps MRR grounded in cash that actually moved.

3. Cancellations register immediately. If a customer cancels at 2pm on the 14th, their MRR contribution drops at 2pm on the 14th. Platforms that hold the customer in MRR until their period ends can mask churn for weeks. For a team watching retention closely, that delay means slower signals and slower responses.

4. Prorations are included. A customer who upgrades from a $50 plan to a $100 plan on the 20th of the month doesn't contribute a full $100 to that month's MRR. Chartsy accounts for the partial period. This matters most when plan changes are frequent, which is common in usage-based or seat-based models.

5. Discounts and coupons always apply. Permanent discounts, time-limited promotions, and trial conversions with introductory pricing are all reflected. Ignoring them produces an MRR figure that looks healthier than revenue actually is.

6. Currency conversion at transaction time. For businesses billing in multiple currencies, Chartsy converts each transaction at the exchange rate in effect when that invoice was paid. This avoids the distortion that comes from applying a single monthly average rate to a month's worth of transactions made at different rates.


A Worked Example: Same Business, Two Numbers

Suppose you have 100 customers on a $99/month plan. Ten of them are on a 25% loyalty discount. Five canceled mid-month with roughly half their billing period remaining. Three accounts are past-due with failed payments.

A plan-price-based calculation: 100 × $99 = $9,900 MRR.

Chartsy's calculation works through each adjustment:

  • 90 full-price customers: 90 × $99 = $8,910
  • 10 discounted customers: 10 × $74.25 = $742.50
  • 5 mid-month cancellations: remove roughly half of 5 × $99 = subtract ~$247.50
  • 3 past-due accounts: excluded entirely, subtract 3 × $99 = $297

Chartsy MRR in this scenario: approximately $9,108. The difference of nearly $800 is not a rounding error. It is the gap between what the business thought it was earning and what actually came in.

At 100 customers that gap is manageable. At 1,000 customers, it becomes a planning problem.


Chartsy vs. Stripe: What the Difference Means for Decisions

Factor Stripe MRR Chartsy MRR
Data source Plan prices Paid invoices
Discounts applied Often excluded Always included
Cancellation timing End of billing period Moment of cancellation
Failed/delinquent accounts May be included Excluded
Prorations Partial support Fully included
Currency conversion At transaction time
Typical result vs. plan price total Higher (optimistic) Lower (conservative)

The usable effect: if you're deciding whether to hire a support engineer at $8,000/month, you need to know whether your MRR number represents cash that arrived or invoices that were theoretically issued. Those two figures support different decisions.


Why Conservative MRR Is Worth More Than Optimistic MRR

Chartsy's MRR will almost always be lower than what Stripe reports for the same period. That is not a flaw in the calculation. It is the expected result of removing non-paying accounts, applying discounts, and recognizing cancellations in real time.

An inflated MRR number feels good in a weekly review. It causes problems when that number feeds a hiring plan, a runway calculation, or a fundraising deck. Investors and operators who dig into the details will find the gap eventually. Better to work from the correct figure from the start.

The other benefit of conservative, accurate MRR is churn visibility. When cancellations hit MRR immediately rather than at period end, retention problems surface faster. A team that spots a churn spike on day 14 of the month can investigate and respond before the month closes. A team relying on end-of-period recognition sees the same problem three weeks later.


See Your Real MRR in Chartsy

If your Stripe MRR and your actual bank deposits have ever told different stories, the methodology above explains why. Chartsy connects to your Stripe account and recalculates MRR using paid invoices, applied discounts, and real-time cancellation data.

Connect your Stripe account and your Chartsy MRR dashboard will reflect subscription behavior as it actually happened, not as the billing plan assumed it would.

Connect Stripe and see your real MRR →


Frequently Asked Questions

Why is my Chartsy MRR lower than my Stripe MRR? Chartsy counts paid invoices, applies every discount, excludes past-due accounts, and recognizes cancellations the moment they happen. Stripe's default MRR view uses plan prices and keeps canceled subscriptions until period end - both of which inflate the number relative to what actually arrived.

Does Chartsy include failed or past-due payments in MRR? No. A subscription with a failed charge or unresolved dunning sequence is excluded until payment actually clears. Counting it would overstate revenue that hasn't actually been collected.

How does Chartsy handle mid-cycle upgrades and downgrades? Chartsy prorates the change. A customer who upgrades partway through the month contributes the partial-period amount to that month's MRR, not the full new plan price - so plan changes don't distort the number.

Does Chartsy support MRR for businesses billing in multiple currencies? Yes. Each transaction is converted at the exchange rate in effect when that invoice was paid, rather than applying one averaged monthly rate across all transactions - which keeps multi-currency MRR accurate transaction by transaction.

Which MRR number should I use for investor reporting - Stripe's or Chartsy's? Use the number built from paid invoices, applied discounts, and real-time cancellations - Chartsy's. It's more conservative, but it's the figure that holds up when an investor or board member asks how it was calculated.


Related: MRR Breakdown Dashboard · How Chartsy Detects MRR Upgrades and Downgrades · MRR vs ARR Waterfall Chart · Chartsy vs Stripe Sigma

Chartsy Team

Written by

Chartsy Team

The Chartsy Team writes guides, product updates, and resources to help SaaS and eCommerce founders make sense of their metrics, without SQL or spreadsheets.

Chartsy
Ministry of Economy and Innovation
Startup Albania

The Chartsy program is realized with the financial support of the Albanian Government through the Ministry of Economy and Innovation, under the Grant 2026 scheme, and is implemented by the Innovation4Albania Agency.