FrançaisEnglishEspañolItalianoDeutschPortuguêsNederlandsPolski

ARR Formula: Calculate Annual Recurring Revenue Right

Published on March 27, 2026 · Jules, Founder of NoNoiseMetrics · 7min read

The annual recurring revenue formula looks simple. Then you have a customer on an annual plan, another on a discounted trial, and a third who signed a two-year deal. Suddenly “MRR times 12” doesn’t feel like the whole answer.

Here’s the formula for every scenario — no ambiguity, no hand-waving.


The base ARR formula

Start here. This is the default for any SaaS running monthly subscriptions:

ARR = MRR × 12

MRR is your Monthly Recurring Revenue — the sum of all active subscription values normalized to a monthly basis. If your MRR is €5,200, your ARR is €62,400. That’s it for the simple case.

The formula gets interesting when not every customer is on a monthly plan. For a complete breakdown of ARR meaning and complete definition, the pillar guide covers what ARR represents and how it fits into a SaaS dashboard. For a quick MRR-to-ARR conversion focused on cleaning your inputs, see ARR Formula: Convert MRR to ARR Without Counting Junk. This article is about getting the calculation right for every scenario.


ARR formula for monthly plans

Monthly plans are the straightforward case. Each subscription contributes its face value to MRR, and ARR is the sum multiplied by 12.

Monthly plan ARR = monthly_price × 12

A customer paying €49/month contributes €49 to MRR and €588 to ARR. No normalization needed.

If all your customers are on monthly plans, the base formula handles everything. Where founders get into trouble is mixing monthly and annual billing — which is where the next section comes in.


ARR formula for annual plans

This is the edge case that causes the most errors. An annual plan customer pays once per year, but their contribution to ARR runs through MRR — not through the lump-sum payment.

Annual plan ARR = annual_contract_value (not monthly_price × 12)

Or equivalently, their MRR contribution is:

MRR from annual plan = annual_price / 12

A customer paying €948/year contributes €79/month to MRR (€948 ÷ 12) and €948 to ARR.

The mistake founders make: treating the annual cash payment as monthly revenue. When a customer pays €948 upfront in March, that €948 does not land in March’s MRR. It gets spread across twelve months at €79/month. If you count the full amount as March MRR, you spike the month’s numbers and then show eleven months of zero contribution from that customer — which breaks every trend chart downstream.


ARR formula for multi-year deals

Multi-year contracts follow the same normalization logic, just over a longer period:

Multi-year ARR = total_contract_value / contract_years

A customer who signs a 2-year deal at €18,000 total contributes:

ARR = 18,000 / 2 = €9,000
MRR = 9,000 / 12 = €750

Their ARR contribution is €9,000 — not €18,000. You’re normalizing the contract to its annual equivalent, because ARR describes a single year’s recurring value.

For a 3-year contract at €27,000:

ARR = 27,000 / 3 = €9,000
MRR = 9,000 / 12 = €750

Same ARR, same MRR. The contract length changed, but the annual run-rate didn’t.


What to exclude from ARR

The formula only works on recurring subscription revenue. Everything else gets stripped out before you calculate.

Exclude these from the ARR calculation:

One-time setup and onboarding fees. A customer who pays €400 for onboarding on top of a €1,200/year subscription contributes €1,200 to ARR, not €1,600. The onboarding fee is real revenue — it just isn’t recurring.

Professional services and consulting. Implementation work, custom development, training sessions. These are project-based, not subscription-based.

Variable usage overage with no committed floor. If a customer’s usage-based billing swings between €30 and €300 per month with no minimum commitment, that variable portion doesn’t belong in ARR. If there’s a committed monthly minimum of €100 with overage on top, the €100 floor is ARR; the overage is not.

Free trials that haven’t converted. A 14-day trial with no payment method on file generates zero ARR. A trial with a payment method that will auto-convert is a judgment call — most conservative ARR calculations exclude trials entirely until the first paid invoice is generated.

Discounts — but handle them carefully. A customer on a €1,200/year plan with a 25% first-year discount pays €900. Their ARR contribution is €900, not €1,200. ARR reflects actual contracted amounts, not list prices. When they renew at full price, the €300 difference becomes expansion MRR.


