# MRR in several currencies: why it moves when no customer did

You bill most customers in euros and some in dollars. The board wants one number. The moment
you convert, a new source of change enters your MRR that has nothing to do with customers:
the exchange rate. If it is not kept apart, a weak dollar looks like contraction and a strong
one like expansion, and somebody spends a morning looking for the customers behind it.

## Value each customer in the currency they pay in

A customer's MRR is what they agreed to pay per month, in their currency. A customer on a
$499 plan has an MRR of $499 in January and in June, whatever the euro did in between. Their
ledger should say so: **movements belong to the billing currency**. An upgrade from $499 to
$799 is an expansion of $300, not of "about €276, depending on the day".

Only the report converts.

## Which rate, on which day

Three choices are defensible. They answer different questions:

| Rate | MRR of a past month | Good for |
|---|---|---|
| **The rate at each month's end** | fixed once the month is over | "what was our MRR worth then": the usual choice, and the one that matches how finance values balances |
| Today's rate for every month | changes every day, for every month | comparing months as if rates never moved; it rewrites history daily |
| One fixed rate for the year | stable, and increasingly wrong | plans and budgets, not reporting |

sumwerk converts at the European Central Bank's reference rate of each month's end (the
running month at the latest rate). Weekends and holidays take the last published rate. It is
a public, daily, free source, and anybody can check a figure by hand.

## Give the rate its own line

With month-end rates, MRR at the end of a month no longer equals last month's MRR plus the
movements, because last month's dollar customers are now worth a different number of euros.
The difference is real, and it is not a movement of any customer. So it gets a line of its own:

| | Amount |
|---|---|
| MRR at the end of May | €100,000 |
| New business | +€4,000 |
| Expansion | +€1,500 |
| Churn and contraction | −€2,500 |
| **Exchange rates** | **−€600** |
| MRR at the end of June | €102,400 |

Each movement is converted at the rate of its own day, the month ends at their own rates,
and what is left over is the effect of exchange rates on customers who did nothing. A tool
that has no such line has put the €600 somewhere: usually into expansion or contraction,
where it makes your net revenue retention look better or worse than your customers behaved.

## What this does to retention

Net revenue retention compares what a cohort pays today with what it paid a year ago. Both
sides are in the reporting currency, each at its own month-end rate. A dollar that lost ten
percent in a year takes about ten percent off the dollar customers' side of your NRR, with no
churn at all. That is correct, since it is what the revenue is worth to you, but read NRR of a
mixed book with the rate in mind, and look at it per currency when it surprises you (in
sumwerk: Segments by currency, which shows NRR per row).

## Three mistakes to avoid

1. **Converting invoices instead of subscriptions.** The rate on the invoice date differs
   from the rate at month end, and an annual invoice spreads one day's rate over a year.
2. **Storing converted amounts as the truth.** Store what the customer pays, in their
   currency, and convert when reporting. Otherwise a change of reporting currency means
   converting a conversion.
3. **Changing the reporting currency quietly.** Every past month gets other figures. That is
   fine, but it is a restatement, and it should say so, once, with the date and the reason.
