Investors have heard every NRR story. What they want to see — and what most founders cannot produce on demand — is one defensible spreadsheet that ties Stripe to HubSpot to the deck, where every number can be traced to a query.
This article is about building that spreadsheet. It is not about what NRR means — you know what it means. It is about how to compute it from the actual data you have, in the state it is actually in.
What the sheet needs to contain {#what-the-sheet-needs}
A serious investor’s data room request will land somewhere on this list:
- ARR — current and monthly build (gross new, expansion, contraction, churn)
- MRR bridge — month-by-month waterfall, last 24 months
- NRR / GRR — net and gross revenue retention, by cohort
- Churn rate — logo and revenue, trailing 12 months
- CAC — by channel, blended
- LTV:CAC — and the payback period in months
- Pipeline coverage — current open pipeline vs. next quarter target
- Win rate — SQL → Closed-Won, trailing 12 months
Every number in the deck must trace back to a cell in this sheet. Not “we calculated it” — a cell.
The extraction problem {#extraction}
Almost no B2B SaaS company has clean revenue data in one place. What you actually have:
- Stripe — transaction-level, customer-level, but with manual invoices, one-time fees, and refunds mixed in
- HubSpot / Pipedrive — deals with MRR / ARR fields that reps may or may not have updated
- An invoicing tool — or your accountant’s Excel, which is three months behind
- A spreadsheet someone built in 2022 that everyone trusts but no one can fully explain
The goal is to get to customer-month-level revenue. That means one row per customer per month, showing what they paid. Everything else — NRR, cohorts, churn — is a pivot on that table.
Computing NRR from a messy Stripe export {#nrr-from-stripe}
The cleanest path:
- Export all
charge.succeededevents from Stripe, customer-level, grouped by month - For each customer-month:
revenue = sum of succeeded charges - refunds - Tag each customer with their cohort month (first month they paid anything)
- Build a cohort table: for each cohort, what % of revenue is retained in month +1, +2, … +N
- NRR =
(start MRR + expansion - contraction - churn) / start MRRfor a given period
If you have discounts, manual credits, or free months in Stripe: reconcile them as $0 revenue months before cohort-tagging.
A 100%+ NRR is a fundraising asset. An NRR below 80% is a diligence flag no deck can paper over. Know your number before you enter the room.
CAC and payback: the two questions every investor asks {#cac-payback}
CAC = total sales + marketing spend in a period ÷ number of new customers acquired
The two arguments you will have:
- “Do we include sales salaries?” — Yes. Blended CAC includes all costs to acquire.
- “Which period?” — Use the same period as when the customers were acquired. Don’t match Q4 spend to Q1 customers.
Payback period = CAC ÷ (New customer MRR × gross margin %)
A payback under 12 months is healthy for most B2B SaaS. Under 18 months is acceptable. Over 24 months, you will be asked about it.
The numbers that will get you grilled {#grilled}
Every investor has their version of this list. These are the ones I see consistently:
- NRR below 100% — you will be asked why customers are shrinking. Have a cohort-by-cohort story.
- CAC payback over 18 months — you will be asked how you fund growth. Have a model.
- Win rate below 15% — you will be asked whether the problem is top-of-funnel or sales. Know which.
- Churn over 3% monthly — you will be asked about the product. Have the post-mortems.
- “Our CRM isn’t fully up to date” — this ends the conversation. Fix it before you enter the room.
The deck on top of the sheet {#the-deck}
Once the sheet exists and every number is traceable, the deck writes itself. Ten to fifteen slides:
- TL;DR — Where we are today
- The problem we solve (one slide)
- ARR build — gross, expansion, contraction, churn (waterfall chart)
- NRR by cohort + by segment
- CAC by channel
- Payback period
- LTV:CAC
- Pipeline coverage and velocity
- Team and capacity
- Use of funds
- Risks we’re not hiding (yes, include this)
The last slide matters more than founders think. Investors who see a “risks” slide — honestly written — trust the deck more. The ones who don’t see it assume you’re hiding something.
What to do next {#next}
If building this from your current data feels like it would take three weeks, that’s the real problem. The GTM / Investor Data Room Pack takes three to four weeks with a senior operator doing the work — and you walk away with the master sheet, the dashboard, the deck, and an annotated interpretation of every number that will come up in diligence.
The alternative is walking into the room with a deck that looks clean and breaks under the first question. Investors notice. They talk to each other.