The definition and formula behind each figure on the analytics dashboard: MRR, ARR, net figures, usage revenue, NRR, churn, expansion and contraction, the movement waterfall, the current month panel, and how currency and history are handled.
01Conventions
Source of truth
The billed period cost. MRR and ARR are each derived from it independently. Neither is ever computed from the other.
Months
Month boundaries are UTC. A month is labelled YYYY-MM.
Rounding
Each per-subscription figure is rounded once to the currency minor unit, from the exact period cost. Sums are done in exact decimal.
Currency
Every figure is in your reporting currency. See section 11.
MRR divides the period cost by the months in the period. ARR multiplies it by the periods per year.
Monthly
MRR cost
ARR cost x 12
Quarterly
MRR cost / 3
ARR cost x 4
Yearly
MRR cost / 12
ARR cost
Worked example
A subscription billed 100.00 per quarter has MRR 33.33 and ARR 400.00. Deriving ARR from the rounded MRR would give 399.96, which is 0.04 less than is billed. A monthly subscription reports its price as MRR exactly, and a yearly one reports its price as ARR exactly.
Unknown period
A period other than monthly, quarterly or yearly raises an error instead of being treated as monthly.
Totals
Headline MRR is the sum of each subscription’s own monthly figure, so a book with quarterly or yearly subscriptions has MRR x 12 different from ARR. The ARR breakdown reports monthly, quarterly and yearly ARR separately, and they sum to total ARR.
Price used
The subscription base price, floored at zero. If a base-price override is scheduled for a future date, the previous price is used until that date, so reported figures do not jump before billing changes.
03Which subscriptions count
The rule
A subscription counts when it has started, its current term has not ended, and it is not a trial. The same rule drives the per-row figures and the aggregate cards, so a row and the card that sums it agree.
Excluded
Trials. Pending subscriptions, which includes deals waiting on an activation trigger. A deal cancelled before it ever went live.
Included
Cancelled with notice, until the end date: access and billing continue, and the churn event removes the revenue when the term ends. Suspended subscriptions, which are a dunning state and still owe.
Term roll-over
The end date is the end of the current term and advances when the renewal run processes. A subscription whose term rolled over but whose renewal has not yet run reads as inactive for those hours.
Orphans
Subscriptions whose client no longer exists are left out and logged.
Committed ARR
Current ARR plus subscriptions with a start date in the future that are not cancelled or trials, each converted at its start date rate.
Client Subscriptions tab
Shows a run rate for a subscription that is or was worth money, so a past contract shows its figure. That column therefore does not sum to the client MRR card on purpose.
04Usage (variable) revenue
Definition
Revenue from the usage charges on a subscription, each tied to a Meter, added to the base figure in MRR and ARR.
Quantity
Each component is priced at its latest live count, a run rate, not the peak or cumulative reading the next invoice would bill.
Period
Each component uses its own billed period. A quarterly component inside a monthly subscription still annualizes by 4.
Price
Resolved through the normal price chain. A rate change scheduled for the next renewal is not applied until it takes effect.
No components
A subscription with no components shows no usage figure, which differs from a component that currently bills zero.
Unpriceable components
A component with no price in the subscription currency, or a price that does not match its pricing model, is left out rather than failing the dashboard. The ARR figures report how many were excluded and a sample, because the totals are understated by them.
05Net MRR and net ARR after discounts
Net figures are additive. List MRR and ARR are unchanged and equal the net figures when no discount is active.
Net MRR
This period’s revenue after the discounts active now, normalized to a month.
Net run-rate ARR
The same current-period revenue annualized by the billing cadence. It is the twin of Net MRR, not Net MRR x 12.
Net ARR
The year summed period by period, applying each discount only for the periods it is still active. A one-time or temporary discount reduces only its own periods; a forever discount reduces all of them. Net ARR and net run-rate ARR coincide only while every active discount runs forever.
Invoice-level discounts
A whole-invoice discount comes off the period total after every line is netted, so a fixed amount is taken once per invoice and not once per line.
Where used
The dashboard MRR and ARR cards, the NRR card and the MRR history series are net. The Plans, Regions and Revenue Summary splits are list ARR.
06Movements and the MRR waterfall
Movement is read from the lifecycle event log. Each event carries an MRR change, split into a base part and a usage part.
New business
Event Created events
Meaning First subscription for a client. A client flagged as a pre-existing customer is counted as a renewal instead; the flag is read when you look, so flagging a client later reclassifies its history.
Renewal
Event Renewed events
Meaning A continuing subscription for the same client within the churn grace period.
Reactivation
Event Reactivated events
Meaning A client returning after a gap longer than the churn grace period.
Expansion
Event Expanded events
Meaning A positive MRR change on a live subscription, including usage that rose.
Contraction
Event Contracted events
Meaning A negative MRR change, including usage that fell, shown as a positive magnitude.
Churn
Event Churned events
Meaning Revenue stops. Reverses what the ledger has recorded for that subscription.
Scheduled cancellation
Changes no MRR. The churn event is written when the term ends, by the daily reconciliation described in What runs automatically.
Bucket date
Windows filter on the attribution date, not on when the event occurred. They differ only for usage movements. The occurrence date is when Revvly learned of it and is used for timelines and for currency conversion.
Usage by service period
A usage movement is booked in the period of service it measured. Usage billed in arrears is invoiced when the next period opens, but a month of consumption belongs to that month, not to the one after. The period is read off the billed invoice lines. If one invoice holds both advance and arrears usage, the money is not split; the period carrying the larger share is chosen and both are recorded.
Discount movement
A discount that starts or lapses changes net revenue without writing an event. The waterfall compares each surviving subscription’s discount reduction at this month end with the previous one: a reduction that fell away counts as expansion, a newly applied one as contraction.
Starting MRR
The previous month ending MRR, chained. The first month opens at the balance carried in from before the window.
Ending MRR, past months
The active subscriptions re-priced at the month end, net of discounts then in force, plus usage MRR rebuilt from the event log. Usage MRR is the running sum of each subscription’s usage change on created, reactivated, expanded, contracted and churned events. Renewed events are left out because they restate a baseline already counted. Only subscriptions whose term was live at that date are included.
Ending MRR, current month
Today’s live base carried forward, plus starts dated later in the month, minus what actually stops before month end. It is not a cohort at the last day, which would drop every renewal still to run.
Net new MRR
Ending MRR minus starting MRR.
Net change percent
Net new MRR divided by starting MRR, x 100, or 0 when starting MRR is 0.
Month over month and year over year
Month over month compares the latest ending MRR with the previous month. Year over year compares with the month 12 places back when the window is long enough, and is empty otherwise.
Deleted subscriptions
Events whose subscription no longer exists are dropped from every flow reader.
From event to waterfall bar
Lifecycle event
Carries an MRR change, split into base and usage.
Placed in a month
By attribution date. Usage books in its service period.
Converted
To the reporting currency, at the occurrence date rate.
Waterfall bar
New business, expansion, contraction, churn between starting and ending MRR.
An event is placed by its attribution date but converted at the rate of its occurrence date.
07Expansion and contraction
Source
Expanded and Contracted events in the lifecycle log, whose attribution date falls in the window, end date included. The older subscription expansions collection records structural changes and one-time prorated charges, is blind to usage movement, and is not a metrics source.
Unit
A monthly rate, not cash. Amounts are positive magnitudes.
Classification
By the sign of the converted amount, not by event type, so an event re-expressed in a different reporting currency lands on the correct side.
Net expansion
Expansion minus contraction.
Counts
The number of events on each side.
08Net revenue retention and cohorts
Formula
NRR = (starting MRR + expansion + reactivation - contraction - churn) / starting MRR x 100, rounded to two decimals. Above 100 means existing customers grew.
Cohort
Only the subscriptions that existed at the window start. Movement from customers acquired inside the window is excluded, so a new customer cannot inflate NRR against a baseline it was never part of.
Starting MRR
Rebuilt as of the window start by replaying each cohort subscription’s log: created, reactivated and renewed events restate the full value, expanded and contracted add their change, churned sets it to zero, cancel-scheduled is ignored. Base and usage are folded separately, because a renewal restates the base but not the usage baseline. A subscription with no event on or before the date falls back to its current base price.
Net NRR
The same start and end revenue less the discount reduction at each end. It differs from NRR only by discounts, including a discount that starts or expires inside the window.
No baseline
If the cohort is empty or starting MRR is 0, NRR reports 100.
Windows
The NRR card uses the selected date range. The trend runs the same calculation for each calendar month.
Gross retention
Not reported. Revvly has no gross revenue retention figure.
09Churn rate
Monthly
Churn MRR for the current calendar month so far, divided by that month’s starting MRR, x 100, rounded to two decimals. 0 when there is no movement data.
Yearly
Total churn MRR over the last 12 months divided by the starting MRR of the first month in that window, x 100. This is the share of the opening revenue that churned, and is not distorted by growth during the year.
Churn amount
A churn event reverses the usage baseline the ledger accumulated for that subscription, not a fresh projection, so nothing is left over. If the ledger never tracked the subscription, such as imported or legacy data, the projected run rate is used.
Snapshot churn
Stored snapshots also hold a count-based rate: churned subscriptions divided by subscriptions active at the period start, with a net rate that subtracts reactivations. This is separate from the dashboard figure above.
10Current month progress
The trend point for the month in progress is a forward run rate, while the month’s movements are only those that have happened. The panel reports both, labelled, so earned and projected are never mixed.
Opening MRR
The previous month closing MRR, chained.
Confirmed MRR
Run rate over subscriptions whose service is live right now. Earned. A subscription with a scheduled cancellation still counts until its end date passes.
Projected month-end MRR
Run rate at the last instant of the month: includes starts dated later this month and drops scheduled cancellations. Not earned. It equals the movement series ending MRR for the month, so the panel and the chart agree.
Confirmed movements
New business, expansion, reactivation, contraction and churn whose lifecycle event has already fired, from the month start to now, plus a net.
Scheduled movements
Future-dated starts and cancellations already scheduled, derived from subscription dates, not from the event log, which only records what has occurred. Net is new business + expansion + reactivation - contraction - churn.
Renewal base
Processed is the renewed events recorded this month. Remaining is the subscriptions whose next renewal date still falls in the month. Percent processed is processed over total, or 0 when the month has no recurring base.
At risk
A subscription whose renewal should already have processed and has not, or one in grace period awaiting payment. Reasons are renewal overdue and awaiting payment.
Elapsed share
The elapsed part of the month as a percentage. A month that has closed reports as of its final instant with 100 percent elapsed. A month that has not started is refused.
11Reporting currency and exchange rates
Reporting currency
One currency per workspace, set under Settings, General. See the multi-currency guide.
Rates
Global. One EUR-based set is fetched per day and shared by all workspaces; a cross rate goes through EUR. The workspace does not have its own rates.
Subscription revenue
Converted at the valuation date: now for current figures, the month end for a past month, a future start date for committed ARR.
Events
Each event stamps its amounts in the currency it was recorded in. When that matches your reporting currency nothing is converted. Otherwise each event is converted from its own stamped currency at the rate of its occurrence date, never the attribution date, so movements recorded in different currencies are not added together unconverted.
Missing rate
A rate is never approximated from another day. If an authoritative rate cannot be obtained the calculation fails and can be retried, rather than showing an approximate figure.
12Snapshots, caching and when history recalculates
Live or stored
ARR, ARR trend, MRR movement, NRR and the expansion trend are computed when read from subscriptions and the event log. Snapshots are the stored daily and monthly history of MRR, ARR, subscription counts, churn, expansion and NRR, in list and net form. The expansion trend falls back to snapshots only if the movement has no data.
Nightly writes
The daily snapshot is written at 02:00 for yesterday and the monthly one at 03:00 on the 1st for the month just ended. The OKR metric refresh at 03:30 reads that day’s snapshot.
Recalculation
A new lifecycle event, except a scheduled cancellation which moves no MRR, or a discount change, queues a rebuild of daily and monthly snapshots from the event attribution date to today. Events arriving within 1.5 seconds are merged into one pass starting from the earliest date. A backdated change therefore rewrites the days it touches.
Cache lifetimes
ARR 1 hour, ARR trend 2 hours, churn rate 1 hour, expansion 30 minutes, NRR 30 minutes. The cache is cleared on the same triggers as the recalculation, so a change shows sooner than the lifetime.
Failure behavior
A failed recalculation is logged and does not undo the event. Analytics catch up on the next cache expiry or nightly snapshot.
13What each dashboard card shows
MRR
Net MRR: this period’s revenue after the discounts active now, summed across active subscriptions (netMonthlyRecurringRevenue). Falls back to the movement series current MRR, then to list MRR. Delta shown against the previous month ending MRR.
ARR
Net ARR: the year summed period by period after discounts (netTotalARR). Falls back to list ARR. Delta is month over month from the ARR trend.
Net new MRR
Ending MRR minus starting MRR for the last completed month, with the month to date shown beneath it.
Churn, 30D
The monthly churn rate in section 09. It is computed for the current calendar month (UTC), not a rolling 30 days.
ARR Trend
ARR at each month end, valued from the subscriptions active then, with month over month growth. The current month is valued at now.
MRR Movement and MRR Trend
The waterfall in section 06, and for the selected month the current month panel in section 10.
Plans, Regions, Revenue Summary
Annual list ARR (before discounts) split by bundle, Region and billing period, with subscription counts. Variable revenue is included.
Expansion
Expansion minus contraction per month from the movement series, with expansion and contraction counts.
NRR
Net-of-discount NRR for the selected range, a monthly trend of list NRR, and a breakdown card of starting MRR, expansion, contraction, churn and ending MRR.
To check any bar, open the month and read the per-subscription rows behind it, then sum their converted deltas. See the lifecycle log guide.