Skip to main content

What it is

contraction_mrr is recurring revenue lost from customers who reduced what they pay but did not leave. The line between this and churn is whether anything is left: a customer paying less is contraction, a customer paying nothing is churn. That line matters commercially as well as arithmetically — a reduced customer is still a customer, with a renewal ahead and a relationship to work with. Seat reductions, tier downgrades, removing an add-on, falling volume and mid-term discounting all land here. A downgrade is one of them, not a movement of its own.

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 — so this figure is the size of the reduction, and it is the movement’s name that tells you the revenue went down. 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 fell and both the earlier and the later figure are above zero, the difference between them is contraction. Every such decrease in the period is added together. The later figure staying above zero is the whole test. A fall to zero is not a large contraction; it is churn, and the full amount goes there instead. Where a subscription both grew and shrank inside one period, the period’s net movement is classified once, on its net result.

Where it comes from

Billing invoice lines, compared period against period. Billing is the required connection.
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 less while still paying: fewer seats, a lower tier, an add-on removed, lower volume, a discount applied mid-term. A correction to an invoice line in the period. A customer stopping entirely does not change it — that is churn.

What it is not

  • Not churn_mrr. The test is whether the customer is still paying something. Nothing left is churn; something left is contraction.
  • Not a negative number. It is published as the size of the reduction; the movement it belongs to carries the direction.
  • Not a downgrade count. A downgrade is one cause among several, and this figure does not say which produced it.
  • Not netted against expansion. The two are published separately, and net revenue retention is where they meet.
  • Not a risk score. It records what has already happened; churn risk is the forward-looking measure.