ARR is annual recurring revenue: MRR multiplied by 12. Build it from the subscriptions active today, using the price each customer actually pays. The customer list below produces €95,160 of ARR and shows how canceled contracts, discounts and multi-year deals change the calculation.
Calculate it now: the ARR calculator takes a mix of monthly and annual plans and gives you the figure.
What is the difference between ARR, revenue and run rate?
ARR is the value of the subscriptions in place today at annual scale, revenue is what you earned over a period that has already ended, and revenue run rate multiplies a recent month or quarter of all revenue up to a year. All three get called "annual", and they answer different questions.
- ARR is the subscriptions in place today at annual scale. It is a snapshot with a date on it.
- Revenue is what you earned over a period that has already ended. It includes one-off fees and usage, and it lags a growing business.
- Revenue run rate takes a recent month or quarter of all revenue and scales it to a year, one-offs included. The revenue run rate guide works one lumpy quarter through all three and covers when each is the right number to quote.
Stripe gives the formula as ARR = MRR x 12 (Stripe). Which customers go into that MRR is what the next section settles.
How to calculate ARR from a customer list
To calculate ARR, list every customer who is paying today at the price they actually pay, convert each contract to a year, and add them up. For the small B2B company below at 30 September, that gives €95,160, which is €7,930 of MRR times 12. This is the whole customer list, and the steps run on it.
| Customer | Plan | Billing | Notes |
|---|---|---|---|
| A | €1,200 a month list price | Monthly | 10% discount, pays €1,080 |
| B | €450 a month | Monthly | |
| C | €450 a month | Monthly | |
| D | €900 a month | Monthly | |
| E | €12,000 a year | Annual | |
| F | €6,000 a year | Annual | |
| G | €4,500 a year list price | Annual | 20% discount, pays €3,600 |
| H | €30,000 a year | Three-year contract | €90,000 in total |
| J | €600 a month | Monthly | Cancelled on 12 September |
| K | €24,000 a year | Annual | Signed, starts 1 November |
| L | €750 a month | Monthly | Still paying, has said it will not renew |
The company also billed €8,000 of setup fees, €3,000 of usage above plan minimums and a €5,000 consulting project this year.
Step 1: drop everyone who is not paying today. J cancelled, so J is out. K has signed but has not started, so K stays out of ARR and gets its own line. L is still paying, so L stays in.
Step 2: use the price each customer pays. A pays €1,080, not €1,200. G pays €3,600, not €4,500. Stripe says a promotional rate "overstates what the business can expect to collect going forward," so use the rate that will actually be paid.
Step 3: convert every contract to a year. Monthly customers are the monthly price times 12. Annual contracts are already a year; Stripe notes the contract price "already represents a full year of revenue so no extra conversion step is needed." A multi-year contract counts one year of it.
| Group | Arithmetic | ARR |
|---|---|---|
| Monthly: A, B, C, D, L | (1,080 + 450 + 450 + 900 + 750) x 12 = 3,630 x 12 | €43,560 |
| Annual: E, F, G | 12,000 + 6,000 + 3,600 | €21,600 |
| Three-year: H | one year of €30,000 | €30,000 |
| ARR | €95,160 |
Step 4: check it against MRR. €95,160 divided by 12 is €7,930. Build it the other way: 3,630 of monthly plans, plus 21,600 / 12 = 1,800 for the annual contracts, plus 30,000 / 12 = 2,500 for H. That is €7,930 as well. If the two builds disagree, a customer is on the list twice or at the wrong frequency.
Step 5: show the other lines separately. K adds €24,000 once it starts, so committed ARR is €119,160 (95,160 + 24,000). L's €9,000 a year is the part you already expect to lose, so net of L's expected non-renewal the figure is €110,160. Neither changes the headline figure, and both are the first things a diligence analyst looks for.
If you keep the list in a tool rather than a sheet, use one that carries each customer's status. Plainhub's customer list with Active, Expected and At risk status is built for this.
Here is what the same list gives when counted carelessly:
| Mistake | Effect on the figure |
|---|---|
| Counting cancelled customer J | + €7,200 |
| Using H's full three-year value | + €60,000 |
| Adding the year's one-off fees | + €16,000 |
| Careless total | €178,360 |
That is 87% above the real €95,160, and it falls apart the moment someone adds up the list.
What should you leave out of ARR?
ARR counts subscriptions that are live today at their annual value, and nothing else. One-off fees, services, usage above a committed minimum, signed contracts that have not started and cancelled customers stay out, while monthly plans times 12, annual contracts and one year of any multi-year contract go in.
In: monthly plans times 12, annual contracts at their yearly price, one year of any multi-year contract, recurring add-ons and seats, and the discounted price a customer really pays.
Out: setup, onboarding and implementation fees; consulting and other services; usage above a committed minimum; free trials; the later years of multi-year deals; signed contracts that have not started; cancelled customers; taxes. Stripe says one-time fees, professional services and hardware sales "shouldn't be folded into ARR" because they inflate it (Stripe).
Usage needs a rule written down once. A committed monthly minimum is recurring and belongs in. What customers use above it varies from month to month, so track it as usage revenue next to ARR.
Accounting revenue is a different number from ARR for the same reason: it follows what you delivered, not what is billing today. How revenue recognized under accrual accounting differs from cash shows the gap in one quarter.
What mistakes do founders make with ARR?
The common ARR mistakes inflate or muddle the figure: counting the full value of a multi-year deal, mixing monthly and annual frequencies, folding signed-but-not-started contracts into the headline, quoting ARR without a date, and keeping the number in two places. Examples from the customer list above follow.
- Counting the total value of a multi-year deal. H is €30,000 of ARR, not €90,000.
- Mixing frequencies. E's €12,000 a year is €1,000 of MRR. Put it in a monthly column and multiply by 12 and it becomes €144,000.
- Folding committed ARR into the headline. Adding K's €24,000 before it starts turns €95,160 into €119,160 without one extra paying customer.
- Quoting ARR without a date. Say "ARR at 30 September". An undated figure invites the question of which month you picked.
- Keeping the number in two places. An ARR in the deck and a different one in the finance sheet drift apart, and the gap tends to show up in due diligence.
ARR and revenue will differ, and that is fine. Suppose the example company was at about €60,000 of ARR a year ago and grew in a straight line to €95,160. Its revenue over the year lands near €78,000, below ARR. If a growing company's revenue is above its ARR, check both numbers.
What is the difference between MRR and ARR?
ARR is MRR times 12, so the two come from one customer list and never disagree. MRR is the monthly figure for running the company, and ARR is the same subscriptions at annual scale, which is how milestones and investor updates are quoted. The MRR vs ARR comparison has the table and the longer answer, and the MRR calculator splits a month into the movements behind that total.
The other ARR
In corporate finance, ARR also stands for accounting rate of return: the average annual accounting profit of an investment divided by what it cost. It compares capital projects and has nothing to do with subscriptions. In startup, SaaS and fundraising writing, ARR means annual recurring revenue.
Try it on your own list
The calculator linked above takes a mix of monthly and annual plans and does the arithmetic. In Plainhub you keep a customer list with a status of Active, Expected or At risk and a Monthly or Annual frequency, and MRR updates live from it. ARR is that figure times 12. For where ARR sits among the other numbers, see which SaaS metrics to track at your stage.
Expected customers (signed but not yet paying) and one-time deals stay out of it. At risk customers stay out too, which is stricter than the definition above, because Plainhub feeds MRR into runway and a customer you expect to lose should not be holding it up. You can try a sample workspace on the homepage without signing up.