EnableYourData.com

KPI · Abonnementen en SaaS

Netto omzetretentie (NRR): formule en voorbeeld.

Netto omzetretentie (NRR) is de MRR van een groep bestaande klanten na een periode, meestal twaalf maanden, gedeeld door hun MRR aan het begin, in procenten. Uitbreiding telt mee, net als inkrimping en opzeggingen; nieuwe klanten tellen niet mee. NRR laat zien of je bestaande klantenbestand op zichzelf groeit of krimpt.

Formule voor netto omzetretentie (NRR)

(Begin-MRR + uitbreiding − inkrimping − churn) ÷ begin-MRR × 100%

Rekenvoorbeeld

De klanten die op 1 oktober 2025 actief waren bij de abonnementsdienst van Acme, waren toen samen € 36.000 MRR waard. Een jaar later kwam daar € 6.480 uitbreiding bij en ging er € 1.080 af door inkrimping en € 2.520 door opzeggingen. Hun MRR is nu € 38.880. De NRR is € 38.880 ÷ € 36.000 × 100% = 108%.

Fictieve cijfers van Acme Groothandel.

Zo lees je deze KPI

Een NRR boven 100% betekent dat je bestaande klanten samen meer betalen dan een jaar geleden, ook als een deel is vertrokken. Onder 100% krimpt je bestaande omzet en moet nieuwe verkoop dat eerst goedmaken voordat je groeit. Vergelijk NRR per segment en abonnementsvorm, en altijd naast de bruto omzetretentie om te zien hoeveel uitbreiding nodig is om verlies te compenseren.

Valkuilen bij netto omzetretentie (NRR)

  • Omzet van nieuwe klanten die in de periode zijn gestart meetellen in de eind-MRR.
  • Prijsverhogingen niet apart zichtbaar maken, terwijl ze de NRR verhogen zonder dat klanten meer afnemen.
  • NRR per maand berekenen en dat vergelijken met jaarcijfers van anderen.

SQL & DAX

Netto omzetretentie (NRR) berekenen in SQL en DAX

Twee voorbeelden op een fictief datawarehouse van Acme Groothandel: een query in PostgreSQL en een measure voor een Power BI-model. Pas tabel- en kolomnamen aan je eigen model aan.

SQL · PostgreSQL
WITH per_customer AS (
  SELECT customer_id,
         SUM(mrr) FILTER (WHERE started_at <= current_date - interval '1 year'
           AND (ended_at IS NULL OR ended_at > current_date - interval '1 year')) AS start_mrr,
         SUM(mrr) FILTER (WHERE started_at <= current_date
           AND (ended_at IS NULL OR ended_at > current_date)) AS end_mrr
  FROM subscriptions
  GROUP BY customer_id
)
SELECT SUM(start_mrr) AS start_mrr,
       SUM(COALESCE(end_mrr, 0)) AS mrr_same_customers_now,
       ROUND(100.0 * SUM(COALESCE(end_mrr, 0)) / NULLIF(SUM(start_mrr), 0), 1) AS nrr_pct
FROM per_customer
WHERE start_mrr > 0;
DAX · Power BI
NRR (12 months) % =
VAR StartDate = EDATE(MAX('Date'[Date]), -12)
VAR Window = DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -12, MONTH)
VAR Cohort =
    CALCULATETABLE(VALUES(MrrMovements[customer_id]), REMOVEFILTERS('Date'), MrrMovements[month] <= StartDate)
VAR StartMRR = CALCULATE([MRR], DATEADD('Date'[Date], -12, MONTH))
VAR Expansion =
    CALCULATE(SUM(MrrMovements[amount]), Window, Cohort, MrrMovements[movement_type] = "expansion")
VAR Lost =
    CALCULATE(SUM(MrrMovements[amount]), Window, Cohort, MrrMovements[movement_type] IN {"contraction", "churn"})
RETURN
    DIVIDE(StartMRR + Expansion - Lost, StartMRR)

In ENABLE

Deze KPI volgen in ENABLE

Vragen in gewone taal

Vraag naar netto omzetretentie (NRR) per maand, klant of product in de SQL Explorer met AI. De AI schrijft de SQL, jij ziet de query en voert hem zelf uit; de AI krijgt alleen metadata.

Lees meer →

In je Power BI-dashboard

Leg de KPI vast als measure in je Power BI-model en toon hem in het portaal, met "Laatst ververst" erbij. Toegangsprofielen en optioneel row-level security bepalen wie welke cijfers ziet.

Lees meer →

Eigen dashboards (pilot)

Zet de KPI als tegel in een eigen dashboard, met vergelijking met vorig jaar. De Dashboard Builder is een pilot en per klant aan te zetten.

Lees meer →

Doelen per maand

Met de ingebouwde app Targets leg je per maand een doel voor de KPI vast, zodat je realisatie en doel naast elkaar ziet.

Lees meer →

FAQ

Veelgestelde vragen

Hoe bereken je net revenue retention?

Je neemt de klanten die aan het begin van de periode actief waren en vergelijkt hun MRR nu met hun MRR toen. Uitbreiding telt mee, inkrimping en opzeggingen gaan eraf, nieuwe klanten laat je weg. Bij € 100.000 begin-MRR en € 104.000 nu is de NRR 104%.

Wat betekent een NRR boven 100%?

Een NRR boven 100% betekent dat je bestaande klanten samen meer omzet opleveren dan aan het begin van de periode. Uitbreiding, zoals extra gebruikers of een duurder pakket, is dan groter dan het verlies door downgrades en opzeggingen. Je groeit dan ook zonder nieuwe klanten.

Wat is het verschil tussen NRR en GRR?

NRR telt uitbreiding bij bestaande klanten mee, GRR (bruto omzetretentie) niet. GRR kan daardoor nooit boven 100% uitkomen en laat puur zien hoeveel omzet je vasthoudt. Het verschil tussen beide is de bijdrage van uitbreiding.

AI gebruiken op je eigen data. Veilig, en zonder hoofdpijn.

In een online demo laten we zien hoe ENABLE je data veilig beschikbaar maakt en hoe je erop bouwt: een app beschrijven in de AI Builder, vragen in gewone taal, dashboards en API's. En hoe wij het voor je inrichten en beheren.