How to calculate Stage Conversion Rate
Stage conversion rate is the share of deals that move from one pipeline stage to the next. It shows where the funnel leaks.
Formula
Stage conversion = deals that reached stage N+1 ÷ deals that reached stage N × 100SQL query
This example assumes: deal_stage_history(deal_id, stage, entered_at) with one row per stage a deal entered. It is written in PostgreSQL syntax; date functions differ slightly in MySQL, BigQuery and SQLite, and your column names will differ from these.
WITH reached AS (
SELECT stage, COUNT(DISTINCT deal_id) AS deals
FROM deal_stage_history
WHERE entered_at >= DATE '2026-07-01'
GROUP BY stage
)
SELECT a.stage AS from_stage,
b.stage AS to_stage,
b.deals * 100.0 / NULLIF(a.deals, 0) AS conversion_pct
FROM reached a
JOIN reached b ON (a.stage, b.stage) IN (
('lead', 'qualified'), ('qualified', 'proposal'), ('proposal', 'won'));Common mistakes that make Stage Conversion Rate wrong
- Using the current stage instead of stage history loses deals that moved on and then fell back.
- Deals still in progress count as non-converted; limit to a cohort old enough to have decided.
- Skipped stages make a simple pairwise ratio misleading.
Ask for Stage Conversion Rate in plain English
Instead of writing the query yourself, you can type the question. SchemaChat turns it into SQL against your connected database or uploaded file, runs it, and shows the SQL and the figures it used so you can check the answer before you share it. It does not replace your judgement about the definition: check that the query matches the formula your business uses.
- Where in the pipeline do we lose most deals?
- What is the conversion from proposal to won by rep?