License Utilization
License Utilization: The share of purchased seats that are assigned to a user, across active licenses at period end.
Formula
License Utilization = Seats assigned / Seats purchased × 100 Computable definition
The canonical formula in the GASP formula grammar. The MCP server compiles it to SQL over the datasets listed below.
sum(field.seats_assigned where field.license_status = 'active') / sum(field.seats_purchased where field.license_status = 'active') Unit: percent (the formula yields an unscaled ratio)
Breakdowns
by_product: one row perproduct_namevalue
Notes: Active licenses on the license snapshot at period end. Seats purchased is the entitlement the subscription grants; seats assigned is the number held by a named user. by_product returns one row per product the licenses cover, with the product id and product name: the name lives on the product dataset and licenses reach it through product_id.
Data requirements
Grain: End-of-month snapshot · Frequency: Monthly · Aggregation: snapshot (month) · Staged: no · Main source: Billing.
| Field | Dataset | Type |
|---|---|---|
license_status | license | string |
seats_assigned | license | integer |
seats_purchased | license | integer |
snapshot_date | license | date |
Example SQL (Postgres)
SELECT (CAST((SELECT COALESCE(SUM(seats_assigned), 0) FROM license WHERE snapshot_date = :period_end AND license_status = 'active') AS DOUBLE PRECISION) / NULLIF((SELECT COALESCE(SUM(seats_purchased), 0) FROM license WHERE snapshot_date = :period_end AND license_status = 'active'), 0)) AS license_utilization From an agent: with the GASP MCP server, call
lookup_metric({ "name": "License Utilization" }) or generate_query({ "metric": "License Utilization", "adapter": "<your adapter JSON>" }).
What It Tells You
Whether customers are growing into what they bought. For seat-priced products it is the earliest hard signal of contraction or expansion.