How to calculate Expansion MRR
Expansion MRR is the additional monthly recurring revenue from existing customers who upgrade, add seats or buy more.
Formula
Expansion MRR = sum of MRR increases from existing customers in the periodSQL query
This example assumes: monthly_mrr(customer_id, month, 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 cur.month,
SUM(cur.mrr - prev.mrr) AS expansion_mrr
FROM monthly_mrr cur
JOIN monthly_mrr prev
ON prev.customer_id = cur.customer_id
AND prev.month = cur.month - INTERVAL '1 month'
WHERE cur.mrr > prev.mrr AND prev.mrr > 0
GROUP BY cur.month
ORDER BY cur.month;Common mistakes that make Expansion MRR wrong
- A returning customer who was at zero last month is reactivation, not expansion.
- Price increases are expansion on paper; separate them from upsell if you want to judge selling.
- Currency moves on non-base-currency plans can look like expansion.
Ask for Expansion MRR 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.
- How much expansion MRR did we add each month?
- Which customers expanded the most this quarter?