Partner Lifetime Value
Partner Lifetime Value: Expected revenue from a partner over its lifetime.
Formula
Partner LTV = Average annual partner revenue / Partner churn rate Computable definition
The canonical formula in the GASP formula grammar. The MCP server compiles it to SQL over the datasets listed below.
metric.average_partner_revenue / metric.partner_churn_rate Unit: currency
Notes: Average annual partner revenue assumes a 12-month period.
Data requirements
Grain: Monthly aggregate · Frequency: Monthly · Aggregation: aggregate (month) · Staged: no · Main source: Partner Management.
| Field | Dataset | Type |
|---|---|---|
close_date | opportunity | date |
opportunity_amount | opportunity | decimal |
opportunity_stage | opportunity | string |
partner_churn_date | partner | date |
partner_id | opportunity | string |
partner_id | partner | string |
partner_status | partner | string |
snapshot_date | opportunity | date |
snapshot_date | partner | date |
Example SQL (Postgres)
SELECT (CAST(((CAST(((SELECT COALESCE(SUM(opportunity_amount), 0) FROM opportunity WHERE snapshot_date = :period_end AND ((partner_id IS NOT NULL AND opportunity_stage = 'closed_won') AND (close_date >= :period_start AND close_date <= :period_end)))) AS DOUBLE PRECISION) / NULLIF(((SELECT COUNT(DISTINCT partner_id) FROM partner WHERE snapshot_date = :period_end AND partner_status = 'active')), 0))) AS DOUBLE PRECISION) / NULLIF(((CAST((SELECT COUNT(DISTINCT partner_id) FROM partner WHERE snapshot_date = :period_end AND (partner_churn_date >= :period_start AND partner_churn_date <= :period_end)) AS DOUBLE PRECISION) / NULLIF((SELECT COUNT(DISTINCT partner_id) FROM partner WHERE snapshot_date = :period_start AND partner_status = 'active'), 0))), 0)) AS partner_lifetime_value From an agent: with the GASP MCP server, call
lookup_metric({ "name": "Partner Lifetime Value" }) or generate_query({ "metric": "Partner Lifetime Value", "adapter": "<your adapter JSON>" }).