How I Keep Baremetrics MRR Accurate Month After Month
Monthly recurring revenue looks clean on a chart until billing reality pulls the line. A failed card, an annual contract, or a late coupon can make a steady SaaS business look jumpy. Baremetrics MRR follows clear rules, and knowing those ru...

Monthly recurring revenue looks clean on a chart until billing reality pulls the line. A failed card, an annual contract, or a late coupon can make a steady SaaS business look jumpy. Baremetrics MRR follows clear rules, and knowing those rules is the difference between a number you can run the business on and a number you must defend.
This guide explains how MRR is defined, how common billing events change the figure, how to work through a month with sample numbers, and how to reconcile the result before reporting. The definitions come from the Baremetrics MRR calculation guide and the Baremetrics Stripe help article.
Define MRR before trusting the chart
MRR is recurring revenue normalized to a monthly amount. The Baremetrics guide gives the basic formula as the number of customers multiplied by the average billed amount. Ten customers paying an average of $100 per month equal $1,000 in MRR. MRR is not total cash collected this month, and the guide states MRR is not an accounting figure and should not support accounting or tax work.
Agree on five movement types with the whole team. The guide defines each type with an example.
| MRR type | Meaning | Example from the guide |
|---|---|---|
| New MRR | Revenue from first-time subscribers | 5 new customers at $100 per month add $500 |
| Expansion MRR | Added revenue from existing customers who upgrade | An upgrade from $100 to $200 adds $100 |
| Reactivation MRR | Revenue from former customers who return | A returning customer resubscribes at $150 per month |
| Contraction MRR | Revenue lost when existing customers downgrade | A drop from $200 to $100 loses $100 |
| Churned MRR | Revenue lost from cancellations | 3 customers at $100 per month cancel and remove $300 |
The guide writes net new MRR as new plus expansion minus churned MRR. The page lists reactivation and contraction as MRR types but leaves both out of the formula. Many teams include both, so write your own definition down and apply the definition every month.

How billing events change the number
Most MRR errors do not announce themselves. The graph still moves, but the line moves for the wrong reason. Review these cases every month.
| Billing event | MRR treatment | Source |
|---|---|---|
| Annual plan | Spread across the months of the contract. A $12,000 annual contract counts as $1,000 per month, even when paid upfront | Baremetrics MRR guide |
| Weekly plan | Multiply weekly revenue by 4.33. $10 per week becomes $43.30 | Baremetrics MRR guide |
| Free trial | Excluded until the customer pays | Baremetrics MRR guide |
| Discount or coupon | Net revenue after the discount, whether temporary or permanent | Baremetrics MRR guide |
| One-time fee | Excluded, such as setup or implementation charges | Baremetrics MRR guide |
| Paused subscription | Counts as churned, then as reactivation when payments resume | Baremetrics Stripe article |
| Customer unpaid more than 30 days | Counts as cancelled | Baremetrics Stripe article |
| Failed invoice | Auto-cancellation occurs 31 days after the first failed invoice | Baremetrics Stripe article |
| Refund | Imports as a transaction. The article does not detail the effect on each metric | Baremetrics Stripe article |
A coupon example shows the discount rule. A customer on a $250 plan with a 50 percent coupon counts as $125 while the coupon runs. Counting the full $250 overstates recurring revenue.
Failed payments, pauses, and timing traps
Failed payments are the first trap. A customer with a bad card is not always a lost customer. Counting every failed charge as churn overstates loss and hides recovery potential. Under the Baremetrics counting rules, the customer drops after 30 days unpaid and the subscription cancels 31 days after the first failed invoice. A dunning process which retries cards inside the 31-day window protects revenue. Baremetrics sells Payment Recovery as an add-on at $129 per month or 10 percent of recovered revenue. Verify current pricing on the pricing page.
Pauses need the same care. Baremetrics counts a paused subscription as churned and later as reactivated. A pause policy therefore moves both lines. Document the policy so no one reads a pause as demand collapse.
Duplicate customers quietly double count revenue, especially after a migration. Scan for one company under two customer IDs, similar emails, or split plans. Plan names can also mislead. Changing a plan description in Stripe overrides the plan name in Baremetrics, so a rename can split history into two lines.

