Net Revenue Retention Rate is a critical metric for SaaS companies that shows how revenue from existing customers changes over time.
This metric goes beyond simple customer retention rates to comprehensively capture customer revenue growth or contraction. It is essential for SaaS executives and product managers to evaluate business health and sustainability. By measuring it quarterly or monthly, they can understand the effectiveness of their value proposition and the success of their upsell strategies.
Unlike basic retention metrics that count customers, NRR focuses on revenue retention, taking into account customer upgrades (expansion) and downgrades (contraction). This makes it a powerful indicator of whether your existing customer base is becoming more valuable over time.
NRR is especially important because it not only helps offset the impact of churn, but also reveals how efficiently your company can grow without relying solely on new customer acquisition. High NRR signals strong product-market fit and customer satisfaction, making it a key metric for investors evaluating long-term growth potential.
Here, I’ll introduce how to calculate Net Revenue Retention Rate using actual data.
In this example, we’ll use payment data from a subscription business where each row represents one payment transaction, including Customer_ID, Payment_Date, Payment _Amount, and other information. (You can download the data from this page)
In Exploratory, there are two methods for creating metrics:
This Note will introduce both methods.
“AI Prompt” is only available to users with paid licenses such as Business Plan or Personal Plan, or users who are currently trialing these plans.
Also, AI Prompt is only available when your device is connected to the internet.
If you are not using the above plans or are using a device that is not connected to the internet, please proceed to the “Calculate Net Revenue Retention Rate with UI” section.
This section introduces how to create metrics using AI Prompt. (For details on AI Prompt, please see here.
Click the “AI Wrangling” button, and when the AI Prompt dialog appears, enter text like the following and execute:
Calculate Net Revenue Retention Rate by month
Code to calculate Net Revenue Retention Rate will be generated. Check the results and click the “Run as Step” button.
The step is added, and Net Revenue Retention Rate has been calculated.
Here I’ll explain how to calculate Net Revenue Retention Rate using the UI.
When using payment data like this, you can calculate it with the following steps:
We’ll create a table like the one below to calculate Net Revenue Retention Rate:
To create the above table, we’ll start from Step 2, where we’ve already added the payment count to the payment data. (You can check how to calculate payment count here)
Since we want to aggregate MRR and MRR from existing customers, select “Aggregate (Summarize)” from the “Payment Date” column header.
When the aggregation dialog opens, select “Payment_Date” for the group and “Month” for the rounding process.
MRR (Monthly Recurring Revenue) is the monthly total of the amounts paid by each user, so select “Payment_Amount” for the value and SUM for the aggregation function.
Then change the column name to MRR.
Next, aggregate MRR from existing customers.
MRR from existing customers is the MRR obtained from customers who have made payments two or more times, so we’ll aggregate the sum of payment amounts from customers with payment counts of 2 or more.
Add “Payment_Amount” to the value and select “Conditional Sum (SUM_IF)” for the aggregation function.
A dialog to specify conditions will appear. Enter “Payment_Count” for the column, “Greater than or equal to” for the operator, and “2” for the value.
Then set the column name to “MRR from Retained Customer”, apply, and click the “Run” button.
Now we have aggregated MRR and MRR from existing customers, and we’re ready to calculate Net Revenue Retention Rate.
To calculate Net Revenue Retention Rate, select “Create Calculation”, “Standard” from the “MRR from Retained Customer” column header menu.
When the Create Calculation dialog appears, enter
`MRR from Retained Customer` / lag(MRR)
in the calculation
editor.
The lag function retrieves the value from the previous row of the
specified column, so lag(MRR)
calculates the value from the
previous month, which is the previous month’s MRR.
Finally, make sure “Create New Column” is checked, set the column name to “Net Revenue Retention Rate”, select “Last Column” for “After This column”, and click the “Run” button.
Now we have calculated the Net Revenue Retention Rate.