A cohort retention analysis shows how much revenue each group of customers still pays you months after they started. Most companies can't produce one in a day, because the CRM was never built to keep the inputs. Here is the data model, the benchmarks and the build that turn NRR by cohort into one report instead of a three-week project.

The math is easy. The inputs were never kept. Selling day to day doesn't need them, so nobody built them, and the gap only shows up when a board or a buyer asks.
Contract start date resets at every renewal. Three renewals later, a 2021 customer looks like a 2024 customer and the original vintage is gone.
← fix this firstDeal amount blends setup, services and subscription. The starting base is wrong before retention is even calculated.
Expansion lives in billing. Churn lives in a CS spreadsheet. The CRM has neither, just a deal amount.
CRM account, billing customer and CS record don't join cleanly, and parents and subsidiaries roll up differently in each.
Pilots, overages, reactivations and downgrades get handled differently by every analyst who touches the file, so the answer changes every quarter.
Median NRR is about 102% and median GRR is about 84%. Your blended number matters less than whether your newest cohorts are tracking above those lines.
| Metric | Weak | Acceptable | Strong | Source |
|---|---|---|---|---|
| Net revenue retention (NRR), all B2B SaaS | 92% or less | ~102% (median) | 110%+ | Aleph x Benchmarkit, 2026 (CY2025 data) |
| Gross revenue retention (GRR), all B2B SaaS | 76% or less | ~84% (median, down from 88%) | 91%+ | Aleph x Benchmarkit, 2026 |
| NRR, ACV $25K to $50K | 97% or less | ~102% (median) | 111%+ | SaaS Capital, 2025 |
| Median GRR by go-to-market motion | PLG 79% | Hybrid 80% | Sales-led 88% | Aleph x Benchmarkit, 2026 |
| Median NRR by pricing model | Seat-based 98% | n/a | Usage-based 108% | Aleph x Benchmarkit, 2026 |
| Time to produce NRR by cohort | 2 to 3 weeks | 2 to 5 days | Same day | JayOh engagement experience |
Definitions first, data model second, report last. Teams that start with the chart end up rebuilding it every quarter.
Buyers rebuild retention from billing. Every shortcut you take is one they find.
Enter each cohort's starting ARR and its 12-month movements. The grader scores every cohort against 2026 benchmarks and shows what your blended number is hiding.
Values are ARR in dollars, measured 12 months after each cohort started. Example data loads by default.
Run this before anyone asks for NRR by cohort. Every unchecked line is a day of analyst rebuild.
COHORT-READY DATA MODEL CHECKLIST (JayOh) DEFINITIONS [ ] Written ARR definition signed by the CFO [ ] Excludes setup, services, paid pilots and usage above committed minimums [ ] Cohort = month of first recurring invoice [ ] Reactivation rule written (e.g. returns after 90+ days = new cohort) [ ] Parent/subsidiary rollup rule written CUSTOMER RECORD [ ] Original customer start date field exists [ ] It is set once by automation and cannot be edited by reps [ ] Billing customer ID stored on every CRM account [ ] CS tool keyed to the same customer ID [ ] Acquired vs. organic flag on every customer REVENUE DATA [ ] Revenue type on every line item: Recurring / One-time / Usage [ ] Movements logged as events: New / Expansion / Contraction / Churn / Reactivation [ ] Downgrades never recorded as plain renewals [ ] Monthly ARR snapshot captured on the 1st of every month REPORTING [ ] Cohort table: monthly cohorts, left-aligned, NRR + GRR + logo retention [ ] Blended figures weighted by ARR [ ] Monthly and annual plans shown separately [ ] Latest month ties to billing within 1% [ ] 10-customer sample traced to invoices each quarter [ ] Definition printed in the footer of every view [ ] Named owner for definition and monthly reconciliation
Install it
~/.claude/skills/cohort-retention-auditor/SKILL.md, or in .claude/skills/ inside your repo.Skills are available on Claude Pro, Max, Team and Enterprise plans. New to skills? Read how to use skills in Claude.
Short answers to what operators and investors ask most.
A cohort retention analysis groups customers by the month or quarter they started paying and tracks how much of that group's starting revenue remains over time. In B2B SaaS it is usually shown as net revenue retention (NRR) and gross revenue retention (GRR) by cohort, so you can see whether newer customers retain better or worse than older ones.
For each cohort, take its starting ARR, add expansion, subtract contraction and churn, then divide by starting ARR. GRR uses the same formula without expansion and can never exceed 100%. Calculate it at month 12, 24 and 36, and weight any blended figure by cohort ARR.
Median NRR for B2B SaaS is about 102%, with the top quartile at about 110% and the bottom quartile at about 92%, according to Aleph and Benchmarkit's 2026 benchmarks on calendar 2025 data. Median GRR is about 84%. Usage-based companies run higher NRR than seat-based ones.
Show both, but lead with revenue. Revenue retention drives valuation because expansion can offset churn, while logo retention explains why revenue moved. A cohort can lose customers and still grow revenue, which only shows up when you track both.
Partly. HubSpot's Contracts object on Revenue Hub calculates MRR and ARR and links renewals, and its recurring revenue reporting tracks new, renewal, upgrade and downgrade deals. Salesforce can store the inputs on accounts, opportunity products and custom objects. Most teams still need a locked start date, line-item revenue types and a monthly ARR snapshot to get a true cohort table.
Buyers rebuild ARR from the billing export, then cut retention into monthly cohorts by start month. They strip out pilots, services and usage above committed minimums, check whether newer cohorts retain as well as older ones, and look at acquired versus organic customers separately. A table that ties to billing and cash holds up; one that doesn't gets rebuilt.
Every company we audit says it has the data. What it doesn't have is a start date that survives renewal, a line item that knows it's recurring, and one ID that joins the CRM to billing. None of that is exotic. It's a few weeks of build that day-to-day selling never forced anyone to do.
Diligence will force it. So will the exit. For operating partners it belongs in the first 100 days, because every quarter it waits is another quarter of history someone rebuilds by hand. If you want to see how far your portfolio company is from a same-day cohort table, start with our net revenue retention work or talk to us directly.
We engineer growth systems. JayOh builds the RevOps architecture, GTM execution and data infrastructure that turn messy revenue operations into predictable pipeline for B2B SaaS and PE-backed teams.