Currency needs a rulebook. Exchange rate shifts can change converted totals even when demand stays flat. The Baremetrics help article does not address currencies, so ask support how conversion works for your account and test invoices from each currency.
Worked example: one month of MRR movement
The numbers below are made up for illustration. They show how the movement types combine.
| Line | Amount |
|---|---|
| Starting MRR | $10,000 |
| New MRR | +$1,200 |
| Expansion MRR | +$400 |
| Reactivation MRR | +$150 |
| Contraction MRR | -$250 |
| Churned MRR | -$600 |
| Ending MRR | $10,900 |
Ending MRR equals 10,000 plus 1,200 plus 400 plus 150 minus 250 minus 600, which gives 10,900. Net new MRR under the guide formula equals 1,200 plus 400 minus 600, which gives 1,000. Net change in MRR equals 900 after reactivation and contraction. Both numbers are valid, but only one belongs in the report. State which one the team uses.
Reconcile before sharing the report
A live chart is not a closed month. Run a short routine before sending numbers to founders, finance, or investors.
- Freeze a reporting date and use the same cutoff in every tool.
- Export the active subscriptions list and compare plans and monthly equivalents with Stripe.
- Review upgrades, downgrades, coupons, pauses, refunds, and failed charges one by one.
- Segment outliers by plan, region, or source, and fix source data first.
- Compare ending MRR with starting MRR plus all movement lines.
- Write a one-paragraph note naming unusual events, such as a large annual conversion or a batch of recovered payments.
- Share the approved number and the note together.
Benchmarks help only after the numbers are clean. Comparing a dirty MRR figure with peers produces polished nonsense. For broader context, read the Baremetrics post on reporting metrics every subscription company must track.
Connect MRR to the rest of the stack
MRR pairs with churn and dashboards. The guide to Baremetrics Stripe analytics covers the sync and verification steps. The guide to SaaS churn rate explains the formulas which feed churned MRR. The guide to a Baremetrics dashboard shows how to place MRR beside diagnostic metrics.
Month-end checklist for edge cases
Ask these questions before closing the month. Each question maps to a rule above.
- Did any large annual contract start or renew, and does the monthly equivalent match the contract?
- Did any coupon expire, which raises MRR without a sale?
- Did any customer pause or resume, which moves churn and reactivation together?
- Did any customer pass 30 days unpaid and drop out of the count?
- Did a plan description change in Stripe and split a plan line?
- Did a migration or merger create duplicate customer records?
- Did a price change take effect, and does an annotation or note mark the date?
- Did a one-time fee slip into a recurring plan?
Annual plans need a longer view
Monthly MRR gives quick signals, but annual contracts move on a slower clock. The Baremetrics help center says annual plans younger than one year do not appear on churn dashboards until a year passes, and their rates take time to stabilize. A company which launched annual billing recently should therefore read churned MRR with care. Few annual cancellations in the first months say little about renewal behavior. Watch renewal dates and flag every account renewing within 60 days.
What to log each month
A small log makes the next close faster and gives auditors a trail.
| Log item | Reason |
|---|---|
| Reporting date and cutoff | Keeps every tool on the same clock |
| Starting and ending MRR | Anchors the movement table |
| Each movement line | Shows which type drove the change |
| Reconciliation gaps and causes | Turns surprises into known rules |
| Policy changes | Records pauses, coupons, and price changes by date |
| Sign-off name | Shows who approved the number |
Keep the log in one shared sheet. Link the sheet from the report, so any reader can trace a figure back to a source. Review the log each quarter and look for patterns. Repeated gaps from the same cause point to a source data fix, such as a cleaner plan catalog or a documented pause policy. Repeated surprises from price changes point to a calendar problem, so share the pricing plan with finance before launch.
FAQ about Baremetrics MRR
Does MRR include free trials?
No. Trials and leads are excluded. Only paying customers count.
How does an annual plan appear in MRR?
The total is divided across the months of the contract. A $12,000 annual contract counts as $1,000 per month.
Do discounts reduce MRR?
Yes. MRR uses net revenue after coupons and discounts, not the list price.
Is MRR the same as revenue in my accounts?
No. The Baremetrics guide says MRR is not an accounting figure. Use accounting records for tax and statutory reporting.
Why does my MRR differ from another tool?
Tools differ on trials, pauses, delinquent customers, and discounts. Compare definitions first, then compare numbers.
Conclusion
Accurate Baremetrics MRR does not mean a smooth line. The goal is an honest line. Define the movement types, apply the normalization rules for annual plans, trials, and discounts, and learn how pauses and failed payments count. Reconcile each month before sharing the result and attach a short note. Then the number guides decisions instead of starting arguments.