How to calculate Revenue Churn Rate

Revenue churn rate is the percentage of recurring revenue lost to cancellations and downgrades in a period.

Formula

Gross revenue churn = (churned MRR + contraction MRR) ÷ MRR at start of period × 100

SQL query

This example assumes: mrr_changes(customer_id, month, change_type, amount) where change_type is 'new', 'expansion', 'contraction' or 'churn' and amount is positive. It is written in PostgreSQL syntax; date functions differ slightly in MySQL, BigQuery and SQLite, and your column names will differ from these.

WITH opening AS (
  SELECT SUM(s.mrr) AS opening_mrr
  FROM subscriptions s
  WHERE s.started_at < DATE '2026-10-01'
    AND (s.ended_at IS NULL OR s.ended_at >= DATE '2026-10-01')
)
SELECT SUM(c.amount) * 100.0 / NULLIF(o.opening_mrr, 0) AS gross_revenue_churn_pct
FROM mrr_changes c, opening o
WHERE c.month = DATE '2026-10-01'
  AND c.change_type IN ('churn', 'contraction')
GROUP BY o.opening_mrr;

Common mistakes that make Revenue Churn Rate wrong

  • Netting expansion against churn gives net revenue churn, which can be negative; keep gross and net apart.
  • Losing a few large customers moves revenue churn far more than customer churn.
  • Dividing by ending MRR instead of opening MRR understates churn.

Ask for Revenue Churn Rate 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 was gross revenue churn last month?
  • How much MRR did we lose to downgrades versus cancellations?

Frequently asked questions

What is Revenue Churn Rate?
Revenue churn rate is the percentage of recurring revenue lost to cancellations and downgrades in a period.
How do you calculate Revenue Churn Rate?
Gross revenue churn = (churned MRR + contraction MRR) ÷ MRR at start of period × 100. The SQL example on this page shows the same calculation against a simple table.
What commonly goes wrong when calculating Revenue Churn Rate?
Netting expansion against churn gives net revenue churn, which can be negative; keep gross and net apart.