SaaS Metrics: MRR, Churn and Net Revenue Retention
What MRR, churn, net revenue retention and expansion really measure, how each one is calculated, and how to read them on a live Power BI subscriptions…
Every subscription business runs on the same short list of numbers, and most teams can recite them without agreeing on what any of them means. Two people look at the same tile, read 2.2% churn, and walk away with opposite conclusions: one sees a stable base, the other has just watched a segment lose a third of its customers over a year. Same number, same screen.
This is a guide to the metric set itself — MRR, churn, retention and expansion — not a tour of a product. For each one it answers three questions: what it actually tells you, how it is computed, and what it looks like once it reaches a report. Every figure quoted below was read off the published demo of the SaaS Subscriptions & Recurring Revenue Dashboard, so you can open that report and click the same numbers yourself.
The four questions behind the four metrics
Before any formula, fix what each metric is for. Most reporting arguments are not disagreements about arithmetic — they are two people asking different questions of the same tile.
| Metric | The question it answers | What it cannot tell you |
|---|---|---|
| MRR | How large is the committed monthly base right now? | Whether that base would grow on its own |
| Churn rate | How fast is the base leaking? | How much money the leak is worth |
| Net revenue retention | Would revenue still grow if you never signed another customer? | How many customers you have |
| Expansion MRR | How much growth arrived without a new logo? | Whether that growth is durable |
MRR: the committed base, normalized
Monthly Recurring Revenue is the sum of the normalized monthly value of every active subscription on a given date. Three words in that sentence do all the work.
Recurring — contracted subscription value only. Implementation fees, professional services and one-off overage billing are revenue, but they are not MRR. Mixing them in is the most common way a subscription dashboard starts quietly lying.
Normalized — an annual plan contracted at 12,000 a year contributes 1,000 to MRR every month, not 12,000 in January and nothing after. A quarterly plan is divided by three. Without normalization, MRR spikes on renewal dates and the trend line becomes noise.
Active on a date — MRR is a stock, not a flow. It is what the base is committed to today, not what you invoiced this month.
Two numbers follow from it immediately:
ARR = MRR × 12 — the annualized run-rate. It is not last year's revenue and it is not a forecast; it is today's MRR annualized, and it changes the moment MRR does.
ARPU = MRR ÷ active subscribers — average revenue per user. In the published demo, 181,009 of MRR across 228 active customers gives 794, which is exactly the ARPU the report prints. If that division does not reconcile on your own report, one of the two inputs is filtered differently from the other.
The MRR movement bridge: the chart that explains the number
A trend line tells you MRR moved. It does not tell you why, and why is the only part anyone can act on. That job belongs to the MRR movement bridge, which decomposes the change between two dates into named pieces:
Closing MRR = Opening MRR + New + Expansion − Contraction − Churned
New — MRR from customers who were not in the base at the start of the period.
Expansion — additional MRR from customers who were already there: upgrades, extra seats, add-on modules.
Contraction — MRR lost from customers who stayed but now spend less: downgrades, seat reductions.
Churned — MRR lost from customers who left entirely.
Reactivation — MRR from customers who left and came back. Some models break it out; where it is not separated, it sits inside New and slightly flatters acquisition.
Two businesses can post an identical MRR growth line and be in completely different shape. One grew on new logos while its existing base contracted; the other barely acquired and grew almost entirely on expansion. The bridge is the only view that tells them apart. In the published demo it reads New $120K, Expansion $56K, Contraction −$12K and Churned −$35K across the selected period — a net movement of +$129K in which expansion alone outweighs everything lost to downgrades and cancellations combined.
Churn: two different metrics wearing one name
Churn on its own is ambiguous, and the ambiguity is expensive. There are two metrics, they answer different questions, and a healthy business often has very different values for each.
Logo churn = customers lost in the period ÷ customers at the start of the period. It counts accounts, so a small account and a large one weigh exactly the same.
Gross revenue churn = (churned MRR + contraction MRR) ÷ opening MRR. It counts money, so it tells you what the departures were actually worth.
When small accounts leave and large ones stay, logo churn looks alarming while revenue churn stays calm. When a single large account leaves, the reverse happens. Report both, or report neither — a lone tile labelled churn is an invitation to be misread.
Monthly churn does not multiply by twelve
The second trap is compounding. A monthly rate applies to a base that has already shrunk, so the annual equivalent is 1 − (1 − monthly rate) raised to the power of 12 — not monthly × 12. The gap is not academic:
| Monthly logo churn | Annual equivalent | Of 100 customers, still there after a year |
|---|---|---|
| 0.8% | about 9% | 91 |
| 1.8% | about 20% | 80 |
| 2.2% | about 23% | 77 |
| 3.2% | about 32% | 68 |
Every one of those monthly rates is on screen in the demo at the same time: 0.8% on the Enterprise row, 3.2% on the smallest plan-and-segment row, 2.2% blended at the top. Reported as one number, the business keeps 77 customers in 100. Reported by segment, one part of it keeps 91 and another keeps 68.
Net revenue retention: growth without new logos
Net revenue retention (NRR) asks a single question, and it excludes new customers on purpose:
NRR = (Opening MRR + Expansion − Contraction − Churned) ÷ Opening MRR
Because new business is excluded, NRR measures one thing only: what the base you already had does to itself over a period. Above 100%, the existing base grows with no acquisition at all. Below 100%, acquisition is partly refilling a bucket rather than adding to it — and the sales team is being asked to run to stand still.
Its stricter sibling is gross revenue retention (GRR): the same formula without the expansion term. GRR can never exceed 100%, which is exactly the point. It shows what you keep before any upsell is allowed to paper over it. A business with 105% NRR and 85% GRR is not stable; it is losing a lot and covering the hole with upgrades on the accounts that stayed.
A blended NRR hides the number you need
The demo prints 100.4% net revenue retention at the top, which reads as a healthy business. Its plan-and-segment scorecard tells a different story: the Enterprise row sits at 101.1% with 0.8% churn and a Healthy flag, while the smallest plan in the smallest segment sits at 98.6% with 3.2% churn and an At risk flag. The blended figure is true and nearly useless — it is the average of a segment that compounds upward and a segment that is bleeding. This is why retention belongs in a table cut by plan and segment, not only in a KPI tile.
Expansion: the cheapest revenue in the business
Expansion MRR is additional recurring revenue from customers you have already acquired, already onboarded and already serve. It carries no acquisition cost, which is why a business with strong expansion can survive mediocre acquisition and a business without it cannot.
Track it against its mirror image, contraction, and watch the two counts that drive them: upgrades and downgrades. The demo reports 354 upgrades against 118 downgrades and $56K of expansion MRR over the period. The ratio matters more than either number on its own — when downgrades start closing the gap on upgrades, contraction is about to eat the expansion line, and NRR will cross below 100% a period or two later. That is the earliest warning any of these metrics gives you.
The supporting cast: unit economics and stickiness
Four metrics describe the base. A second tier describes whether growing it is worth what it costs.
| Metric | How it is computed | What it answers |
|---|---|---|
| ARPU | MRR ÷ active subscribers | What an average account is worth per month |
| CAC | Acquisition spend in a period ÷ new customers in that period | What it costs to win one account |
| LTV | ARPU × gross margin ÷ monthly revenue churn rate | What an account is worth over its whole life |
| LTV : CAC | LTV ÷ CAC | Whether acquisition returns more than it costs |
| CAC payback | CAC ÷ (ARPU × gross margin) | How many months until an account repays its own cost |
| Trial-to-paid | Trials converted ÷ trials started, grouped by start cohort | Whether the top of the funnel produces customers |
| DAU / MAU | Daily active users ÷ monthly active users | How sticky the product is between renewals |
Two notes that save arguments later. LTV is driven by churn in the denominator, so it moves violently when churn is small — quoting LTV without quoting the churn rate it assumed is meaningless. And trial-to-paid must be measured by the cohort that started the trial, not by the month conversions landed; otherwise a good month of sign-ups shows up as a bad conversion rate.
In the demo, LTV : CAC moves from 2.6x to 4.5x as the year slicer moves from the earliest year to the latest. Same business, same formula, a different cohort of customers underneath it.
Which of these the template puts on screen
The SaaS Subscriptions & Recurring Revenue Dashboard lays the set out across three pages, which is roughly the order in which the questions get asked.
Overview — MRR, ARR, subscribers, churn rate and net revenue retention as five tiles; the MRR trend; new against churned subscribers by month; MRR by plan; subscribers by region; trial-to-paid by channel; and a health column carrying LTV, CAC, LTV : CAC, trial-to-paid, DAU/MAU and active users, with a monthly active users trend beneath it.
Plan & Segment Details — new, churned, upgrades, downgrades, ARPU and expansion MRR as tiles, then the plan × segment scorecard with retention and a health flag per row, MRR split by billing cycle, and MRR by acquisition channel.
Growth Comparison — MRR against last year, year-over-year growth percentage by month, the MRR movement bridge, and a regional scorecard carrying MRR, growth, subscriber counts and churn rate side by side.
One behaviour is worth seeing rather than assuming: the year slicer recomputes every metric on the page, not just the charts. Move it and churn goes from 2.2% blended to 1.8%, net revenue retention from 100.4% to 100.9%, LTV : CAC from 3.8x to 4.5x. The definitions did not change — the population underneath them did. That is also the fastest way to sanity-check a metric you have just built: if a number does not move when the filter moves, it is not respecting filter context.
Getting these numbers out of your own billing data
None of these metrics can be computed from an invoice export on its own. An invoice tells you what was billed; MRR asks what is committed. To get from one to the other you need four things in the model:
A subscription fact at a monthly grain — one row per customer per plan per month, carrying the normalized monthly value. This is the table every metric on this page is built on, and it is the piece most billing exports do not give you.
A movement classification — each month, every customer is new, retained, expanded, contracted, churned or reactivated. Without this column there is no bridge, no NRR and no meaningful churn.
Customer and plan dimensions — segment, plan tier, region and billing cycle, so the blended numbers can be cut apart when they stop making sense.
A proper date table — marked as a date table, covering full years, so year-over-year and rolling comparisons work at all.
That shape is a plain star schema, which is what Power BI is fastest on. If the modelling step is the part you would rather skip, the column-matching rule for connecting your own data to a template covers how to map your fields onto a model that already computes these measures, and the wider guide to financial dashboards in Power BI puts subscription reporting next to the rest of the finance stack.
Where to start
If you are standing up subscription reporting for the first time, build in this order: MRR first, because everything else is derived from it; then the movement classification, because it unlocks the bridge, churn and NRR at once; then the segment cut, because a blended retention number will eventually hide the one thing you needed to see. Unit economics come last — LTV and CAC are only as trustworthy as the churn rate feeding them.
Metric definitions travel badly between companies, which is why the definitions matter more than the visuals. The same discipline applies to profitability reporting: see what EBITDA and EBITDA margin actually measure for the same treatment of a metric that is quoted far more often than it is defined, and browse the full Power BI template library if you would rather start from a model where these measures are already written.
Figures in this article were read from the published demo report and the listing of the SaaS Subscriptions & Recurring Revenue Dashboard on prime-levels.com, current as of September 2026. Demo data is illustrative.
What is MRR and how is it calculated?
MRR is the sum of the normalized monthly value of every active subscription on a given date. Annual contracts are divided by twelve and quarterly contracts by three, so a plan contracted at 12,000 a year contributes 1,000 each month. One-off implementation fees, professional services and overage billing are excluded because they do not recur.
What is the difference between MRR and ARR?
ARR is simply MRR multiplied by 12. It is an annualized run-rate of today's committed base, not last year's billed revenue and not a forecast, so it moves the instant MRR moves. Quoting ARR without saying which month's MRR it annualizes is the usual source of confusion.
What is a good net revenue retention rate?
Anything above 100% means the revenue you already had grows by itself, because expansion outweighs contraction and churn. Below 100% means new business is partly refilling a bucket rather than adding to it. Read it next to gross revenue retention: a high NRR sitting on a low GRR means heavy losses are being covered by upgrades.
What is the difference between logo churn and revenue churn?
Logo churn counts customers lost divided by customers at the start of the period, so every account weighs the same. Gross revenue churn divides churned plus contracted MRR by opening MRR, so it reflects what the departures were worth. Small accounts leaving makes logo churn look bad while revenue churn stays calm, and one large account leaving does the opposite.
How do you convert monthly churn into an annual rate?
Use 1 minus (1 minus the monthly rate) raised to the power of 12, not the monthly rate times 12, because each month applies to a base that has already shrunk. A 2.2% monthly logo churn is about 23% a year, while 3.2% a month is about 32% and 0.8% a month is about 9%.
What is expansion MRR and why does it matter?
Expansion MRR is additional recurring revenue from customers you already acquired: upgrades, extra seats and add-ons. It carries no acquisition cost, which makes it the cheapest growth available, and it is the term that pushes net revenue retention above 100%. Watching upgrades against downgrades gives the earliest warning that retention is about to turn.