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.
KPI · Abonnementen en SaaS
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.
(Begin-MRR + uitbreiding − inkrimping − churn) ÷ begin-MRR × 100%
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.
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.
SQL & 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.
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;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
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.
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.
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.
Met de ingebouwde app Targets leg je per maand een doel voor de KPI vast, zodat je realisatie en doel naast elkaar ziet.
FAQ
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%.
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.
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.
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.