MyDealList · Due diligence
SaaS Churn Cohort Analysis: The Advanced Math for Tech Due Diligence
Pre-close SaaS cohort analysis masterclass: advanced NRR and GRR decomposition, triangle cohort sheets, predict-churn formulas, and spotting unbilled usage anomalies and retention manipulation in data rooms.
The seller's teaser deck says 110% net revenue retention. The Stripe export in the data room tells a different story once you segment by signup month, exclude annual prepay credits, and reconcile usage meters against billed invoices. This is where most micro-SaaS deals die quietly—not on legal, not on code review, but on saas cohort analysis math that never ran before LOI. You are not buying trailing twelve-month MRR; you are buying the forward decay curve of every customer vintage still on the platform.
This guide is written for acquisition entrepreneurs conducting pre-close tech due diligence on subscription businesses in the $1k–$15k MRR band. You will learn advanced NRR and GRR decomposition models, how to build a triangle cohort retention sheet from raw subscription events, how to calculate net revenue retention correctly when sellers blend expansion and reactivation, how to apply a predict churn formula to forecast MRR at 6-, 12-, and 24-month horizons, and how to spot unbilled usage anomalies and retention manipulation before escrow release.
This is intentionally not a post-acquisition stabilization playbook. Our SaaS churn and retention audit guide covers onboarding rebuilds, pricing rewrites, and 90-day MRR recovery after you own the asset. This article covers the math you must complete before you sign—while you still have leverage to reprice, walk, or structure holdbacks. Pair it with micro-SaaS valuation fundamentals, pricing and billing math, and technical due diligence checklist, saas security audit and penetration testing guide, and intellectual property due diligence playbook for a complete pre-close stack.
Not financial, tax, or legal advice. Retention benchmarks vary by ACV, vertical, and contract structure. Rebuild all metrics from raw exports; never rely on seller dashboards alone.
1. Pre-Close vs. Post-Close: Why This Math Runs Before LOI
The difference between pre-close cohort diligence and post-close retention operations is leverage and liability. Before close, a deteriorating Q3 2025 vintage is a price adjustment or deal-killer. After close, it is your problem—and your burn rate. Sellers know this, which is why data rooms often ship with blended churn percentages, annualized NRR on a single slide, and cohort tables that exclude downgrades, paused accounts, or usage true-ups.
| Dimension | Pre-close (this guide) | Post-close (retention audit) |
|---|---|---|
| Primary goal | Detect mispricing / fraud; forecast decay | Stop the leak; rebuild onboarding |
| Data access | Seller-controlled exports; time-boxed | Full admin; live product telemetry |
| Output | Adjusted multiple; holdback terms | 90-day stabilization plan |
| NRR treatment | Decompose expansion vs. reactivation | Optimize expansion playbooks |
| Failure mode | Walk or renegotiate | Emergency pricing / support surge |
Rule of thumb for micro-SaaS DD: if you cannot reconstruct monthly logo and revenue retention for every signup cohort over 18 months from raw events, you do not have enough data to pay full ask.
2. Advanced NRR and GRR Mathematical Models
Sellers love quoting NRR because a single number above 100% signals “the base grows itself.” Professional buyers decompose NRR into components that reveal whether growth is organic expansion, billing catch-up, or reactivated churners counted as retained revenue.
2.1 Canonical NRR and GRR definitions
To calculate net revenue retention correctly in diligence, fix a cohort anchor month (typically first full month after signup) and track dollar flows—not customer counts—through month 12. Logo retention and revenue retention diverge when high-ARPU accounts churn while long-tail low-tier accounts persist; always model both.
2.2 Dollar-weighted vs. logo-weighted retention
Portfolio-level GRR is a MRR-weighted average of cohort dollar retention—not a simple average of cohort percentages. A seller reporting “average cohort retention 92%” without weights overstates health when recent large cohorts decay faster than legacy vintages.
2.3 Decomposed NRR: expansion quality score
Not all expansion is equal. Reactivation revenue (churned customer returning within 90 days) should not inflate NRR the same way same-cohort seat expansion does. Build an expansion quality score:
| Expansion quality | Grade | Diligence implication |
|---|---|---|
| > 85% | A — organic | NRR credible; premium multiple support |
| 70–85% | B — mixed | Adjust NRR down 3–8 pts for forecast |
| 50–70% | C — noisy | Treat NRR as marketing; use GRR for val |
| < 50% | D — inflated | Red flag; demand event-level reconciliation |
2.4 Annual vs. monthly contract normalization
Annual prepay distorts monthly NRR if you recognize MRR incorrectly. Normalize all contracts to monthly MRR equivalent before cohort math:
Failure to normalize annual prepay is the #1 source of NRR overstatement in sub-$50k SaaS deals. A customer who prepays $1,200 in January and cancels in March still contributed $100/mo for two months— but some sellers leave them in the active base through December.
2.5 GRR floor and NRR ceiling for valuation
Use GRR as your valuation floor (core product stickiness without upsell narrative) and NRR as your upside ceiling only when expansion quality exceeds 80%. For micro-SaaS diligence in 2026:
| Metric | Healthy (B2B niche) | Walk-away signal |
|---|---|---|
| GRR (12-mo rolling) | ≥ 85% | < 75% |
| NRR (12-mo rolling) | 95–115% | > 120% without expansion proof |
| GRR–NRR spread | 5–20 pts | > 30 pts (inorganic expansion) |
| Recent cohort GRR (last 4 vintages) | Within 5 pts of portfolio GRR | 10+ pts below legacy cohorts |
3. Triangle Cohort Sheet Design
The triangle cohort sheet is the single most important artifact in SaaS retention diligence. Rows are signup cohorts (month of first paid invoice). Columns are months since signup (M0, M1, M2…). Cell values are dollar retention percentage or absolute MRR remaining. The triangle shape emerges because older cohorts have more months of history.
3.1 Schema and data requirements
Minimum export fields from Stripe, Paddle, Chargebee, or Lemon Squeezy:
customer_id— stable identifiersubscription_id— for plan change trackingevent_type— created, renewed, upgraded, downgraded, canceled, pausedevent_timestamp— UTC, sub-day precisionmrr_delta— signed dollar changeplan_id— for tier segmentationbilling_interval— monthly, annual, usage
Assign each customer to a cohort month = month of first paid invoice (exclude trials unless trial converts same month). For each cohort c and month offset t:
3.2 Example triangle (dollar retention %)
| Cohort | M0 | M1 | M2 | M3 | M6 | M12 |
|---|---|---|---|---|---|---|
| 2024-01 | 100% | 94% | 91% | 89% | 84% | 78% |
| 2024-06 | 100% | 92% | 86% | 81% | 72% | — |
| 2025-01 | 100% | 88% | 79% | 71% | — | — |
| 2025-09 | 100% | 81% | 68% | — | — | — |
Read the triangle diagonally: if M1 retention drops from 94% (2024-01) to 81% (2025-09), product or ICP drift is real—not a blip. If only recent cohorts decay while legacy rows stay flat, suspect channel quality degradation or a broken onboarding release.
3.3 Layered triangles: segment overlays
Build separate triangles for plan tier, billing interval, acquisition channel, and geography. Discrepancies between layers expose hidden risk:
- Annual vs. monthly triangle — annual cohorts should show lower early churn but cliff risk at renewal
- Usage-based triangle — volatile M0→M1 if onboarding does not drive consumption
- Channel triangle — paid ads cohorts decaying 2× organic indicates CAC-quality mismatch
- Enterprise vs. SMB triangle — SMB rot masked by one sticky enterprise logo inflates portfolio NRR
3.4 Cohort maturity and survivorship bias
Young cohorts (< 6 months) understate long-term decay. Mature cohorts (> 18 months) may include customers grandfathered on deprecated plans. Apply a maturity adjustment when comparing vintages:
Always request 18 months minimum of event data. Twelve months hides annual renewal cliffs that land in month 13.
4. Spotting Unbilled Usage Anomalies and Retention Manipulation
Data rooms are curated. Sellers have incentives to smooth MRR, defer churn recognition, and inflate NRR before a sale. Your job is to reconcile billing system exports against product usage logs and invoice history.
4.1 Unbilled usage anomaly detection
Usage-based and hybrid SaaS products often accumulate unbilled usage—API calls, seats, storage, or credits consumed but not yet invoiced. Pre-close, sellers may present MRR that excludes pending true-ups, making retention look healthier than cash collection will support.
| Anomaly pattern | Where to look | What it means |
|---|---|---|
| Meter > invoice lag | Product DB vs. Stripe invoices | MRR overstated; true-up cliff post-close |
| Credit burn without MRR drop | Coupon/credit ledger | Artificial retention; churn deferred |
| Paused ≠ canceled | Subscription status field | Logo churn underreported |
| Failed payment excluded | Dunning / recovery logs | Involuntary churn hidden in “active” |
| Related-party accounts | Email domain + payment method | Fake MRR padding the base |
Request raw usage meter exports (API gateway logs, database aggregation tables, or billing provider meter events) and reconcile to the penny for the top 20 accounts by MRR. If the seller refuses usage logs, treat all usage-reported MRR as unverified and haircut val 15–25%.
4.2 Retention manipulation red flags
- Reactivation counted as retained — customer cancels M4, returns M8; seller keeps them in M4–M7 retention numerators. Fix: hard cutoff at cancel event.
- Annual prepay on dying accounts — seller offers discount to annual before sale; MRR locked but product unused. Cross-check login frequency for annual cohorts.
- Downgrade reclassified as expansion — plan rename where old “Pro” maps to new “Starter” at higher price. Compare plan_id history, not display names.
- Founder-owned accounts in base — filter customer emails matching founder domain, family names, or shared payment fingerprints.
- Churn date backdating — cancel event timestamp after effective end. Compare
canceled_atvs. last invoice period end. - Blended churn annualized incorrectly — monthly 5% reported as “60% annual” instead of ~46% compounded. Always rebuild from monthly events.
4.3 Cross-system reconciliation matrix
Run this matrix before LOI. Any cell with > 3% unexplained variance triggers a seller interview and holdback discussion.
| Source A | Source B | Compare | Tolerance |
|---|---|---|---|
| Stripe MRR export | Seller P&L revenue | Monthly totals, 12 mo | ± 2% |
| Stripe active subs | Product DB active users | Count at month-end | ± 1% logos |
| Usage meter | Invoiced usage line items | Trailing 3 months | ± 5% |
| Cohort triangle M12 | Seller deck NRR claim | Same period | ± 5 pts |
| Bank deposits | Stripe net payouts | Monthly, 6 mo | ± 3% (fees adjusted) |
5. Predict Churn Formula Models for Forward MRR
Pre-close valuation requires a forward MRR curve—not just trailing twelve months. The predict churn formula stack below converts cohort triangles into 6-, 12-, and 24-month MRR forecasts with confidence bands.
5.1 Constant hazard (exponential decay) model
Simplest model: assume each cohort decays at constant monthly rate r after M1. Fit r from mature cohorts (M6–M12 observations):
Example: M1 retention 88%, M6 retention 72%. r = 1 − (0.72/0.88)^(1/5) ≈ 3.9% monthly hazard after M1. On $8,000 MRR, 12-month forecast without new logos: ~$5,050 MRR (37% decay)—material for a 5× multiple negotiation.
5.2 Cohort survival convolution model
More accurate for diligence: convolve each active cohort's remaining MRR forward using its own retention curve, then sum.
Run three scenarios for the data room memo:
- Bear — recent cohort decay rate applied to all vintages; zero new MRR
- Base — cohort-specific retention curves; zero new MRR
- Bull — base curves + 50% of seller's claimed new MRR run rate (never 100% in DD)
5.3 Logo churn to revenue churn bridge
When logo churn looks acceptable (4%) but revenue churn is elevated (7%), the bridge reveals high-ARPU account loss—far more dangerous for a micro-SaaS with 80 customers and three whales.
5.4 Renewal cliff model (annual contracts)
Map every annual contract renewal date for the next 18 months. Micro-SaaS with 40% annual billing can lose 25–40% of MRR in a single month if renewal rates are overstated. This is invisible in monthly blended churn.
5.5 Confidence bands and deal impact
| Forecast horizon | Typical accuracy (well-modeled) | Valuation action |
|---|---|---|
| 6 months | ± 8–12% MRR | Use for earn-out baseline |
| 12 months | ± 15–22% MRR | Use for purchase price cap |
| 24 months | ± 25–35% MRR | Strategic planning only; not for escrow |
If bear-case 12-month MRR falls below 70% of seller ask implied MRR, renegotiate to a earn-out or holdback structure tied to verified retention—not seller projections.
6. Cohort Tables for the Data Room Memo
Deliverables you should produce (or require from seller) before LOI signing. These tables belong in your internal IC memo and inform APA holdback schedules.
6.1 Required cohort table pack
- Triangle retention % — 18 months of cohorts, M0–M18 columns
- Triangle absolute MRR — same structure, dollar values
- Logo count triangle — account retention by cohort
- Monthly NRR/GRR waterfall — 24 months, expansion decomposed
- Plan-tier retention matrix — GRR by tier at M6 and M12
- Annual renewal schedule — next 18 months of cliff exposure
- Usage billing gap report — metered vs. invoiced, top 50 accounts
- Forward MRR forecast — bear / base / bull with assumptions documented
6.2 NRR/GRR monthly waterfall template
| Month | Start MRR | + Expansion | − Contraction | − Churn | End MRR | NRR | GRR |
|---|---|---|---|---|---|---|---|
| 2025-10 | $11,200 | $680 | $210 | $540 | $11,130 | 99.4% | 93.3% |
| 2025-11 | $11,130 | $420 | $180 | $620 | $10,750 | 96.6% | 92.8% |
| 2025-12 | $10,750 | $890 | $95 | $480 | $11,065 | 102.9% | 94.7% |
December NRR above 100% with GRR below 95% signals expansion-dependent growth on a leaking core—exactly the pattern that justifies GRR-based multiples in your valuation model.
7. Pre-Close Due Diligence Checklists
7.1 Data room request list (Days 1–3)
- Raw Stripe/Paddle subscription event export (CSV, 24 months minimum)
- Invoice line-item export with plan_id and quantity history
- Customer list with created_at, first_paid_at, canceled_at
- Usage meter raw events or daily aggregates (if usage-based)
- Product analytics login events for top 50 accounts by MRR
- Coupon, credit, and dunning recovery logs
- Annual contract renewal calendar with historical renewal outcomes
- Seller's internal MRR spreadsheet (compare to your rebuild)
7.2 Analysis execution checklist (Days 4–10)
- Rebuild MRR month-end series from events; reconcile to seller P&L
- Construct triangle cohort sheet (retention % and absolute MRR)
- Calculate monthly logo churn, revenue churn, NRR, GRR for 18 months
- Compute expansion quality score; flag reactivation inflation
- Segment triangles by plan tier, billing interval, and channel
- Run usage billing gap analysis on hybrid accounts
- Fit predict churn formula; produce bear/base/bull 12-month MRR
- Map annual renewal cliffs for next 18 months
- Document all variances > 3% with seller written responses
- Translate findings into adjusted multiple and holdback terms
7.3 Go / no-go decision matrix
| Signal | Proceed | Renegotiate | Walk |
|---|---|---|---|
| Portfolio GRR (12-mo) | ≥ 85% | 78–84% | < 78% |
| Recent cohort M6 retention | ≥ 75% dollar | 65–74% | < 65% |
| NRR vs. rebuilt NRR | ± 3 pts | 4–10 pts gap | > 10 pts gap |
| Unbilled usage gap | < 5% MRR | 5–10% | > 10% |
| Bear 12-mo MRR vs. ask | ≥ 85% implied | 70–84% | < 70% |
| Data completeness | Full event export | Partial; holdback heavy | Refused usage/raw logs |
7.4 LOI and escrow structuring from cohort findings
- MRR holdback — 10–20% of purchase price released at day 90 if verified MRR within ±5% of DD base case
- Churn covenant — seller guarantee logo churn < X% for 60 days post-close or price adjustment
- True-up escrow — reserve equal to cumulative unbilled usage gap until invoices clear
- Representation schedule — attach your rebuilt cohort triangle as exhibit; seller warrants accuracy ±3%
8. Frequently Asked Questions
How is this different from the post-acquisition retention audit?
The post-acquisition retention audit fixes churn after you own the business—onboarding rebuilds, pricing changes, and 90-day stabilization. This guide runs before close to detect inflated NRR, forecast decay, and negotiate price or walk. Different leverage, different outputs. Premium newsletter and community buyers should apply the same triangle cohort rigor via our buy paid newsletter and premium community retention guide.
What is the minimum data history for reliable cohort analysis?
Eighteen months of subscription events. Twelve months hides annual renewal cliffs and seasonal Q4 cohorts. If the business is younger, apply heavier retention haircuts (15–25%) and shorter earn-out periods.
Should I use NRR or GRR for valuation multiples?
Anchor on GRR for the base multiple—it measures core product stickiness without upsell narrative. Allow NRR premium (0.5–1.5× multiple uplift) only when expansion quality exceeds 80% and is verified in event data. See our valuation guide for multiple tables.
Can I run this analysis on a $2k MRR micro-SaaS?
Yes—and you should. Small bases are more sensitive to whale churn, not less. With 60 customers, three cancellations can move monthly logo churn 5 points. Triangle cohort analysis is arguably more critical below $5k MRR where sellers often rely on blended averages.
What tools do I need?
Spreadsheet (Excel/Google Sheets) is sufficient for deals under $15k MRR. Export events to CSV, pivot cohort months, build triangle formulas. For larger assets, consider Baremetrics/CChart exports as a cross-check—but always validate against raw billing events. Do not trust dashboard-only access in a data room.
Comments from Pro members
Selected feedback from verified Pro subscribers. Timestamps update while you read.
- Jordan K.…
Switched to Pro mainly for the extra analyses and Reddit/X coverage. This workflow section matches how I screen listings now—saves me hours every week.
Pro
- Priya S.…
The cross-marketplace point is huge. I used to miss duplicates across sites. Premium paid for itself after one decent lead I would have skipped.
Pro
- Marcus T.…
As a Pro user I appreciate the emphasis on red flags before diligence. If you are still on Free, at least read the checklist twice before you wire funds.
Pro
- Elena R.…
I send founders here when they ask how I find sub-$10k deals. The internal link to pricing is honest—you really do need Premium or Pro if you are serious.
Pro
- Chris V.…
MyDealList + a simple spreadsheet is my stack for 2026. Dynamic feed + alerts beats refreshing five marketplaces manually. Worth upgrading from Premium to Pro if you scale volume.
Pro
Leave a Reply
Your email address will not be published.