Hoe je een abonnementenexport omzet in een MRR- en ARR-rapport (Gids voor 2026)

Een abonnementenexport geeft je rijen: klant, abonnement, bedrag, interval, status, startdatum. Een MRR-rapport heeft één getal per maand nodig. De stap van de een naar de ander lijkt op rekenwerk en bestaat voornamelijk uit definities.
Twee keuzes bepalen elk cijfer in het uiteindelijke rapport. Welke abonnementen als actief tellen, en of kortingen van het bedrag worden afgetrokken.
Als je een van beide fout doet, klopt het rapport intern nog steeds. Het komt alleen niet overeen met finance, met het facturatiedashboard en met de versie van vorige maand.
Deze gids behandelt wat je eerst moet bepalen, de drie handmatige routes en waar elk van deze ophoudt te werken.
Wat je nodig hebt voordat je begint
Je hebt de export nodig met één rij per abonnement, niet één rij per factuur. Facturen vertellen je wat er is gefactureerd. Abonnementen vertellen je wat er terugkeert.
Je hebt het facturatie-interval op elke rij nodig. Maandelijke en jaarlijkse abonnementen kunnen niet worden opgeteld totdat de jaarlijkse zijn genormaliseerd.
Je hebt ook de statuskolom nodig. De documentatie over facturatie-analyses van Stripe definieert MRR as een som van maandelijks genormaliseerde bedragen. Hierbij worden alleen de abonnementen met de status active en past_due meegeteld.
Het is de moeite waard om die definitie ongewijzigd over te nemen. Deze is gepubliceerd, specifiek en geeft je een verdedigbaar antwoord wanneer iemand vraagt waarom een getal is veranderd.
Drie beslissingen moeten eerst worden genomen.
Welke statussen meetellen. Active plus past due is de gedocumenteerde standaard. Canceled en unpaid worden behandeld as churn en vallen af.
Of kortingen worden afgetrokken. Stripe maakt dit configureerbaar, met aparte instellingen voor terugkerende en eenmalige kortingen. Doorlopende kortingen worden altijd afgetrokken.
Wanneer een abonnee begint mee te tellen. Stripe laat je kiezen tussen de start van de eerste facturatieperiode of de ontvangst van de eerste betaling. De eerste optie wordt beschreven als de meest gebruikelijke.
Schrijf die drie op het blad voordat je een formule schrijft. Ze maken het verschil tussen een rapport en een discussie.
Waarom het rekenwerk het makkelijke deel is
Normaliseren is eenvoudig. Het eigen uitgewerkte voorbeeld van Stripe gebruikt 100 abonnees met een maandelijks abonnement van $100 plus 50 met een jaarlijks abonnement van $600. Dat geeft (100 × 100) + (50 × (600 / 12)) = 12,500.
De complicaties zijn de uitsluitingen, en die zie je in een spreadsheet snel over het hoofd.
Belastingen tellen niet mee. Stripe sluit belasting uit van MRR. Als je export brutobedragen bevat, overschat je elk maandbedrag.
Proefperiodes tellen niet mee. Abonnementen in een proefperiode worden uitgesloten totdat ze converteren.
Gratis abonnementen tellen niet mee. Een abonnee met een gratis abonnement draagt niets bij, dus deze wordt ook niet meegeteld als een actieve abonnee.
Inkomsten op basis van verbruik tellen niet mee. Dit is het punt dat mensen verrast. Producten op basis van verbruik worden volledig uitgesloten van MRR, dus een bedrijf dat deels op basis van verbruik factureert, zal de MRR inherent lager zien uitvallen dan de werkelijke omzet.
Dan is er nog de kwestie met kortingsbonnen, die gedocumenteerd is en echt contra-intuïtief werkt. Als de MRR van een abonnee naar nul daalt, wordt die abonnee voor die periode als churn beschouwd.
Een kortingsbon van 100% doet precies dat. Als je de kortingsbon later verwijdert, wordt de abonnee weer actief, wat verschijnt als een reactivatie.
Een promotie kan dus churn veroorzaken in je rapport zonder dat er één klant vertrekt.
Hoe je dit handmatig doet
Optie 1: Normaliseer het interval en tel vervolgens op per maand
Voeg een kolom voor het maandelijkse bedrag toe. Deel jaarlijkse bedragen door twaalf, vermenigvuldig wekelijkse bedragen met ongeveer 4.33 en laat maandelijkse bedragen ongemoeid.
Bereken vervolgens de totalen per maand met SUMIFS, waarbij je filtert op status. Gebruik EOMONTH om de einddata van de maanden te genereren waarover je rapporteert.
Rapporteer MRR per het einde van de maand, niet per vandaag. Het downloadbare rapport van Stripe toont expliciet de MRR van elke abonnee aan het einde van de maand. Door die conventie aan te houden, voorkom je later aansluitingsproblemen.
De beperking hier is de geschiedenis. Dit geeft je een zuiver beeld van de huidige maand, maar vertelt je niets over waarom deze is veranderd.
Optie 2: Bouw de mutatiekolommen
Dit is wat het rapport nuttig maakt. Splits de verandering op in nieuw, reactivatie, expansie, contractie en churn.
De groei-definitie van Stripe is het begincijfer plus nieuw, reactivatie en expansie, minus contractie en churn, en vervolgens gecorrigeerd voor wisselkoersen. Het uitgewerkte voorbeeld gaat van $1,000 naar $1,045 via exact die componenten.
Let op de laatste term. Als een klant in een andere valuta betaalt, zal een model dat puur op formules is gebaseerd niet aansluiten totdat je het wisselkoerseffect verwerkt.
Werken met meerdere valuta's heeft nog een tweede gevolg dat belangrijk is om te weten. Stripe geeft aan dat filteren en groeperen op product of prijs niet beschikbaar is wanneer abonnementsinkomsten in verschillende valuta's worden verwerkt.
De limiet van deze route is het onderhoud. Mutatiekolommen vereisen een momentopname van de voorgaande periode, waardoor je voor altijd een tweede kopie van de vorige maand moet bijhouden.
Optie 3: Haal de mutaties rechtstreeks uit het facturatiesysteem
De meeste facturatieplatformen kunnen de mutaties voor je exporteren. Stripe publiceert drie CSV's: MRR per abonnee per maand, een samenvatting van abonnementsstatistieken en een logboek van elke MRR-mutatie per klant.
Dat derde bestand is degene die je nodig hebt. Het neemt het moeilijkste deel van Optie 2 weg.
Als je een definitie van een metriek wijzigt, houd dan rekening met vertraging. Stripe merkt op dat configuratiewijzigingen 24 tot 48 uur nodig hebben om te verschijnen.
De gezamenlijke beperking. Alle drie de routes stoppen bij MRR. Dit omzetten naar ARR, ARPU, churn en retentie vereist nog een extra laag beslissingen bovenop dezelfde tabel.
Waar de handmatige route vertraagt
De eerste maand kost je een middag. De vierde kost meer tijd, en niet omdat de gegevens ingewikkelder zijn geworden.
Tegen die tijd bevat de werkmap twee definities van actief, een handmatig bijgewerkte wisselkoerskolom en een mutatietabblad dat niemand wil aanraken.
Afgeleide metrieken vergroten het probleem. ARPU is de totale MRR gedeeld door het aantal actieve abonnees. Lifetime value is ARPU gedeeld door het churnpercentage.
Churn heeft zijn eigen valkuil. De noemer van Stripe is het aantal abonnees dat dertig dagen geleden actief was plus de nieuwe abonnees die in die periode zijn toegevoegd, wat neerkomt op 100 / (1000 + 100) = 9.1%. Een spreadsheet die alleen door het beginsaldo deelt, rapporteert een hoger getal.
Retentie gedraagt zich ook onverwacht. Omzetretentie kan hoger zijn dan 100%, omdat expansie binnen een cohort zwaarder weegt dan churn.
Niets hiervan is moeilijk. Het zijn gewoon vijf subjectieve beslissingen die elke maand op exact dezelfde manier moeten worden genomen, door wie het rapport op dat moment ook maakt.
Hoe je het rapport bouwt met Powerdrill Bloom
Stap 1: Upload je abonnementenexport
Upload de abonnementen-CSV, of de abonnementen- en mutatiebestanden samen. Powerdrill Bloom analyseert de kolommen bij binnenkomst, zodat ontbrekende intervallen, lege bedragen en gedupliceerde abonnements-ID's aan het licht komen voordat er een totaal wordt berekend.
Stap 2: Formuleer de definities in natuurlijke taal
Beschrijf de regels in plaats van ze te bouwen. Geef aan welke statussen meetellen, of bedragen netto zijn na aftrek van kortingen, en over welk maandeinde je rapporteert.
Vraag vervolgens in dezelfde stap om de controles. Vraag welke rijen een onverwacht interval hebben en welke abonnementen na kortingen op nul uitkomen. Vraag daarna of de maandtotalen aansluiten op de facturatiesamenvatting.
Stap 3: Exporteer de grafiek, het rapport of de presentatie
Exporteer de maandelijkse trend, een mutatietabel per component of een presentatie-slide die klaar is voor de directie, inclusief de cijfers en definities.
Waarom dit beter is dan het maandelijks opnieuw opbouwen
| Handmatige route | Powerdrill Bloom | |
|---|---|---|
| Jaarlijkse abonnementen normaliseren | Formulekolom per bestand | Uploaden en de regel formuleren |
| Mutatie-uitsplitsing | Momentopname van de vorige maand bijhouden | Vragen om de componenten |
| Proefperiodes en verbruiksregels uitsluiten | Handmatige filters per cyclus | De uitsluitingen formuleren |
| Aansluiten op de facturatiesamenvatting | Handmatige controle | Vragen of de totalen aansluiten |
De middelste rijen zijn waar de meeste tijd in gaat zitten. Een kolom optellen is het werk niet; het stabiel houden van vijf definities over de maanden heen wel.
Veelgemaakte fouten
Facturen optellen in plaats van abonnementen. Facturen bevatten eenmalige kosten en verrekeningen. Terugkerende omzet is een eigenschap van het abonnement, niet van de factuur.
Btw in het bedrag laten staan. Belasting vertekent elk maandbedrag en valt nooit netto weg. Verwijder dit vóór het normaliseren.
Proefperiodes meetellen als omzet. Een proefperiode heeft nog geen terugkerend bedrag. Als je deze meetelt, leen je de groei van volgende maand.
ARR behandelen als MRR maal twaalf zonder dit te vermelden. Het is een genormaliseerd jaarcijfer, geen geïnde cash. Label het zo, zodat niemand het interpreteert als boekingen.
Het effect van kortingsbonnen op churn negeren. Een volledige korting brengt een abonnee naar nul, wat wordt gelezen als churn. Markeer die rijen in plaats van ze achteraf te moeten verklaren.
Churn delen door alleen het beginsaldo. De gedocumenteerde noemer is inclusief de abonnees die tijdens de periode zijn toegevoegd. De twee versies leveren verschillende percentages op bij identieke gegevens.
Elke maand vanaf nul opnieuw opbouwen. De definities veranderen niet; alleen de export verandert. Behoud de regels en wissel het bestand uit, met dezelfde discipline als bij een budget versus werkelijkheid-rapport.
Conclusie
Leg de statuslijst vast, neem een besluit over kortingen, normaliseer het interval en rapporteer per het einde van de maand. Die vier stappen zorgen voor een MRR-rapport dat standhoudt bij vragen van finance.
Het kostbare deel is niet de optelsom. Het is het feit dat vijf definities elke maand stand moeten houden terwijl de export van vorm verandert.
Als dat is waar je maandeinde aan opgaat, probeer dan Powerdrill Bloom op je abonnementenexport. Zie ook onze gids over het stellen van KPI-doelen op basis van je eigen data. Het overzicht van AI-tools voor het bijhouden van SaaS-metrieken en de pagina over AI financiële analyse behandelen de tooling-kant.
Veelgestelde vragen
Wat is the formule voor MRR op basis van een abonnementenexport?
Normaliseer elk abonnement naar een maandelijks bedrag en tel vervolgens de abonnementen met een in aanmerking komende status op. Het voorbeeld van Stripe is (100 × $100) + (50 × ($600 / 12)) = $12,500.
Hoe reken ik MRR om naar ARR?
Vermenigvuldig het maandelijkse cijfer met twaalf. Label het als een genormaliseerde jaarlijkse run rate in plaats van geïnde cash, omdat jaarlijkse abonnementen vooraf worden gefactureerd.
Moeten inkomsten op basis van verbruik worden meegerekend?
Stripe sluit producten op basis van verbruik uit van MRR. Als een aanzienlijk deel van je omzet gebaseerd is op verbruik, rapporteer dit dan als een aparte regel in plaats van het samen te voegen.
Welke abonnementsstatussen tellen als actief?
De gedocumenteerde standaard is active plus past_due. Geannuleerde en onbetaalde abonnementen worden behandeld als churn en vallen buiten het totaal.
Waarom wijkt mijn churnpercentage af van het facturatiedashboard?
Meestal ligt dit aan de noemer. De gedocumenteerde berekening deelt door het aantal abonnees dat dertig dagen geleden actief was plus de nieuwe abonnees die tijdens die periode zijn toegevoegd.