Subscription MRR Analyzer from Billing Exports
See how your MRR moved each month: new, expansion, contraction, churn and reactivation.
Try before you buy.
- Free preview: the latest month’s MRR and paying customers in full, with the count of each MRR movement and the data checks; the history and amounts stay hidden.
- Locked until you unlock it: download and opening in another app.
- Unlock: Premium pass, ₹799 for 30 days or ₹249 for 1 week, a one-time payment that never renews. Unlock: Premium pass, $19.99 for 30 days or $7.99 for 1 week, a one-time payment that never renews.
Ways to unlock shows how to get the full result.
Printing this result is locked in the free preview.
Your billing export
A subscriptions export (one row per subscription or item: customer, plan, price, billing interval, status and dates) or an invoices export (one row per invoice with the period it covers), as your billing system saves it: CSV or Excel.
Columns
Found by their names and remembered for files laid out the same way. Check each one.
Settings
Plan prices
The export has no price for these plans. Enter the price of one subscription to each (after any standing discount) and its billing period.
Report
Locked in the free preview. Opens the ways to unlock this result.
Locked in the free preview. Batch runs unlock with a pass.
Locked in the free preview. Query results unlock with a pass.
About the Subscription MRR Analyzer from Billing Exports
Monthly recurring revenue (MRR) is what your subscriptions bring in each month, with yearly and quarterly plans spread per month. Open the subscriptions or invoices export of your billing system — Stripe, Paddle, Lemon Squeezy, Chargebee, Razorpay or any other, as CSV or Excel — check the columns it found, and the tool works out MRR at the end of every month and classes each customer’s change as new, expansion, contraction, churn or reactivation.
From that MRR bridge come ARR, logo and revenue churn, net and gross revenue retention (NRR and GRR) month by month and over the last twelve months, ARPA, MRR by plan, revenue and customer cohorts, and the lists of customers who churned, downgraded, upgraded or came back, with the plans they moved between. Quantities and discounts are applied, other currencies are converted at the rates you enter, and trials, unpaid and paused subscriptions are left out as their statuses say.
Nothing is uploaded: the file is read in your browser. The free preview shows the latest month’s MRR and paying customers in full, with how many customers each movement had; a Premium pass gives the whole history, the customer lists and the cohorts, and downloads the workbook and the bridge.
How to use it
- Get your subscriptions (one row per subscription or item: customer, plan, price, billing interval, status and dates) or your invoices (one row per invoice with the period it covers) out of your billing system as a CSV or Excel file. Template (CSV) shows the layout; Example loads a made-up file.
- Choose the file. Under Columns, check what each column was matched to and whether the file lists subscriptions or invoices.
- Under Settings, set the report date and the currency of the report and, for rows in other currencies, the exchange rates you keep your books in. Say whether the amount column is a unit price, a period total or MRR already, and whether amounts are in cents. If the export has no prices, as Lemon Squeezy’s subscriptions do not, enter each plan’s price under Plan prices.
- Read the latest month, the bridge, churn and retention, MRR by plan, the customer lists and the cohorts, and look at the data checks for anything left out.
- With a Premium pass, download the workbook (one sheet per table and every customer’s MRR by month) or the MRR bridge (CSV), or open the bridge in the SaaS Metrics Calculator; without one, the page shows a free preview of your export.
Examples
Business plan, $2,388 a year
$199 of MRR (2,388 ÷ 12) in every month the subscription runs.
At the start of March: A $100, B $100, C $50 · in March B cancels and C upgrades to $150
Opening MRR $250 · churn $100 · expansion $100 · closing MRR $250 (250 − 100 + 100)
24 made-up customers, report date 30 September 2026
September 2026: MRR $1,857.20 from 17 paying customers, one of them new · NRR over the last 12 months 88.7% ($785 of $885) · GRR 75.3% ($666 of $885)
A customer pays €90 a month; your rate goes from 1.10 to 1.05
MRR $99.00 → $94.50: an FX adjustment of −$4.50, not a contraction.
Common uses
- Monthly and board reports of MRR, ARR, churn and retention from the billing export, without a paid analytics subscription.
- Finding which customers churned, downgraded or upgraded, and from which plan to which.
- Checking a dashboard’s figures against your own reading of the raw export.
- Cohort tables for investors: how much of each month’s new MRR is still there.
- Preparing the movements for the SaaS Metrics Calculator’s quick ratio, burn multiple and Rule of 40.
How MRR and the movements are worked out
- MRR at the end of a month is the sum of the monthly amounts of the subscriptions that count on its last day (the last month on the report date): a yearly plan counts a twelfth of its price and a quarterly plan a third, as in the definition of Stripe’s billing analytics (the monthly-normalised value of active and past-due subscriptions, without tax). Weekly and daily plans are spread over the average month of 30.436875 days (365.2425 ÷ 12), so a weekly price counts about 4.35 times.
- Counted: active and past-due subscriptions. Not counted: trials (until they convert), subscriptions that never started billing, unpaid ones (from the start of the unpaid period), paused ones (from the pause) and canceled ones (from their end date). The status values of Stripe, Paddle, Lemon Squeezy, Chargebee and Razorpay are read.
- Movements, per customer and month: new (MRR from zero for the first time), reactivation (from zero again), expansion (up), contraction (down) and churn (to zero). A change that only an exchange rate made is an FX adjustment.
- The bridge: opening MRR + new + reactivation + expansion − contraction − churn + FX = closing MRR, every month.
Churn, retention and the other figures
- Logo churn = customers who churned ÷ paying customers at the start of the month.
- Gross MRR churn = (churn + contraction) ÷ opening MRR; net MRR churn = (churn + contraction − expansion) ÷ opening MRR.
- NRR (net revenue retention) = the MRR at the end of the month of the customers who paid at its start ÷ their MRR at the start. GRR (gross revenue retention) is the same with each customer’s increase left out, so it is never above 100%.
- Over the last twelve months: the customers who had MRR twelve months before the latest month, their MRR now ÷ their MRR then.
- ARPA = MRR ÷ paying customers; ARR = MRR × 12.
- Cohorts: the customers whose MRR first started in a month, and the share of their first month’s MRR (or of the customers) left in each month after.
Getting the export right
- Subscriptions: one row per subscription or subscription item, with the customer ID, plan, price, quantity, billing interval (and its count, 3 for quarterly), currency, status, start date, trial end, end or cancellation date, current period start and pause date. In Paddle’s subscriptions report the last billed amount is the period’s total after discounts, so choose “The total for each billing period” and tick “already has discounts taken off” (the page does this when it sees that report). A Chargebee export with an MRR column can be read as MRR already.
- No prices in the file: Lemon Squeezy’s subscriptions carry the product and variant but no price, so the page asks for each plan’s price and billing period.
- Invoices: one row per invoice with the customer, the amount without tax (a total excluding tax, or a subtotal) or a total with a tax column to take off, and the invoice date or the service period. Void, draft, uncollectible and refunded invoices and one-off charges (billing reason “manual”) are left out; each invoice is spread over the months its period covers, and a renewal paid a few days late is bridged. A period that ends on the invoice date is the one before it (in Stripe’s invoices the invoice period is the window of usage billed in arrears, and the line items carry the service period), so such an invoice counts from its own date for the length of that period.
- Dates in ISO form, day or month first (choose which), or Unix timestamps; amounts in currency units or in cents (choose which).
Limitations
- A subscriptions export is a snapshot: a subscription whose price was changed in place shows its current price over its whole life, so the change appears as expansion or contraction only when the billing system started a new subscription or item for it. An invoices export shows each change as it was billed.
- Exchange rates are the ones you enter: the tool never fetches a rate.
- Usage-based charges in an invoices file count as billed; leave them out of the file to report MRR without them.
- The tool reads one sheet of a workbook (the first), up to 200,000 rows and twenty years of months.
- It does not connect to a billing system: export the file from it first.
Privacy
On this device; its files download once
Your export is read in your browser and never uploaded. The column matches for each file layout, the plan prices you type, the date order and the exchange rates are remembered in this browser; the export itself is not.
Frequently asked questions
What do I get without a pass?
Without a pass, Subscription MRR Analyzer from Billing Exports shows the latest month’s MRR and paying customers in full, with the count of each MRR movement and the data checks; the history and amounts stay hidden. Until you unlock it, the result can’t be downloaded or opened in another app. A Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.
What counts as MRR here?
The monthly-normalised amount of every subscription that is active or past due at the end of the month, after quantities and discounts and without tax: a yearly plan counts a twelfth of its price. Trials, unpaid, paused and canceled subscriptions are not counted, as in Stripe’s billing analytics.
Why does my billing dashboard show a different MRR?
Dashboards measure in your account’s time zone, may count discounts or past-due subscriptions differently, and keep a history of every price change; an export is a snapshot. Check the settings (amount, cents, discounts) and the data checks, which list every row left out and why.
What is the difference between NRR and GRR?
Both follow the customers you had at the start. NRR counts their upgrades, so it can be above 100%; GRR leaves upgrades out and shows only what churn and downgrades took away, so it is at most 100%.
Can I use an invoices export instead of subscriptions?
Yes. Choose “Invoices” under Columns: each invoice is spread over the period it covers (a yearly invoice over twelve months), and price changes show in the month they were billed. Without period dates, the billing interval or the default period is used.
How are other currencies handled?
Each row is converted at the rate you enter for its currency, one rate for every month or a rate from a given month on. A change that only the rate made is shown as an FX adjustment, so it is never counted as expansion or contraction.