GASP

Renewal Forecast Accuracy

Renewal Forecast Accuracy: How closely the forecast renewal value matched the value actually renewed, for contracts ending in the period.

Formula

Forecast Accuracy = 1 - |Forecasted renewals - Actual renewals| / Actual renewals

Computable definition

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

1 - abs(sum(field.forecast_renewal_amount where in_period(field.contract_end)) - sum(field.renewal_amount where in_period(field.contract_end) and field.renewed = true)) / sum(field.renewal_amount where in_period(field.contract_end) and field.renewed = true)

Unit: percent (the formula yields an unscaled ratio)

Data requirements

Grain: Monthly aggregate · Frequency: Monthly · Aggregation: aggregate (month) · Staged: no · Main source: Billing.

Field Dataset Type
contract_end subscription date
forecast_renewal_amount subscription decimal
renewal_amount subscription decimal
renewed subscription boolean
snapshot_date subscription date
Example SQL (Postgres)
SELECT (1 - (CAST(ABS(((SELECT COALESCE(SUM(forecast_renewal_amount), 0) FROM subscription WHERE snapshot_date = :period_end AND (contract_end >= :period_start AND contract_end <= :period_end)) - (SELECT COALESCE(SUM(renewal_amount), 0) FROM subscription WHERE snapshot_date = :period_end AND ((contract_end >= :period_start AND contract_end <= :period_end) AND renewed = TRUE)))) AS DOUBLE PRECISION) / NULLIF((SELECT COALESCE(SUM(renewal_amount), 0) FROM subscription WHERE snapshot_date = :period_end AND ((contract_end >= :period_start AND contract_end <= :period_end) AND renewed = TRUE)), 0))) AS renewal_forecast_accuracy

From an agent: with the GASP MCP server, call lookup_metric({ "name": "Renewal Forecast Accuracy" }) or generate_query({ "metric": "Renewal Forecast Accuracy", "adapter": "<your adapter JSON>" }).

What It Tells You

How far revenue planning can rely on the renewal forecast.

Try searching for:

↑↓navigate↵select