Cohort Analysis
Intermediate 14 min read Cohort Analysis

Net Revenue Retention

The cohort metric that every SaaS board reads first

Net revenue retention (NRR) tracks revenue from a starting cohort over time, net of churn, downgrades and expansions. Above 100% it means the base grows even without new sales — the most important SaaS habit signal.

net revenue retentionNRRgross retentionexpansion revenueexpansion ratelogo churn
Prerequisites: Retention Cohorts
Before we start

What you will learn

  • Define NRR and gross revenue retention precisely with the formula
  • Explain what NRR > 100% implies for a business
  • Decompose NRR into churn, expansion and contraction components
In 60 seconds

NRR = revenue from a cohort at period T divided by that same cohort's revenue at start, including expansions and re-including contraction. Above 100% = existing customers alone grow revenue.

Introduction

What is this?

Net revenue retention measures how much of a cohort's starting revenue remains at a later period, counting churn (revenue lost), contraction (downgrades), and expansion (upsells, seat growth, add-ons). The formula is NRR(%) = (starting revenue + expansions − contraction − churn) / starting revenue. Because it nets movement both ways, NRR above 100% is the gold-standard SaaS health signal: the installed base compounds revenue by itself.

Motivation

Why do you need it?

  • NRR > 100% means revenue growth doesn't depend on new logos — the base is compounding.
  • It separates product-usage health (NRR) from sales efficiency (net new), letting teams own distinct levers.
  • A falling NRR foreshadows problems in renewals quarters before revenue reports show them.
  • Loan and VC diligence shops quote NRR because it predicts durable revenue quality.
Think about it

Mental model

Imagine

A bank account's compounded interest

Think of

NRR above 100%

An account growing only via deposits (new sales) is different from one growing by interest on what's there. NRR above 100% is interest on the existing balance — the account compounds on its own.

Mechanics

How it works

  • Fix the cohort on initial billable revenue (first invoice date or first full paid month).
  • Define start revenue (baseline), typically MRR at cohort's month-0 (or similar ARR snapshot).
  • Measure, in each subsequent period, realized revenue from those same accounts: survivors' spend ± expansions − contraction, churned accounts drop to zero.
  • NRR_T = revenue from the cohort in period T / revenue from the same cohort in its base period.
  • Report alongside gross revenue retention (survivors only — no expansion) to see which engine drives NRR.

Decomposing NRR.

Base revenue
Expansions
Contraction
Churn
NRR
Real world

In production

  • A fintech SaaS at 118% NRR pitches late-stage growth without a big rep count — the base compounds sellers by expansion alone.
  • A vendor notices NRR dipping from 105% to 96% as downmarket accounts churn; it hardens its minimum-account tier.
  • A product team measures NRR of accounts that activated a new seat-management feature vs those that didn't — a +9 point expansion effect justifies the feature.
Guidelines

Best practices

  • Fix the base period (monthly cohort on billing start) and never re-baseline mid-cohort.
  • Report both NRR and gross revenue retention; GRR isolates churn, NRR includes expansion — together they explain the engine.
  • Watch logo (customer-count) retention separately: NRR can be 110% while logos leak to competitors.
  • Time-align periods to billing cycles, not calendar months — subscription invoicing is calendar-driven but cohort windows are relative.
Watch out

Common mistakes

  • Counting expansions as 'new revenue' in growth totals AND in NRR — double counting the same dollars.
  • Mixing ARR and MRR within the same formula period over period.
  • Letting 'NRR includes only active accounts' hide churn — churned accounts must be counted as zero, not dropped.
  • Baselining a cohort after discounting/credits, inflating the starting base and deflating NRR.
When things break

Debugging tips

  • If NRR spikes, check whether an expansion (annual prepay, warehouse) landed in the same period as a downgrade — netting can mask both.
  • Reconcile NRR denominator with the billing system's contract MRR snapshot by account.
  • A cohort whose NRR exceeds 130% usually hides a few giant expansions — break out by account size.
  • NRR by segment (plan, sales-led vs self-serve) often moves oppositely; always slice before celebrating.
Interviews

Interview checkpoint

Practice

Hands-on lab

Compute NRR and GRR from Subscription Events
30 min · intermediate
In progress
Objectives
  • Build a cohort of billed accounts with monthly MRR
  • Model expansion, contraction and churn events
  • Compute NRR and gross revenue retention and interpret both

Compute NRR and GRR from Subscription Events

30 min · intermediate

0/4 steps
0%
sandbox · Linux sandbox
$
Try these commands
Test yourself

Quick quiz

0/2
1

A cohort starts at $100k MRR; six months later the same accounts produce $115k. NRR is:

2

NRR can exceed 100% only if no customers churn.

Go deeper

Official documentation