Calculate your SaaS retention health by measuring revenue retained from existing customers.
Total MRR/ARR at the beginning of the period.
Revenue from upsells and cross-sells during the period.
Revenue lost due to downgrades (excluding churn).
Revenue lost due to customer cancellations.
Calculation Results
0%
Revenue Breakdown
Starting Base:$0.00
+ Expansion:$0.00
– Contraction:$0.00
– Churn:$0.00
Ending Revenue from Base:$0.00
function calculateNRR() {
// 1. Get input values
var startMRR = parseFloat(document.getElementById('startingMRR').value);
var expansionMRR = parseFloat(document.getElementById('expansionMRR').value);
var contractionMRR = parseFloat(document.getElementById('contractionMRR').value);
var churnedMRR = parseFloat(document.getElementById('churnedMRR').value);
// 2. Validate inputs
if (isNaN(startMRR) || startMRR 120) {
verdictText = "Excellent! You are growing efficiently from your existing base.";
verdictColor = "green";
} else if (nrrPercentage >= 100) {
verdictText = "Good. You are retaining revenue, but there is room for expansion.";
verdictColor = "#0073aa";
} else if (nrrPercentage >= 90) {
verdictText = "Warning. Churn and contraction are slightly outpacing expansion.";
verdictColor = "orange";
} else {
verdictText = "Critical. You are losing significant revenue from your customer base.";
verdictColor = "red";
}
// 5. Update UI
document.getElementById('finalNRR').innerText = nrrPercentage.toFixed(2) + "%";
document.getElementById('nrrVerdict').innerText = verdictText;
document.getElementById('nrrVerdict').style.color = verdictColor;
// Format currency numbers
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
document.getElementById('displayStart').innerText = formatter.format(startMRR);
document.getElementById('displayExpansion').innerText = formatter.format(expansionMRR);
document.getElementById('displayContraction').innerText = formatter.format(contractionMRR);
document.getElementById('displayChurn').innerText = formatter.format(churnedMRR);
document.getElementById('displayEnd').innerText = formatter.format(endingRevenueFromBase);
// Show result box
document.getElementById('nrrResult').style.display = 'block';
}
Understanding Net Revenue Retention (NRR)
Net Revenue Retention (NRR) is one of the most critical metrics for SaaS (Software as a Service) and subscription-based businesses. Unlike Gross Revenue Retention (GRR), which only looks at retained revenue, NRR takes a holistic view of your customer base's revenue performance by factoring in expansion revenue (upsells), contractions (downgrades), and churn.
The NRR Formula
The calculation for Net Revenue Retention is straightforward but powerful. It answers the question: "If I didn't acquire a single new customer this month, how much would my revenue grow or shrink?"
Contraction MRR: Revenue lost when existing customers downgrade their plans.
Churned MRR: Revenue lost when customers cancel their subscriptions entirely.
Interpreting Your NRR Score
Because NRR includes expansion revenue, it is possible—and highly desirable—to have a rate over 100%.
Above 120%: This is considered best-in-class for high-growth SaaS companies. It indicates that your business can grow purely through your existing customer base, even without new sales.
100% – 110%: A healthy range. It means your upsells are offsetting your churn and downgrades.
Below 100%: This indicates a "leaky bucket." Your existing customer base is shrinking in value over time. While you may still be growing via new customer acquisition, a sub-100% NRR is a drag on growth and valuation.
Why NRR Matters for Valuation
Investors and venture capitalists scrutinize NRR heavily. A high NRR demonstrates product-market fit, customer satisfaction, and the scalability of your revenue model. It suggests that the Lifetime Value (LTV) of your customers is increasing over time, which justifies higher Customer Acquisition Costs (CAC).
How to Improve NRR
To improve your Net Revenue Retention rate, focus on two levers: reducing churn and increasing expansion.
Customer Success: Invest in onboarding and support to reduce churn.
Upsell Pathways: Create clear tiers and add-ons that provide value to growing customers.
Pricing Strategy: Align pricing with value metrics (e.g., per user, per GB) so revenue scales naturally as your customers grow.