Unit economics

Reconcile new, expansion, resurrected, contracted and churned MRR.

Category
Unit economics
Signup
None
Your data
Stays in your browser

How do you build an MRR bridge?

Start with opening MRR, add new, expansion and reactivated (resurrected) MRR, then subtract contraction and churned MRR to reach closing MRR. Net new MRR is the sum of the five movements. Growth rate = net new ÷ opening MRR, and gross MRR churn = (contraction + churn) ÷ opening MRR. The closing figure must match your billing system.

$
$
$
$
$
$
Net new MRR
$28,000
All movements combined
Ending MRR
$448,000
Start + net new
MoM growth
6.7%
Net new ÷ start
Gross MRR churn
7.1%
Contraction + churn

MRR moved from $420,000 to $448,000, $28,000 net new (6.7%). New and expansion are outpacing churn. Watch the 7.1% gross churn line, it’s the leak that caps this number.

The MRR bridge is the cleanest growth narrative for a board: it shows not just that MRR grew, but exactly which of the five movements drove it.

About this calculator

A single "MRR went up" or "MRR went down" statement tells a board almost nothing about why. This planner reconciles all five MRR movements, new, expansion, resurrected, contraction and churn, into a clean bridge from starting to ending MRR, so the growth story is explicit about which lever actually drove the change.

How to use it

  1. Enter your starting MRR.
  2. Enter new MRR (from new customers), expansion MRR (upsells to existing customers), and resurrected MRR (customers who came back after churning).
  3. Enter contraction MRR (downgrades from existing customers) and churned MRR (customers who canceled).
  4. Read net new MRR, ending MRR, month-over-month growth, and gross MRR churn.

Methodology

Net new MRR is new plus expansion plus resurrected, minus contraction and churned, all five movements combined into a single figure. Ending MRR is starting MRR plus net new MRR.

Month-over-month growth is net new MRR divided by starting MRR, expressed as a percentage, the standard growth-rate view of the same bridge. Gross MRR churn is contraction plus churned MRR, divided by starting MRR, isolating just the loss side of the bridge regardless of how much new business offset it.

The tool tones ending results by whether net new MRR is positive or negative, and separately flags gross MRR churn as healthy at 1% a month or less, a warning up to 3% and high above that. For context, SaaS Capital's 2025 retention benchmarks imply median gross revenue churn of roughly 0.4% to 0.9% a month depending on contract size, so 3% a month (about 31% a year) is well above typical.

This bridge covers a single period end to end, it doesn't track trend across multiple months on its own. Run it each period and compare the five components month over month to see whether, for instance, churn is worsening even while new MRR growth masks it in the net figure.

MRR bridge formulas this planner uses

Net new MRR = New + Expansion + Resurrected − Contraction − Churned
Ending MRR = Starting MRR + Net new MRR
MoM growth % = Net new MRR ÷ Starting MRR × 100
Gross MRR churn % = (Contraction + Churned) ÷ Starting MRR × 100
Quick ratio (by hand) = (New + Expansion + Resurrected) ÷ (Contraction + Churned)
New MRR
MRR from customers paying for the first time in the period.
Expansion MRR
Increases from existing customers: upgrades, extra seats, add-ons, and discounts expiring.
Resurrected MRR
MRR from customers who had churned and started paying again (ChartMogul and Stripe call this reactivation).
Contraction MRR
Decreases from customers who stay: downgrades, fewer seats, partial cancellations, new discounts.
Churned MRR
MRR lost when a customer cancels their last subscription or stops paying.

Definitions should match your billing or analytics tool so the bridge reconciles. ChartMogul classifies a reduction from a discount as contraction and does not create movements from currency changes. Stripe Billing analytics excludes taxes, free plans and metered usage from MRR, normalises annual plans to a monthly value, and adds an FX adjustment line to MRR growth. This planner has no FX line, so for multi-currency revenue either convert at a fixed rate or treat the FX effect as a sixth movement by hand. ChartMogul's net MRR churn rate nets expansion and reactivation against churn and contraction; gross MRR churn here does not, and includes contraction; Stripe's "churned revenue" metric is defined the same way.

