← Back to blog NRR

How to Calculate Net Revenue Retention (NRR) Without a Data Team

The formula is simple. The data problem isn’t.

Net revenue retention is the single most important metric for SaaS investors and operators. It tells you whether your existing customers are growing, shrinking, or staying flat — independent of new sales. An NRR above 100% means your customer base is expanding on its own. Below 100% means you’re leaking revenue.

The problem is that calculating NRR accurately requires data from multiple systems, and most scale-ups without a data team either get it wrong, get it late, or don’t calculate it at all.

The NRR Formula

Net Revenue Retention measures how much revenue you retain and expand from your existing customer base over a period, typically measured monthly or annually.

NRR = (Starting MRR + Expansion MRR − Churned MRR − Contraction MRR) ÷ Starting MRR × 100

Where:

A simple example: You start the month with $100K MRR from existing customers. During the month, $8K comes from expansions, $3K is lost to churn, and $2K is lost to downgrades. Your NRR = ($100K + $8K − $3K − $2K) ÷ $100K × 100 = 103%.

What “Good” NRR Looks Like

NRR benchmarks vary by segment, but here are typical ranges for B2B SaaS:

NRR Range What It Means Typical Profile
130%+Exceptional — customer base growing rapidly on its ownEnterprise SaaS with strong land-and-expand, usage-based pricing
110–130%Strong — healthy expansion offsetting churnMid-market SaaS with good expansion motions
100–110%Decent — roughly breaking even on existing baseSMB SaaS or products with limited expansion paths
Below 100%Leaking — losing revenue from existing customers faster than expandingHigh churn, limited upsell, pricing issues

For Series A–B companies targeting investors, 110%+ is typically the threshold that signals a healthy, scalable business.

Why NRR Is So Hard to Calculate at Scale-Ups

The formula looks simple. The data problem isn’t.

Your billing system and CRM disagree

Stripe says MRR is $412K. Salesforce says it’s $389K. Which is right? Discounts applied in billing but not reflected in CRM, cancelled accounts still marked active, currency conversion differences, and mid-cycle plan changes all create drift between systems. If you can’t trust the starting MRR number, your NRR calculation is wrong from the start.

Categorising revenue changes is messy

A customer switches from Plan A ($500/mo) to Plan B ($800/mo). Is that expansion? Usually yes. But what if Plan B has fewer seats? What if it was a special deal? What if the switch happened mid-cycle and billing prorated it? Categorising each revenue change as expansion, contraction, or churn requires business logic that lives in someone’s head, not in a database.

Cohort definitions get complicated

NRR should only include customers who existed at the start of the period. New customers acquired during the period shouldn’t count. But if a customer churned in January and came back in March, are they existing or new? If an account was merged with another account, which starting MRR do you use? These edge cases add up fast.

The spreadsheet approach breaks

Many scale-ups calculate NRR in a spreadsheet. Someone exports billing data, manually categorises changes, and produces a number. This works at 30 accounts. At 200 accounts with multiple plan types, billing cycles, and currencies, it takes days every month — and it’s usually wrong by the time it’s done.

How Scale-Ups Typically Solve This

Option 1: Hire a data analyst

Have someone build NRR calculations in a BI tool or data warehouse. They write SQL to join billing and CRM data, create the categorisation logic, and produce reports. Cost: $150K–$220K/year. Timeline: 2–4 months to get the first reliable number. Ongoing maintenance required as tools and schemas change.

Option 2: Use a dedicated revenue analytics tool

Platforms like ChartMogul or Baremetrics connect to your billing system and calculate SaaS metrics. These are solid for billing-only analytics. The limitation is that they only see your billing data — they can’t correlate revenue metrics with CRM pipeline, support activity, or product usage. You get NRR, but not the why behind it.

Option 3: Use an AI revenue intelligence platform

Eru connects to your billing, CRM, support, and product tools, reconciles the data across systems, and surfaces NRR alongside the signals that drive it — which accounts expanded, which contracted, which churned, and why.

The difference from a billing analytics tool is that Eru doesn’t just calculate the number. It connects it to the context: this account churned because support tickets tripled and usage dropped. This account expanded because they hit their usage limit and your CS team caught it. This account contracted because the champion left and nobody noticed.

NRR as a number is useful. NRR with the story behind each movement is actionable.

What NRR Looks Like When It’s Connected to Your Full Data Stack

Static NRR tells you the score. Connected NRR tells you how to improve it.

With your billing, CRM, support, and product data linked, you can answer:

This is the difference between a board metric and an operating metric. NRR on a slide tells investors where you’ve been. NRR connected to your data tells your team where to focus.

How to Get Your NRR Right Today

If you’re calculating NRR manually and you’re not confident in the number, start here:

Step 1: Reconcile billing and CRM. Compare MRR by account between Stripe (or your billing system) and Salesforce (or your CRM). Flag every discrepancy. This is your data integrity baseline.

Step 2: Define your categorisation rules. What counts as expansion vs new business? How do you handle mid-cycle changes? Merges? Reactivations? Write it down. If it’s only in someone’s head, it’s going to be inconsistent.

Step 3: Automate it. Whether you hire someone, use a billing analytics tool, or use Eru — stop calculating NRR in spreadsheets. The manual approach doesn’t scale and it’s error-prone at exactly the moment accuracy matters most (board meetings, fundraising).

How Eru Handles NRR

Eru connects to your billing, CRM, support, and product systems via read-only OAuth — 5-minute setup, no engineering required. The AI agent reconciles data across tools, flags discrepancies, and surfaces live NRR alongside GRR, churn rate, LTV:CAC, and the account-level detail behind every movement.

Your finance team gets the board-ready number. Your CS team gets the actionable detail. Your founder gets the command center view of what’s actually driving revenue retention — all from the same connected data.

Frequently Asked Questions

How do you calculate NRR without a data team?

NRR = (Starting MRR + Expansion MRR − Churned MRR − Contraction MRR) ÷ Starting MRR × 100. The formula is simple but the data problem is hard — billing and CRM systems disagree, categorising revenue changes is messy, and cohort definitions get complicated. Options include hiring a data analyst ($150K–$220K/year), using billing analytics tools like ChartMogul or Baremetrics (billing-only), or using an AI revenue intelligence platform like Eru that connects billing, CRM, support, and product data to calculate NRR with the context behind each movement.

What is a good NRR for SaaS at Series A or Series B?

For Series A–B SaaS companies, 110%+ NRR is typically the threshold that signals a healthy, scalable business. Enterprise SaaS with strong land-and-expand motions target 130%+, mid-market SaaS with good expansion motions target 110–130%, and SMB SaaS typically sits at 100–110%. Below 100% means you’re losing revenue from existing customers faster than expanding.

Book a free churn audit — we’ll show you your real NRR and the signals driving it.

Book a churn audit →