Services Attach Rate
Services Attach Rate: Percentage of product deals that include services.
Formula
Attach Rate = Deals with services / Total deals × 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.opportunity_id where field.includes_services = true and field.opportunity_stage = 'closed_won' and in_period(field.close_date)) / count_distinct(field.opportunity_id where field.opportunity_stage = 'closed_won' and in_period(field.close_date)) Unit: percent (the formula yields an unscaled ratio)
Notes: Denominator is closed-won product deals.
Data requirements
Grain: Per event, aggregate monthly · Frequency: Daily sync · Aggregation: aggregate (month) · Staged: no · Main source: CRM.
| Field | Dataset | Type |
|---|---|---|
close_date | opportunity | date |
includes_services | opportunity | boolean |
opportunity_id | opportunity | string |
opportunity_stage | opportunity | string |
snapshot_date | opportunity | date |
Example SQL (Postgres)
SELECT (CAST((SELECT COUNT(DISTINCT opportunity_id) FROM opportunity WHERE snapshot_date = :period_end AND ((includes_services = TRUE AND opportunity_stage = 'closed_won') AND (close_date >= :period_start AND close_date <= :period_end))) AS DOUBLE PRECISION) / NULLIF((SELECT COUNT(DISTINCT opportunity_id) FROM opportunity WHERE snapshot_date = :period_end AND (opportunity_stage = 'closed_won' AND (close_date >= :period_start AND close_date <= :period_end))), 0)) AS services_attach_rate From an agent: with the GASP MCP server, call
lookup_metric({ "name": "Services Attach Rate" }) or generate_query({ "metric": "Services Attach Rate", "adapter": "<your adapter JSON>" }).
What It Tells You
How often services are sold with product.