Renewal Rate
Renewal Rate: The percentage of subscriptions whose term ended in the period that renewed.
Formula
Renewal Rate = Contracts renewed / Contracts up for renewal × 100Renewal Rate = ARR renewed / ARR up for renewal × 100 Computable definition
The canonical formula in the GASP formula grammar. The MCP server compiles it to SQL over the datasets listed below.
count_distinct(field.subscription_id where field.renewed = true and in_period(field.contract_end)) / count_distinct(field.subscription_id where in_period(field.contract_end)) Unit: percent (the formula yields an unscaled ratio)
- By value variant
sum(field.renewal_amount where field.renewed = true and in_period(field.contract_end)) / sum(field.renewal_amount where in_period(field.contract_end))
Notes: Denominator is subscriptions whose term ended in the period.
Data requirements
Grain: Monthly aggregate · Frequency: Monthly · Aggregation: aggregate (month) · Staged: no · Main source: Billing.
| Field | Dataset | Type |
|---|---|---|
contract_end | subscription | date |
renewed | subscription | boolean |
snapshot_date | subscription | date |
subscription_id | subscription | string |
Example SQL (Postgres)
SELECT (CAST((SELECT COUNT(DISTINCT subscription_id) FROM subscription WHERE snapshot_date = :period_end AND (renewed = TRUE AND (contract_end >= :period_start AND contract_end <= :period_end))) AS DOUBLE PRECISION) / NULLIF((SELECT COUNT(DISTINCT subscription_id) FROM subscription WHERE snapshot_date = :period_end AND (contract_end >= :period_start AND contract_end <= :period_end)), 0)) AS renewal_rate Access: recommended
sensitivity tier confidential,
access scope department-scoped.
Guidance your policy engine enforces.
From an agent: with the GASP MCP server, call
lookup_metric({ "name": "Renewal Rate" }) or generate_query({ "metric": "Renewal Rate", "adapter": "<your adapter JSON>" }).
Benchmarks
- Below 85%: Concerning, indicates retention problem
- 85-90%: Below average
- 90-95%: Good (90% is the industry norm per 2025 data)
- 95%+: Excellent, top-quartile performance
Related Metrics
Connected in the GASP relationship graph.
Upstream: what drives this
- Customer Health Score drives Renewal Rate (Customer Success)
Downstream: what this drives
- Renewal Rate drives GRR (Core)
- Renewal Rate measures Subscription (Entity)