How to calculate Annual Recurring Revenue (ARR)

Annual recurring revenue is your recurring subscription revenue annualised, usually MRR multiplied by twelve.

Formula

ARR = MRR × 12 (or the sum of annualised contract values for active subscriptions)

SQL query

This example assumes: subscriptions(id, customer_id, started_at, ended_at, mrr). It is written in PostgreSQL syntax; date functions differ slightly in MySQL, BigQuery and SQLite, and your column names will differ from these.

SELECT SUM(mrr) * 12 AS arr
FROM subscriptions
WHERE started_at <= CURRENT_DATE
  AND (ended_at IS NULL OR ended_at > CURRENT_DATE);

Common mistakes that make Annual Recurring Revenue (ARR) wrong

  • Multiplying a single month with a one-time spike by 12 projects the spike forever.
  • Multi-year contracts: use the annualised value, not the total contract value.
  • Usage-based revenue that fluctuates is not strictly recurring; state whether you include it.

Ask for Annual Recurring Revenue (ARR) in plain English

Instead of writing the query yourself, you can type the question. SchemaChat turns it into SQL against your connected database or uploaded file, runs it, and shows the SQL and the figures it used so you can check the answer before you share it. It does not replace your judgement about the definition: check that the query matches the formula your business uses.

  • What is our ARR today?
  • How did ARR change quarter over quarter?

Frequently asked questions

What is Annual Recurring Revenue (ARR)?
Annual recurring revenue is your recurring subscription revenue annualised, usually MRR multiplied by twelve.
How do you calculate Annual Recurring Revenue (ARR)?
ARR = MRR × 12 (or the sum of annualised contract values for active subscriptions). The SQL example on this page shows the same calculation against a simple table.
What commonly goes wrong when calculating Annual Recurring Revenue (ARR)?
Multiplying a single month with a one-time spike by 12 projects the spike forever.