How to Calculate Real MRR and Churn (When Stripe and HubSpot Disagree)
Stripe and HubSpot rarely agree on MRR and churn. Learn how to calculate real SaaS metrics and how Glow Reports applies one logic to both.

Stripe shows a five percent churn rate. HubSpot says you kept nearly every account this month. When your most important SaaS metrics disagree, planning for growth becomes guesswork.
Why platforms calculate metrics differently
Your billing tool and your CRM are built for different jobs. Stripe processes payments and handles compliance. HubSpot tracks the pipeline and the relationship. Same event, different logic.
A customer cancels on the second of the month. HubSpot may mark the account churned at once, because the relationship is over. Stripe often counts the revenue as active until the billing cycle ends. Both are right by their own rules. For a founder trying to state one monthly recurring revenue figure, the gap is maddening.
Step 1: Standardise your definitions
First, agree company-wide on when an event counts. Does a customer churn the day they click cancel, or the day their billing cycle ends?
For cash flow and financial planning, the billing-cycle date is usually more accurate. For product and customer success, the cancellation date better reflects sentiment. The choice matters less than the consistency. Every team uses the same rule.
Step 2: Handle edge cases consistently
SaaS billing is rarely clean. Upgrades, downgrades, pauses, and partial refunds all move your core metrics.
A customer downgrades from premium to basic mid-month and Stripe prorates the difference. Export that to a spreadsheet without reconciling it against your CRM, and it is easy to log one downgrade as both a churned account and a new signup. Your workflow has to separate expansion and contraction MRR from new acquisitions and full cancellations.
Step 3: Separate gross churn from net churn
Most teams quote a single churn number, and it hides more than it shows. Gross churn counts only the revenue you lost to cancellations and downgrades. Net churn subtracts that loss from the expansion revenue you gained through upgrades and seat increases.
A healthy account base can post high gross churn and still grow, because expansion outpaces the losses. Report only the net figure and you mask a retention problem. Report only gross and you ignore real growth. Track both, and label which one you mean every time you share it.
Step 4: Centralise the calculation layer
The fix is to stop trusting each tool's default dashboard. Instead of reading revenue in Stripe and retention in HubSpot, use one layer that ingests raw data from both and applies your agreed logic uniformly.
Pull the data into one place and you can map a HubSpot company to its Stripe customer ID. When an account changes status, the financial impact and the relationship status update together. You get one MRR figure you can defend.
Common questions
What is the difference between customer churn and revenue churn?
Customer churn counts the accounts you lost. Revenue churn counts the money those accounts represented. Stripe's own guide to revenue churn explains the calculation in detail. The two diverge sharply when your customers vary in size: losing ten small accounts can matter less than losing one large one.
Does Stripe's dashboard show my real MRR?
It shows MRR for the revenue that flows through Stripe, calculated with Stripe's own rules. If you bill some customers outside Stripe, or your CRM holds contract terms Stripe never sees, the dashboard figure is a partial view, not the company number.
Is annual contract revenue part of MRR?
Yes, normalised. A customer paying twelve hundred pounds a year contributes one hundred pounds to MRR. Counting the full annual payment in the month it lands inflates that month and starves the rest, which is exactly the inconsistency this article is trying to remove.
How Glow Reports standardises your metrics
Reconciling billing and CRM logic by hand is slow and error-prone. You need a system that understands SaaS metrics out of the box.
Glow Reports integrates directly with Stripe and HubSpot and handles the hard cases automatically: prorations, downgrades, and paused accounts. It applies one consistent logic across your data, so your MRR and churn stay accurate and trustworthy. Connect your data to Glow Reports and get your first report this week.
Stop guessing your MRR. Connect Stripe and HubSpot to Glow Reports for instantly accurate, standardised metrics.
Trust your SaaS metrics