Skip to main content

What it is

expansion_mrr is additional recurring revenue from customers you already had — the increase, where a customer who was already paying is now paying more. Only the increase is published, not the new total. A customer who went from 4,000 to 5,000 a month contributes 1,000 here. Their full recurring revenue continues to sit inside the company figure; what this movement holds is the part that was added. Seat increases, tier upgrades, add-on purchases, usage growth past a minimum and mid-term price increases all land here. An upgrade is one of them, not a movement of its own: being an upgrade is a property of the expansion — every upgrade is expansion, and expansion driven by seats on the same tier is expansion that is not an upgrade.

The five movements

Every change in recurring revenue between one period and the next is exactly one of five movements, and the set is closed: Recurring revenue at the end of a period is recurring revenue at the start, plus new, expansion and reactivation, less contraction and churn. Because the five do not overlap and nothing falls between them, nothing is counted twice and nothing is lost. Each is published as the amount that moved. Which movement it is carries the direction; the figure does not. Revenue that did not move is not a movement. A customer paying the same as last period, and a customer who is inactive, are both baseline retained revenue. Neither is one of the five, and neither is published as one.

How it is calculated

Measured. Where a subscription’s recurring revenue rose and both the earlier and the later figure are above zero, the difference between them is expansion. Every such increase in the period is added together. Both figures being above zero is what separates this from a customer arriving: an increase from zero is not expansion, because there was nothing to expand. Where a subscription both grew and shrank inside one period, the period’s net movement is classified once, on its net result — so a customer who added seats and dropped an add-on appears once, not twice.

Where it comes from

Billing invoice lines, compared period against period. Billing is the required connection. Identity resolution matters here. Where a subsidiary is not resolved to its parent, its growth reads as a new customer rather than as expansion of the customer you already had — and new business is outside every retention figure, so the effect reaches further than this one movement.
No read interface or MCP tool serves this value yet — the table above publishes the shape ahead of the doors.
Where the choice is made. This value is not open by default on any door. The choice happens when a reader grant that reaches it is issued or widened, when you subscribe to events, or when you turn the CRM property on. Whoever makes it is shown who becomes able to see the value, and their yes is recorded — holding a grant is no longer enough on its own.

How fresh it is

How often this refreshes before a period closes is not declared, and that is stated rather than filled in. A figure’s refresh cadence is the cadence of the lock that freezes it, read at the part of Beacon that owns the figure; the movements live in Beacon’s shared core, which no single part owns, so there is nothing yet to read a cadence from. It will be filled in, not quietly. Once the period is closed the figure is fixed inside the locked record for that period, and a later correction is recorded as a named adjustment in the current period rather than restating a sealed one.

Currency and rounding

In your single reporting currency. It is an aggregate, so it travels with two facts rather than four — your reporting currency, and the kinds of anchor its components were pinned under, given as a list even when the list has one entry. It carries no single anchor date and no single billing currency, and that absence is stated rather than filled. Beacon applies no rounding of its own.

What changes it

An existing customer paying more: seats, tier, add-ons, usage above a minimum, a mid-term price rise. A resolved identity, which can move growth into this figure from new business. A correction to an invoice line in the period.

What it is not

  • Not the customer’s new total. It is the increase only.
  • Not new_mrr. An increase from zero is not an expansion; the earlier figure has to be above zero.
  • Not an upgrade count. Upgrades are one cause of expansion among several, and this figure does not say which cause produced it.
  • Not net growth. Contraction and churn are separate movements and are not deducted here; net revenue retention is where the two sides meet.
  • Not a forecast of expansion. This is what happened in the period.