Breadth of Adoption: Average number of features used per account.
Formula
Breadth = Distinct (account, feature) pairs used in period / Active accounts 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.customer_id, field.feature_id) / metric.active_accounts Unit: ratio
Notes: Distinct (account, feature) pairs used in the period over active accounts: the average number of features each active account uses. Both fields are on product_event.
Data requirements
Grain: Per event, aggregate monthly · Frequency: Daily · Aggregation: aggregate (month) · Staged: no · Main source: Product Analytics.
| Field | Dataset | Type |
|---|---|---|
customer_id | product_event | string |
event_date | product_event | date |
feature_id | product_event | string |
product_event_type | product_event | string |
Example SQL (Postgres)
SELECT (CAST((SELECT COUNT(*) FROM (SELECT DISTINCT customer_id, feature_id FROM product_event WHERE event_date >= :period_start AND event_date <= :period_end AND customer_id IS NOT NULL AND feature_id IS NOT NULL) _pairs) AS DOUBLE PRECISION) / NULLIF(((SELECT COUNT(DISTINCT customer_id) FROM product_event WHERE event_date >= :period_start AND event_date <= :period_end AND product_event_type = 'qualifying')), 0)) AS breadth_of_adoption From an agent: with the GASP MCP server, call
lookup_metric({ "name": "Breadth of Adoption" }) or generate_query({ "metric": "Breadth of Adoption", "adapter": "<your adapter JSON>" }).
What It Tells You
How much of the product each account uses.