ARR formula examples

Three scenarios with real numbers, all using European Stripe rates (1.5% + €0.25 per transaction). Note: ARR is calculated on gross subscription value, not net-of-fees.

Example 1: Pure monthly

40 customers on €29/month + 15 customers on €79/month:

MRR = (40 × 29) + (15 × 79) = 1,160 + 1,185 = €2,345
ARR = 2,345 × 12 = €28,140

Example 2: Mixed monthly and annual

30 customers on €49/month + 10 customers on €468/year:

Monthly MRR = 30 × 49 = €1,470
Annual MRR  = 10 × (468 / 12) = 10 × 39 = €390
Total MRR   = 1,470 + 390 = €1,860
ARR         = 1,860 × 12 = €22,320

Example 3: Mixed with multi-year and exclusions

25 customers on €59/month, 5 customers on €588/year, 2 customers on a 2-year deal at €2,400 total, and €1,500 in one-time onboarding fees collected this quarter:

Monthly MRR    = 25 × 59 = €1,475
Annual MRR     = 5 × (588 / 12) = 5 × 49 = €245
Multi-year MRR = 2 × (2,400 / 2 / 12) = 2 × 100 = €200
Total MRR      = 1,475 + 245 + 200 = €1,920
ARR            = 1,920 × 12 = €23,040

The €1,500 in onboarding fees? Not in the calculation. Real revenue, not recurring revenue.


How to calculate ARR from Stripe data

If your billing runs through Stripe, here’s the practical path to ARR:

Option 1: Use Stripe’s MRR and multiply by 12. Stripe Billing calculates MRR by normalizing all active subscriptions to monthly values. Navigate to the Billing overview in your Stripe dashboard and find the MRR figure. Multiply by 12. This works well for straightforward subscription setups.

Option 2: Export and calculate manually. Pull your active subscriptions via the Stripe API or a CSV export. For each subscription, normalize to monthly value (annual ÷ 12, quarterly ÷ 3). Sum for MRR. Multiply by 12. This gives you full control over what’s included and excluded.

Option 3: Use an analytics layer. Tools like NoNoiseMetrics connect directly to your Stripe account and calculate ARR with correct normalization — handling annual plans, multi-year deals, and exclusions automatically. For what ARR means in practice, having the number calculated in real time from live Stripe data removes the spreadsheet drift problem entirely.

The catch with Option 1: Stripe’s MRR includes trialing subscriptions (depending on your setup) and won’t automatically exclude one-time line items attached to subscription invoices. If you need precision, you’ll need to adjust or use a dedicated tool.

Calculate your ARR automatically from Stripe — no formula needed. Free up to €10k MRR →


FAQ

Is the ARR formula the same everywhere?

The base formula — MRR times 12 — is standard across SaaS. Where companies differ is in what they include in MRR before the multiplication. Some count trialing subscriptions, some don’t. Some include usage-based minimums, some exclude all variable revenue. The formula is universal; the input definitions are where disagreements happen. Pick a definition, document it, and apply it consistently.

Does Stripe calculate ARR?

Stripe Billing shows MRR but does not display ARR as a native metric. You can calculate ARR by multiplying Stripe’s MRR by 12, but be aware that Stripe’s MRR may include items you’d want to exclude — like trialing subscriptions or one-time charges attached to subscription invoices. For a clean ARR number, you’ll either need to adjust Stripe’s figure manually or use a free MRR to ARR converter that handles the normalization.

How do I handle discounts in ARR?

Use the actual amount the customer pays, not the list price. A €1,200/year plan with a 25% discount means the customer pays €900 — and their ARR contribution is €900. When the discount expires and they renew at €1,200, the €300 increase flows through as expansion MRR and adds €300 to ARR. Never calculate ARR on list prices; always use contracted amounts.


Next: See the complete ARR meaning and definition — what counts, what doesn’t, and benchmarks by stage.


Free Tool
MRR Dashboard Template →
See your MRR and ARR calculated from Stripe — no signup required.
Share: Share on X Share on LinkedIn
J
Juleake
Solo founder · Building in public
Building NoNoiseMetrics — Stripe analytics for indie hackers, without the BS.
See your real MRR from Stripe → Start free