GASP
Sales Pipeline Metrics Leading

Pipeline Velocity

Pipeline Velocity: The speed at which pipeline converts to revenue. Also called Sales Velocity or Deal Velocity.

Formula

Pipeline Velocity = (# Opportunities × Win Rate × Average Deal Size) / Sales Cycle Length

Computable definition

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

count(field.opportunity_id where field.opportunity_stage not in ('closed_won', 'closed_lost')) * metric.win_rate * metric.average_deal_size / metric.sales_cycle

Unit: currency

Notes: Revenue per day. Markdown describes deal size as ACV in the levers list and average deal value in the formula.

Data requirements

Grain: Daily snapshot · Frequency: Daily · Aggregation: snapshot (day) · Staged: no · Main source: CRM.

Field Dataset Type
close_date opportunity date
opportunity_amount opportunity decimal
opportunity_created_date opportunity date
opportunity_id opportunity string
opportunity_stage opportunity string
snapshot_date opportunity date
Example SQL (Postgres)
SELECT (CAST((((SELECT COUNT(opportunity_id) FROM opportunity WHERE snapshot_date = :period_end AND opportunity_stage NOT IN ('closed_won', 'closed_lost')) * ((CAST((SELECT COUNT(opportunity_id) FROM opportunity WHERE snapshot_date = :period_end AND (opportunity_stage = 'closed_won' AND (close_date >= :period_start AND close_date <= :period_end))) AS DOUBLE PRECISION) / NULLIF((SELECT COUNT(opportunity_id) FROM opportunity WHERE snapshot_date = :period_end AND (opportunity_stage IN ('closed_won', 'closed_lost') AND (close_date >= :period_start AND close_date <= :period_end))), 0)))) * ((CAST((SELECT COALESCE(SUM(opportunity_amount), 0) FROM opportunity WHERE snapshot_date = :period_end AND (opportunity_stage = 'closed_won' AND (close_date >= :period_start AND close_date <= :period_end))) AS DOUBLE PRECISION) / NULLIF((SELECT COUNT(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 DOUBLE PRECISION) / NULLIF(((SELECT AVG((close_date - opportunity_created_date)) FROM opportunity WHERE snapshot_date = :period_end AND (opportunity_stage = 'closed_won' AND (close_date >= :period_start AND close_date <= :period_end)))), 0)) AS pipeline_velocity

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

What It Tells You

The theoretical throughput of your sales engine. Improving any component improves velocity.

Try searching for:

↑↓navigate↵select