Worked example: a SaaS company at ₹40 lakh MRR

An Indian B2B SaaS company opens the month at ₹40 lakh MRR. During the month it adds ₹3.6 lakh from new customers, ₹1.4 lakh from upgrades and ₹30,000 from returning customers. It loses ₹40,000 to downgrades and ₹1 lakh to cancellations.

  1. Net new MRR = 3.6 + 1.4 + 0.3 − 0.4 − 1.0 = ₹3.9 lakh
  2. Ending MRR = ₹40 lakh + ₹3.9 lakh = ₹43.9 lakh
  3. MoM growth = 3.9 ÷ 40 = 9.75%, shown as 9.8%
  4. Gross MRR churn = (0.4 + 1.0) ÷ 40 = 3.5%, above the tool's 3% line, so it shows as a warning
  5. Annualised gross churn at that monthly rate = 1 − (1 − 0.035)^12 ≈ 34.8% of opening MRR
  6. Quick ratio (by hand) = (3.6 + 1.4 + 0.3) ÷ (0.4 + 1.0) = 5.3 ÷ 1.4 ≈ 3.8
  7. Existing-customer view: expansion ₹1.4 lakh exactly offsets losses of ₹1.4 lakh, so revenue from the opening base is flat

Growth of 9.8% in a month is strong, but the bridge shows it comes entirely from new logos: the existing base is flat because expansion only just covers losses. At 3.5% monthly gross churn, about a third of opening MRR would leak away over a year if nothing changed. The board story is "acquisition is working, retention needs work", which the closing number alone hides. The SaaS quick ratio engine gives the 3.8 as a single efficiency read, and the net revenue retention forecaster projects the existing-base trend.

Median annual gross revenue retention by ACV, with the monthly gross churn it implies

ACVMedian GRR (annual)Median NRR (annual)Implied average monthly gross MRR churn
Less than $12k90%98%0.87%
$12k–$25k91%103%0.78%
$25k–$50k91%102%0.78%
$50k–$100k90%104%0.87%
$100k–$250k91%102%0.78%
More than $250k95%106%0.43%
GRR and NRR from SaaS Capital's 2025 B2B SaaS Retention Benchmarks (14th annual survey, more than 1,000 private B2B SaaS companies; excludes companies under $1M ARR). The last column is derived here as 1 − GRR^(1/12) and assumes losses are spread evenly across the year. Source: SaaS Capital [4]

What does a healthy MRR bridge look like?

Look at the shape of the bridge, not just the closing number:

  • Gross MRR churn well below new MRR. If losses take more than half of what new sales add, growth depends on acquisition spend that has to keep rising.
  • Expansion that covers losses. When expansion plus resurrected MRR exceeds contraction plus churn, the existing base grows on its own, which is what NRR above 100% means.
  • Monthly gross churn in line with your segment. In SaaS Capital's 2025 data, median annual GRR of 90% to 95% across ACV bands works out to roughly 0.4% to 0.9% a month. This planner's 3% "good" line is far looser than that; 3% a month is about 31% of MRR lost in a year.

A decision rule: if gross MRR churn has risen for three months in a row, put retention ahead of new acquisition spend even if net new MRR still looks fine. The churn cohort visualiser shows whether newer cohorts are the cause, and the marketing board report template shows how to present the bridge.

MRR bridges in India vs the US

India

Exclude GST from every movement, as Stripe does with taxes, or MRR is overstated by the tax rate. Failed UPI AutoPay mandates and card renewals can show up as churn followed by resurrection a few days later; decide whether a recovered payment within a grace period counts as churn at all, and apply the rule every month. Indian SaaS companies billing US customers in dollars should hold the exchange rate fixed for the bridge and report FX separately. If billing data is spread across Razorpay, a CRM and spreadsheets, a RevOps audit is the usual first step to a bridge that reconciles.

United States

