GASP
Core Revenue Metrics Outcome

ARR (Annual Recurring Revenue)

ARR (Annual Recurring Revenue): The annualized value of recurring revenue. ARR represents the yearly run rate of subscription revenue.

Also known as: ARR

Formula

ARR = MRR × 12
ARR-O = (MRR − TTM_Pricing_Adjustment_MRR − TTM_Recontracting_MRR) × 12
ARR-M = MRR × 12
ARR-M = ARR-O + TTM_Pricing_Adjustment_MRR × 12 + TTM_Recontracting_MRR × 12

Computable definition

The canonical formula in the GASP formula grammar. The MCP server compiles it to SQL over the datasets listed below.

metric.mrr * 12

Unit: currency

Operating form (O) (see the dual-lens forms)
(metric.mrr - window(sum(field.mrr_change where field.expansion_classification in ('pricing_adjustment', 'recontracting')), 12 month)) * 12 over cohort(field.customer_id, period_end)
Market form (M) (see the dual-lens forms)
metric.mrr * 12

Breakdowns

  • by_segment: one row per segment value

Notes: ARR-M equals this formula. ARR-O subtracts the MRR change tagged pricing_adjustment or recontracting in the trailing 12 months for customers active at period end, so ARR-M minus ARR-O is the Durability Gap (core.md), a growth decomposition measured over the trailing year. by_segment returns one row per customer segment through MRR.

Data requirements

Grain: End-of-month snapshot · Frequency: Monthly · Aggregation: snapshot (month) · Staged: no · Main source: Billing.

Field Dataset Type
mrr subscription decimal
snapshot_date subscription date
subscription_status subscription string
Example SQL (Postgres)
SELECT (((SELECT COALESCE(SUM(mrr), 0) FROM subscription WHERE snapshot_date = :period_end AND subscription_status = 'active')) * 12) AS arr

Access: recommended sensitivity tier confidential, access scope unscoped. Guidance your policy engine enforces.

From an agent: with the GASP MCP server, call lookup_metric({ "name": "ARR (Annual Recurring Revenue)" }) or generate_query({ "metric": "ARR (Annual Recurring Revenue)", "adapter": "<your adapter JSON>" }).

What It Tells You

The scale of the business on an annual basis. Used for valuation, planning and investor reporting.

Common Mistakes

  • Calculating from annual contracts directly without normalizing (leads to timing mismatches)
  • Treating ARR as cash (it's a run rate, not collected revenue)
  • Mixing definitions without declaring which one you're using

Dual-Lens: Operating / Market Forms

Both governed forms are computed from the same Commercial Event Ledger, with Attribution Taxonomy Layer tags deciding which events each form counts.

Operating Form: ARR-O

ARR-O measures organic recurring revenue by excluding MRR changes that come from mechanical pricing or contract restructuring rather than genuine customer expansion.

CEL Source:
`Revenue_Event`, `Amendment_Event`
ATL Inclusion:
All `expansion_classification` values **except** `pricing_adjustment` and `recontracting`
ARR-O = (MRR − TTM_Pricing_Adjustment_MRR − TTM_Recontracting_MRR) × 12

What it tells you: The run rate of revenue that customers created by adopting and expanding, with price rises and recontracting taken out. It is the part of ARR most likely to last.

Market Form: ARR-M

ARR-M is total reported ARR including all sources of recurring revenue change. This is the number investors see and public comparables use.

CEL Source:
`Revenue_Event`, `Amendment_Event`
ATL Inclusion:
All `expansion_classification` values included
ARR-M = MRR × 12

What it tells you: The scale of the business as reported to the market. The number used in valuation multiples and investor benchmarks.

Bridge

ARR-M = ARR-O + TTM_Pricing_Adjustment_MRR × 12 + TTM_Recontracting_MRR × 12

The delta (ARR-M − ARR-O) is the **Durability Gap.** Because ARR-O subtracts only the trailing 12 months of tagged MRR change for customers active at period end, the Durability Gap is a trailing-year growth decomposition: it shows how much of reported ARR growth came from pricing and contract changes rather than organic customer expansion. A growing gap means ARR growth that may not last. KeyBanc tracks it implicitly in its annual SaaS survey. Public SaaS companies report total ARR (ARR-M), while internal planning teams strip out pricing actions to see the growth the product earned. ---

Connected in the GASP relationship graph.

Upstream: what drives this

  • MRR component of ARR (Core)

Downstream: what this drives

Try searching for:

↑↓navigate↵select