Excel guide · 5 min read
How to calculate MRR (monthly recurring revenue) in Excel
=IF(C2="Annual",D2/12,D2)), then add the monthly amounts of subscriptions that started on or before the date and have no cancel date or cancel after it, with two SUMIFS. On October 31 that's $482 here, so ARR is $482 x 12 = $5,784.Sample data
Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Customer | Plan | Billing | Amount billed | Start | Cancel | Type | MRR | Setting | Value | ||
| 2 | Acme Studio | Pro | Monthly | 49 | May 4, 2026 | New | 49 | Month start | Oct 1, 2026 | |||
| 3 | Birch Dental | Team | Annual | 1068 | May 20, 2026 | New | 89 | Month end | Oct 31, 2026 | |||
| 4 | Cole Fitness | Basic | Monthly | 19 | Jun 8, 2026 | Sep 14, 2026 | New | 19 | ||||
| 5 | Dune Coffee | Pro | Monthly | 49 | Jun 22, 2026 | New | 49 | |||||
| 6 | Elm Legal | Basic | Monthly | 19 | Jul 3, 2026 | New | 19 | |||||
| 7 | Elm Legal | Basic to Pro | Monthly | 30 | Sep 10, 2026 | Upgrade | 30 | |||||
| 8 | Fern Florist | Pro | Annual | 468 | Jul 15, 2026 | New | 39 | |||||
| 9 | Gale Tutors | Basic | Monthly | 19 | Aug 2, 2026 | Oct 11, 2026 | New | 19 | ||||
| 10 | Hart Bikes | Team | Monthly | 99 | Aug 19, 2026 | New | 99 | |||||
| 11 | Iris Yoga | Pro | Monthly | 49 | Sep 5, 2026 | Oct 24, 2026 | New | 49 | ||||
| 12 | Iris Yoga | Pro to Team | Monthly | 50 | Sep 28, 2026 | Oct 24, 2026 | Upgrade | 50 | ||||
| 13 | Juno Print | Basic | Monthly | 19 | Oct 6, 2026 | New | 19 | |||||
| 14 | Kite Labs | Pro | Annual | 468 | Oct 13, 2026 | New | 39 | |||||
| 15 | Acme Studio | Pro to Team | Monthly | 50 | Oct 20, 2026 | Upgrade | 50 |
Download this sheet as an Excel practice file (.xlsx)
Step 1: One row per subscription, with a monthly amount
Start from a list of subscriptions: customer, plan, how they're billed, the amount on the invoice, a start date and a cancel date that stays blank while they're active. That's usually an export from your billing tool, or a sheet you keep by hand.
MRR counts what a subscription is worth per month, not what was charged this month. Birch Dental paid $1,068 for a year in May. Their MRR is $89 every month of that year, not $1,068 in May and $0 after. Column H does the conversion: annual amounts divided by 12, monthly amounts as they are. Leave out one-off fees like setup or training. They're real revenue, but not recurring.
If you add every annual invoice in the month it was paid, Kite Labs' $468 payment would make October $429 too high, the next 11 months would show nothing for them, and the chart would jump around with your billing calendar. That's cash, which is worth tracking too, just not as MRR.
Result: 89
89: Birch Dental's $1,068 annual plan as a monthly amount.
Step 2: MRR on any date
A subscription counts on a date if it started on or before that date and has either no cancel date or one after it. SUMIFS can't test "blank OR later", so add two SUMIFS: one for the blank cancel dates, one for cancel dates after the date. K3 holds the date you want, October 31 here.
Use the date access ends as the cancel date, not the day the customer clicked cancel. Someone who cancels on the 3rd but has paid through the 31st is still in October's MRR.
Result: 482
482: the monthly value of everything active on October 31.
Step 3: Upgrades and downgrades as their own rows
When Elm Legal moved from Basic ($19) to Pro ($49) on September 10, the sheet keeps the original row and adds an Upgrade row worth the difference, $30, starting that day. The two rows together make $49, and the history is still there. A downgrade works the same way with a negative amount (type it Downgrade or Contraction).
The catch: when that customer leaves, put the cancel date on every one of their rows. Iris Yoga's Pro row and her Upgrade row both end on October 24, so all $99 leaves MRR together. Miss one and a ghost $50 stays in your numbers.
To count customers instead of dollars, use the same logic with COUNTIFS and add G2:G15,"New" so upgrade rows don't count as extra customers. On October 31 that's 8 active customers.
Step 4: New, expansion and churned MRR for the month
The change in MRR across a month splits into three parts. New MRR is New rows that started in the month. Expansion MRR is Upgrade rows that started in the month: $50 from Acme Studio. Churned MRR is every row whose cancel date falls in the month: Gale Tutors ($19) and Iris Yoga ($49 + $50), so $118.
Change the "New" in this formula to "Upgrade" for expansion, and use =SUMIFS(H2:H15,F2:F15,">="&K2,F2:F15,"<="&K3) for churn. Then check your work: September's $492, plus $58 new, plus $50 expansion, minus $118 churned, is $482. That matches step 2. If it doesn't add up, a row has a missing or mistyped date.
Net new MRR for October is -$10. It's the kind of month that hides inside a single total: sign-ups were fine, and one upgraded customer leaving cost more than the new business brought in.
Result: 58
58: new MRR in October from Juno Print ($19) and Kite Labs' annual plan ($39 a month).
Step 5: An MRR-by-month table and ARR
List month-end dates in M2:M5 and put the step 2 formula next to each one, pointing at its own date (M2, M3...) with the ranges locked with $. July shows $264, August $382, September $492 and October $482. Add a line chart and you have the MRR trend.
ARR (annual recurring revenue) is MRR x 12 at a point in time. It isn't a forecast of next year's revenue, since it assumes nobody joins or leaves. Keep MRR and ARR on the same sheet, so nobody reads one as the other.
Result: 5784
5784: October's $482 MRR as an annual run rate.
Common mistakes
Counting annual invoices in the month they're paid
Divide annual (and quarterly) plans down to a monthly amount first. The cash view and the MRR view are different numbers.
Overwriting the plan price on an upgrade
Add an Upgrade row for the difference instead, so expansion MRR and history survive.
Cancel date on only one of a customer's rows
Filter by customer when someone leaves and date every row, or the upgrade amount stays in MRR forever.
Including one-off fees and discounts that end
Setup fees aren't recurring. For a 3-month discount, use the discounted amount while it runs and add an Upgrade row when it ends.
FAQ
What is the formula for MRR?
MRR = the sum of the monthly amounts of all active subscriptions on a date. In Excel, convert each plan to a monthly amount, then add them with SUMIFS on the start and cancel dates. Average revenue per account x number of accounts gives the same number.
How do I convert ARR to MRR?
Divide by 12. $5,784 ARR / 12 = $482 MRR. Going the other way, MRR x 12 = ARR.
Do free trials count in MRR?
Not until the customer is paying. Give the row a start date equal to the first paid day, or leave the trial out of the list until it converts.
How do I calculate MRR churn rate?
Churned MRR in the month divided by MRR at the start of the month: $118 / $492 = 24.0% here. Our churn rate guide covers customer churn and how to annualize a monthly rate without overstating it.
Functions used
SUMIFSAdds with several conditionsCOUNTIFSCounts with several conditionsIFPicks a result from a testEOMONTHLast day of a month
Related guides
- How to calculate churn rate in Excel
- SUMIFS between two dates in Excel
- SUMIF with multiple criteria in Excel (SUMIFS)
- How to calculate average order value in Excel
- Excel formulas cheat sheet: the 25 everyone should know
- Excel interview questions and answers
Updated