US SaaS companies on annual contracts should normalise annual invoices to monthly MRR (annual value ÷ 12), as Stripe does, so a renewal does not show as a spike. Churn on annual contracts lands at renewal dates, so monthly gross churn can look lumpy; review the bridge on a trailing three-month basis as well as monthly. Investors usually ask for the bridge alongside NRR and GRR, so keep the definitions identical across all three. For SaaS revenue teams, see the RevOps agency for B2B SaaS page.

Common MRR bridge mistakes

  • Counting one-off fees, implementation charges or usage overages as new MRR.
  • Recording an annual invoice as twelve months of MRR in the month it is billed.
  • Booking a customer who cancels one of several subscriptions as churn instead of contraction.
  • Counting returning customers as new MRR, which overstates acquisition and hides win-back results.
  • Letting exchange-rate changes appear as expansion or contraction for foreign-currency customers.
  • Not reconciling ending MRR with the billing system, so the bridge drifts from reality month by month.

Sources

  1. Understanding MRR movements, ChartMogul Help Center. Accessed 2026-10-18.
  2. Chart: Net MRR Churn Rate, ChartMogul Help Center. Accessed 2026-10-18.
  3. Billing analytics, Stripe Docs. Accessed 2026-10-18.
  4. 2025 B2B SaaS Retention Benchmarks (Research Brief 32), SaaS Capital. Accessed 2026-10-18.

FAQ

What's the difference between "contraction" and "churned" MRR?

Contraction is revenue lost from customers who stayed but downgraded, fewer seats or a lower tier. Churned MRR is revenue lost from customers who canceled entirely. Keeping them separate matters because they call for very different fixes, contraction often points to a packaging or usage problem, churn to a fundamental value or fit problem.

What is "resurrected" MRR and why track it separately from new MRR?

Resurrected MRR is revenue from customers who previously churned and came back. It's tracked separately from new MRR because win-back customers behave differently, they already know the product, so their retention and expansion patterns are usually better studied on their own than lumped in with brand-new logos.

Why show gross MRR churn separately from net new MRR?

Net new MRR can look healthy purely because new business volume is high, masking a serious churn problem underneath. Gross MRR churn isolates the loss side on its own, so you can tell whether growth is durable (low churn, strong new business) or fragile (high churn, papered over by even higher new business).

How does this differ from the SaaS Quick Ratio Engine?

The quick ratio compresses the same five movements into a single ratio (gained ÷ lost) for a fast efficiency read. This bridge planner keeps all five movements visible individually and shows the dollar-for-dollar reconciliation from starting to ending MRR, better suited for board reporting where the "why" behind the number matters.

What is the difference between an MRR bridge and an MRR waterfall?

They are the same analysis presented differently. A bridge is usually a table from opening to closing MRR; a waterfall chart shows each movement as a bar rising or falling from the opening value. Both use the same five movements and must reconcile to the same closing figure.

Should discounts reduce MRR?

Stripe lets you choose, and calls subtracting discounts the more conservative approach; permanent recurring discounts are always subtracted. ChartMogul treats a new discount as contraction and an expiring one as expansion. Pick one policy, document it and keep it consistent.

How do you calculate net MRR churn?

Net MRR churn = (contraction + churned − expansion − reactivation) ÷ starting MRR, which is how ChartMogul defines it. A negative result means expansion and win-backs more than cover losses, so the existing base is growing. In the worked example above, net MRR churn is slightly negative once resurrected MRR is included.

Is resurrected MRR the same as new MRR?

No. New MRR comes from first-time paying customers; resurrected or reactivated MRR comes from customers who paid before, churned and returned. Stripe excludes reactivated customers from its new subscriber count for the same reason. Keeping them apart shows whether acquisition or win-back is driving growth.

How often should you build an MRR bridge?

Monthly, at month end, reconciled to billing. Review each movement as a trend over at least six months, because a single month can be distorted by one large customer, an annual renewal date or a pricing change.

Numbers looking off?

If the model says one thing and the pipeline says another, that gap is usually where the revenue is. A 30-minute call finds it.

It starts with a 30-minute call. Pick a time below.

Prefer email?