Blog » Metric Design
Net Revenue Retention Decomposition in a KPI Tree
· 12 min read
Net revenue retention decomposition: NRR nets expansion against churn, so it can rise while retention falls. Worked cohort arithmetic, reconciled.
Two annual cohorts, the same starting base of 40,000,000 dollars. In the first year net revenue retention came in at 104.0 percent. In the second it came in at 106.0 percent, and the same customer base lost 1,600,000 dollars more to churn and contraction than it had the year before.
Both numbers are correct. Both were computed the standard way. The better one describes the worse year.
Net revenue retention is a net figure. It adds one gain term, subtracts two loss terms, and reports the result as a single ratio. When the gain grows faster than the losses, the ratio improves while retention deteriorates, and nothing inside the ratio says so.
The fix is the one that works on every other ratio in a KPI tree. Store the additive layer in dollars, one row per account per period, and derive the ratio by dividing two summed columns at whatever level you are reading.
What Is Net Revenue Retention Decomposition?
Net revenue retention decomposition splits NRR into the dollar terms that produce it: starting recurring revenue from a fixed cohort, plus expansion, minus contraction, minus churn. The ratio is the ending cohort revenue divided by the starting cohort revenue. Decomposing it means reading those four dollar columns directly instead of reading the single ratio they collapse into.
The standard definition is arithmetic, not judgment. NRR equals starting recurring revenue plus expansion minus contraction minus churn, all divided by starting recurring revenue.⁴ Every term in the numerator is a sum of dollars. The denominator is a sum of dollars that is fixed at the start of the period and never revised.
That structure is unusually friendly to a KPI tree. Most ratios in a tree sit above children that multiply, which is why their individual effects do not add up cleanly. Return on equity is the standard case, and the cross-term problem it creates is covered in the DuPont ROE decomposition article.
NRR has no cross-term problem, for one reason. The denominator is frozen. Divide every numerator term by the same constant and the resulting percentage points are additive by construction. This is the only common SaaS ratio where that holds.
The Four Terms of the Retention Waterfall
Build the additive layer first, as four summable dollar columns keyed by account and period.
Starting recurring revenue. The contracted annual or monthly recurring revenue of every account that existed on the first day of the period. This set is the cohort. It is frozen on day one and nothing joins it afterward.
Expansion. Increases in recurring revenue from accounts inside the cohort. Seats added, tiers upgraded, usage above a committed floor, modules attached.
Contraction. Decreases from accounts inside the cohort that remain customers at the end of the period. Seats removed, tiers downgraded, discounts granted at renewal.
Churn. The full remaining recurring revenue of accounts inside the cohort that are gone at the end of the period.
Nothing from a new logo enters any of these columns. A customer acquired in month two is outside the cohort and contributes nothing to NRR in that period, including any expansion they generate. Trees that leak new-logo revenue into the expansion column are the single most common defect in a retention model.
A Cohort Where NRR Rises and Retention Falls
The table below holds the starting base constant at 40,000,000 dollars across two cohorts, which isolates the effect. Every figure is in dollars.
Net revenue retention rises 2.00 points. Gross revenue retention, which excludes expansion entirely, falls 4.00 points. Gross losses rise from 3,600,000 to 5,200,000 dollars, an increase of 44.4 percent.
The bridge reconciles exactly. Expansion contributes plus 2,400,000 dollars, contraction minus 600,000 dollars, churn minus 1,000,000 dollars. Those sum to plus 800,000 dollars, which is precisely the difference between the two ending values of 41,600,000 and 42,400,000.
In points on the shared 40,000,000 dollar base: plus 6.00, minus 1.50, minus 2.50. Those sum to plus 2.00 points, which is the full change in NRR. No residual, no unallocated remainder, no cross-term.
That exactness is the argument for the decomposition. One ratio moved two points in the right direction while the business it describes moved 1,600,000 dollars in the wrong one.
| Term | Cohort A | Cohort B | Change |
|---|---|---|---|
| Starting recurring revenue | 40,000,000 | 40,000,000 | 0 |
| Expansion | +5,200,000 | +7,600,000 | +2,400,000 |
| Contraction | -1,600,000 | -2,200,000 | -600,000 |
| Churn | -2,000,000 | -3,000,000 | -1,000,000 |
| Ending cohort revenue | 41,600,000 | 42,400,000 | +800,000 |
| Gross losses | 3,600,000 | 5,200,000 | +1,600,000 |
| Net revenue retention | 104.0% | 106.0% | +2.00 pts |
| Gross revenue retention | 91.0% | 87.0% | -4.00 pts |
Why Do NRR and GRR Move in Opposite Directions?
Net revenue retention includes expansion; gross revenue retention does not. They diverge whenever expansion and losses move together, which is common, because the accounts large enough to expand are usually the accounts large enough to renegotiate downward. A rising NRR alongside a falling GRR means expansion is paying for churn, not that churn improved.
The spread between the two is the expansion term, and it is large in practice. SaaS Capital's 2026 benchmarking, from a survey of more than 1,000 SaaS companies completed in March 2026, reports a median NRR of 103 percent and a median GRR of 91 percent for bootstrapped companies between 3 and 20 million dollars of ARR, with the 90th percentile at 117.9 percent NRR and 100 percent GRR.¹ Retrieved September 23, 2026.
Twelve points of median spread is not a rounding artifact. It is the entire second half of the retention story, and a tree that reports only NRR discards it.
Aleph and Benchmarkit's 2026 benchmarks, covering 342 SaaS and AI-native companies on full-year 2025 data, put median NRR at 102 percent, with usage-based pricing at 108 percent against 98 percent for seat-based models.² Retrieved September 23, 2026. The pricing model changes where the expansion term comes from, which changes how much of NRR is a renewal outcome at all.
Carry both ratios as siblings in the tree. Neither substitutes for the other.
The Same-Account Expansion and Contraction Trap
One account can expand and contract in the same period. A customer adds 50,000 dollars of one product and drops 30,000 dollars of another. Whether you record that as two gross movements or one net movement changes two lines in the tree and leaves the ratio untouched.
Take twelve accounts with exactly that pattern. Recorded gross, expansion rises 600,000 dollars and contraction rises 360,000 dollars. Recorded net at the account level, expansion rises 240,000 dollars and contraction does not move at all.
NRR is identical under both conventions, because both produce the same numerator. Expansion and contraction differ by 360,000 dollars each. Any decision made from the expansion line alone is being made from a number that depends entirely on a bookkeeping choice nobody wrote down.
Pick gross, at the product-line level, and record it once in the data contract. Gross is the defensible convention because it preserves the two forces separately, which is the only reason to build the decomposition. Then apply the overlap and gap tests from the MECE audit so a movement cannot land in two columns.
Does One Point of NRR Always Mean the Same Dollars?
No. A point of NRR is one percent of that cohort's starting base, and the base changes every period. On a 40,000,000 dollar cohort a point is 400,000 dollars. On a 32,000,000 dollar cohort the same point is 320,000 dollars. Comparing point movements across cohorts of different sizes compares two different units.
This is the reason to rank branches by dollars rather than by points inside the tree. A segment improving 5.00 points on a 2,000,000 dollar base contributed 100,000 dollars. A segment improving 0.40 points on a 60,000,000 dollar base contributed 240,000 dollars. The smaller-looking movement is 2.4 times the larger one.
The same hazard appears in any tree where a percentage sits above quantities of unequal size, and it is why an OEE ladder is built in minutes rather than percentage points.
There is a second version of the problem across time. If the cohort base shrinks year over year, a flat NRR describes a shrinking dollar contribution. Hold the dollars visible next to the ratio at every node, and the comparison stays honest without anyone needing to remember the base.
Is Net Revenue Retention a Growth Metric?
No. NRR measures only accounts present at the start of the period, so it is silent on new-logo acquisition, which is usually the larger half of growth. Two companies reporting identical NRR can post completely different growth rates. NRR is a retention and monetization metric that sits beside growth in the tree, never above it.
Take Cohort B from the worked example. Ending cohort revenue is 42,400,000 dollars and NRR is 106.0 percent.
Company X adds no new logos. Total ARR ends at 42,400,000 dollars, growth of 6.0 percent.
Company Y adds 10,000,000 dollars of new-logo ARR. Total ARR ends at 52,400,000 dollars, growth of 31.0 percent.
Same NRR, same cohort behavior, and a 25-point difference in the number the board cares about. Any tree that places NRR at the root is asserting something the metric cannot support.
The correct arrangement puts total ARR at the root with five additive children: starting ARR, new, expansion, contraction and churn. NRR is then a derived node reading four of those five, and new-logo ARR is its explicit sibling. The relationship between that forward-looking plan structure and the backward-looking attribution is covered in driver-based planning versus a driver tree.
Three Denominator Conventions
The word cohort hides a choice, and the choice changes the number. Ordway's review of 135 SaaS, cloud, AI and fintech providers listed on the NYSE and NASDAQ found that public companies apply different formulas and rarely disclose the component terms, which makes cross-company comparison unreliable.³ Retrieved September 23, 2026.
The practical consequence is that a benchmark is only a benchmark once you know which convention produced it. Pick one, write it into the tree's data contract, and label every chart with it.
Frozen annual cohort is the default for a board-level number. Rolling twelve months suits a business with material seasonality. Monthly chained is the only one that reacts fast enough for an operating review, and it is the one most often misread, because twelve monthly rates do not compound into the annual rate. Each monthly denominator has already absorbed the prior month's new logos, whose first-month retention is near perfect, so the chained series runs systematically above the true annual cohort figure.
| Convention | Denominator | Answers | Fails at |
|---|---|---|---|
| Frozen annual cohort | ARR of accounts present on day one of the year | How much revenue did last year's customer base deliver this year | Slow, one reading per year, no in-year signal |
| Rolling twelve months | ARR of accounts present twelve months before each month end | Is the twelve-month trend improving | Smooths a sharp break for up to eleven months |
| Monthly chained | ARR of accounts present on day one of each month | Which month did retention turn | Compounds above the annual cohort rate, so the two disagree |
Four Tests That Catch a Broken Retention Tree
1. The cohort closure test. Sum the starting recurring revenue column and compare it to total recurring revenue on the first day of the period. Any difference means the cohort is not the whole base, and every ratio built on it is scoped to something undefined.
2. The waterfall reconciliation test. Starting plus expansion minus contraction minus churn must equal ending cohort revenue to the dollar, per account. Run it per account, not only in total, so an offsetting pair of errors cannot pass.
3. The new-logo exclusion test. Filter the expansion column to accounts whose first invoice date falls inside the period. The result must be zero. Anything above zero is new-logo revenue inflating NRR.
4. The additivity test. Divide each numerator term by the starting base and confirm the three point-contributions sum to the NRR change exactly. A residual means the denominator moved mid-period, which means the cohort was re-cut and the comparison is void.
Four checks, run in that order. Each one isolates a different failure, and a tree that passes all four can be read as stated.
Where a Retention Tree Is the Wrong Instrument
A retention decomposition attributes movement. It does not diagnose cause, and it has hard limits.
Small cohorts. Below roughly fifty accounts, one departure dominates the ratio. Read the dollar list, not the percentage.
Concentrated bases. If the top account is fifteen percent of ARR, NRR is mostly a report on one renewal conversation. The tree will be arithmetically perfect and strategically empty.
Usage-based contracts with no floor. Recurring revenue stops being a contracted quantity and becomes a measured one, so expansion and contraction blur into ordinary consumption variance.
Mid-period contract restructures. A renegotiation that changes term length, currency or billing entity can present as churn plus new rather than contraction. Decide the treatment before the quarter closes, not after.
Cause. The tree tells you contraction rose 600,000 dollars in the mid-market segment. It cannot tell you whether that was pricing, a competitor, or a support failure. That question needs the qualitative work, and no decomposition substitutes for it.
Building the Retention Layer in kpitree.io
kpitree.io is a self-service KPI tree builder. You upload a CSV, define how each parent relates to its children, and read the resulting tree.
The relevant mechanic for this article is how ratios are handled. Every identity inside a tree is addition or subtraction, and no node stores a ratio. NRR is created as a derived node by dividing two summable columns: ending cohort revenue over starting cohort revenue. Because it is derived rather than stored, the same definition returns firm-level NRR at the root and segment-level NRR at any branch, computed from the same underlying dollar columns rather than from an average of stored percentages.
That also makes the additivity test above mechanical. The four dollar columns sum at every level, so the point-contributions reconcile wherever you read them.
The smallest useful step is one CSV with five columns: account, period, starting recurring revenue, expansion, contraction and churn. Decompose the retention number your last board meeting argued about, and see which of the three terms actually moved it.
Frequently Asked Questions
Can net revenue retention exceed 100 percent while customers are leaving? Yes, and it usually does. Expansion from retained accounts offsets churned accounts. Median NRR of 102 to 103 percent sits alongside median gross retention near 91 percent, which means roughly nine percent of the base is lost annually at the median company.¹ ² Retrieved September 23, 2026.
Do monthly NRR figures compound into the annual figure? No. Each monthly denominator has already absorbed the prior month's new logos, so the chained product runs above the frozen annual cohort rate. Report both, labeled, and never convert one into the other.
Should downgrades at renewal count as contraction or churn? Contraction, as long as the account remains a customer at period end. Churn is reserved for the full remaining balance of accounts that are gone. A partial loss recorded as churn double-counts the departure.
Is NRR a forecast input? Only with an accuracy record behind it. The 2026 AFP FP&A Benchmarking Survey, fielded among 332 practitioners across 54 countries in August and September 2025, found that 14 percent of finance teams formally track forecast accuracy.⁵ Retrieved September 23, 2026. An untracked driver is an assumption.
What is the minimum data needed to build this tree? Account identifier, period, and the four dollar columns. Segment and plan attributes improve the branching but are not required for the ratio to be correct.
Closing: Freeze the Denominator Before You Read the Ratio
Net revenue retention is one number standing on four dollar columns, and the number is silent about three of them. It improves when expansion outruns losses, which is a real result and a different result from retention improving.
Build the four columns. Freeze the cohort on day one. Derive the ratio at whatever level you are reading, and keep gross revenue retention beside it so the expansion term never hides the churn term.
The arithmetic is unusually forgiving here. A frozen denominator makes the point-contributions exactly additive, which means every movement in NRR can be assigned to a term with no residual left over. Very few ratios in an operating review offer that. Take the one that does.
Upload one CSV with starting recurring revenue, expansion, contraction and churn, and decompose the retention number your last board meeting argued about.