MRR Movement Sankey Diagram: Opening to Closing Revenue
Show how monthly recurring revenue moved from opening to closing: new customers, expansion and reactivation on the way in, churn and contraction on the way out. Illustrative figures.
An MRR movement Sankey draws the usual revenue bridge as flows. Opening revenue and everything that was added enter one pool, and the pool splits into closing revenue and what was lost.
The example starts with 500 thousand euros of opening MRR. New customers add 60, expansion 40 and reactivation 10, for a pool of 610. Of that, 545 is closing MRR, 45 is churn and 20 is contraction.
A table of the same numbers is accurate, but the diagram lets the reader see at once that churn is almost as large as expansion, and that most of the churn is voluntary. The drawing is of one month and one currency. It does not show cohorts or timing within the month.
How to read this diagram
- Opening MRR of 500 grows to 610 once new customers (60), expansion (40) and reactivation (10) are added.
- Closing MRR is 545, a net increase of 45 (9%) over the opening figure.
- Churn of 45 is nearly as large as expansion (40), so growth depends on new customers.
- Two thirds of churn (30 of 45) is cancelled by the customer; one third (15) is failed payments.
The data behind it
Invented figures for illustration. Not data about any real organisation. MRR in thousands of euros for a single month.
| From | To | Amount (k€ MRR) |
|---|---|---|
| Opening MRR | MRR in the month | 500 |
| New customers | MRR in the month | 60 |
| Expansion | MRR in the month | 40 |
| Reactivation | MRR in the month | 10 |
| MRR in the month | Closing MRR | 545 |
| MRR in the month | Churn | 45 |
| MRR in the month | Contraction | 20 |
| Churn | Cancelled by customer | 30 |
| Churn | Failed payment | 15 |
The same data as CSV
source,target,value
Opening MRR,MRR in the month,500
New customers,MRR in the month,60
Expansion,MRR in the month,40
Reactivation,MRR in the month,10
MRR in the month,Closing MRR,545
MRR in the month,Churn,45
MRR in the month,Contraction,20
Churn,Cancelled by customer,30
Churn,Failed payment,15How it works
Enter the opening balance and what was added
Opening MRR plus one flow each for new, expansion and reactivation, all into a single pool node.
Split the pool into closing and losses
Add closing MRR, churn and contraction as the outgoing flows. The pool balances when both sides add up.
Break down the losses you want to explain
Split churn into reasons, such as cancelled by customer and failed payment, to show what the money was lost to.
Frequently asked questions
Why a single pool instead of connecting opening MRR to closing MRR directly?
Because the new revenue and the losses all pass through the same total. The pool keeps the opening and closing figures at the same scale and makes the balance visible.
Is this the same as a waterfall chart?
It shows the same bridge. A waterfall is easier for reading exact amounts; the Sankey is easier for seeing proportion and for breaking a loss into causes.
Edit this MRR Sankey
Open the example as your own chart and enter your opening MRR and the month's movements.