Pipeline coverage calculator
Work out the coverage your win rate actually requires, how much of the remaining quota open pipeline is expected to produce, the gap, and the new pipeline and opportunities each rep must create per week before it is too late to close this period. Then size five levers against the gap.
Nothing you type leaves this page. Written by a CPA: every default is an example input, not a benchmark, and the formulas are shown and tested.
Every default here is example data, not a benchmark.
Replace each input with your own CRM numbers. The win rate in particular should be your historical rate for pipeline at this point in the period. Nothing you type leaves this page.
1. Your quarter
One win rate is applied to all open pipeline. For stage-weighted rates from your own closed deals, run the LLM prompt in the playbook.
Team or company quota for the quarter.
Bookings already closed this period.
All open deals with a close date in the period, stale ones included.
Dollars past due, quiet, or stuck. Counted at zero.
Your own dollar-weighted win rate on pipeline that closes in a period like this one.
Days from opportunity created to closed won.
Also used as the size of a new opportunity.
Fractions are fine, for example 9.5.
Reps who will create the new pipeline.
2. Levers
Scenario sizes to test, not forecasts. Each one is also shown alone in the table below, so you can see which closes the most gap.
Added to the win rate on open and new pipeline.
Bigger deals: expected dollars and new opportunity size.
Widens the window in which new pipeline can still close.
More live pipeline at the same win rate.
Share of stale dollars brought back at the win rate.
Gap closed by each lever
Each lever alone against the baseline gap of $209,000, then all of them together. ACV and pipeline close the same dollars at the same size; they differ in how many new opportunities are needed.
| Lever | Expected | Gap after | Gap closed | Pipeline / rep / wk | Opps / rep / wk |
|---|---|---|---|---|---|
| Baseline | $891,000 | $209,000 | - | $21,771 | 0.73 |
| Win rate+5 pts | $1,039,500 | $60,500 | $148,500 | $5,402 | 0.18 |
| ACV+10% | $980,100 | $119,900 | $89,100 | $12,490 | 0.38 |
| Sales cycle10 days shorter | $891,000 | $209,000 | $0 | $16,042 | 0.53 |
| Open pipeline+10% | $980,100 | $119,900 | $89,100 | $12,490 | 0.42 |
| Stale cleanup25% re-qualified | $915,750 | $184,250 | $24,750 | $19,193 | 0.64 |
| All togetherAll levers above | $1,289,558 | $0 | $209,000 | $0 | 0.00 |
n/a means a gap remains with no weeks left to create pipeline that can close in time. A shorter cycle does not change expected dollars here because one win rate is used; the LLM prompt also recomputes in-quarter conversion for open deals.
Run it in your LLM, stage by stage
This calculator applies one win rate. The prompt below takes your CRM opportunity export instead, builds a dollar-weighted conversion table by stage and segment, flags stale deals by rule, and runs the same coverage, gap, and pipeline-per-rep math by team. Paste it into Claude or ChatGPT and send run the example to test it on fictional data. Expected results are on the pipeline coverage playbook.
# Pipeline Coverage Reality Check
You are a revenue operations analyst working for a CRO and a CFO. Tell them how much of the remaining quarter quota the current open pipeline is likely to produce, judged by how this company's own deals have converted in the past, which deals should not be counted, and what it would take to close any gap.
## Rules
- Use only the data in this conversation. Do not invent benchmarks, industry averages, win rates, cycle times or deals. If an input is missing, ask for it, or use the fallback this prompt defines and label it as an assumption.
- Run the calculations in code (Python or your data analysis tool) if you can. If you cannot run code, say so at the top and show the working row by row so every number can be checked.
- Show the formula next to every headline number.
- Every default in this prompt (30 deals, 30 quiet days, the lever sizes) is a starting assumption the user can change, not a benchmark.
- Read only. Do not tell the user to change CRM records as part of this run; list deals to review instead.
- This is a statistical view of the pipeline, not the forecast commit. Say so in the summary.
- Format: money to the nearest dollar, rates as percentages with one decimal, coverage as a multiple with two decimals (2.65x).
## Step 0. Inputs
If the user says "run the example", use the EXAMPLE DATA section at the end of this prompt, do not ask any questions, and label every output "Example data (fictional)".
Otherwise ask for everything below in one message, skipping anything the user already gave:
1. A CRM opportunity export as CSV, one row per opportunity: this quarter's open deals plus every won and lost deal closed in at least the last four quarters. Columns:
- deal_id, owner, team, segment, stage, amount, created_date, close_date
- status: won, lost or open
- rep_probability: the CRM probability, 0 to 100 (if every value is between 0 and 1, treat them as decimals)
- last_activity_date
- stage entry dates if available, one column per stage named entered_<stage>, for example entered_discovery
2. The open stages in order, earliest first.
3. Quota for this quarter by team.
4. Closed won to date this quarter by team. If not given, compute it as the sum of amount for status won with close_date between the quarter start and the as-of date, and say so.
5. Quota-carrying reps by team. If not given, count distinct owners with open deals per team, and say so.
6. The as-of date (today) and the quarter start and end dates.
7. Any changes to the defaults: minimum deals per conversion row (30), quiet days (30), lever sizes (Step 5).
Then check the data and report it before any analysis: rows read, rows dropped and why (missing amount or close_date, unknown status, stage not in the stage list for an open deal), history deals, open deals, deals closing after the quarter end, and any optional columns that are missing. Assume one currency.
If there are no stage entry dates, treat every history deal as entering the first stage on its created_date, build only the first-stage rows, apply that rate to every open deal whatever its stage, skip the stuck rule, and say the stage mix could not be used.
## Definitions
- D = days left = quarter end date minus as-of date.
- History = deals with status won or lost and close_date before the quarter start.
- A history deal reached stage s if it is won, or if it is lost and its furthest stage reached (the latest stage with a filled entered_<stage> date) is s or later. If a won deal has a blank entered_s, use the next filled later entry date, or close_date if none, as its entry date for s, and count those deals in the data check.
- In scope = status open and close_date on or before the quarter end, including close dates already in the past. Open deals closing after the quarter end are listed as next quarter and excluded from every number.
- Cycle = median of (close_date minus created_date) for won history deals, in days. Also report the mean.
- ACV = mean amount of won history deals. Average opportunity size = mean amount of all history deals, won and lost; use it to turn pipeline dollars into opportunity counts.
## Step 1. Historical stage conversion table (dollar weighted)
For every stage s, for All and for each segment:
- deals = count of history deals that reached s: won deals plus lost deals whose furthest stage reached is s or later. Check the counts add up: for each stage, won deals that reached it plus lost deals that reached it must equal deals, and deals can only stay flat or fall from one stage to the next.
- reached $ = sum of their amount
- won $ = sum of amount of those that are won
- conversion = won $ / reached $
- in-quarter conversion = (sum of amount of won deals that reached s with close_date minus entered_s at most D days) / reached $
Show deal counts in the table. Minimum sample: a segment row is used only if deals is at least 30. Otherwise deals in that segment use the All row for the same stage. If the All row itself has fewer than 30 deals, still use it and mark it LOW CONFIDENCE.
Rate for an open deal = in-quarter conversion of the row it uses (its segment row if that row has at least 30 deals, otherwise the All row for its current stage). Show which row each deal used.
## Step 2. Stale deals (explicit rules)
An in-scope deal is stale if any rule is true. List every stale deal with the rules it broke:
1. Past due: close_date is before the as-of date.
2. Quiet: last_activity_date is blank or more than 30 days before the as-of date.
3. Stuck: days since entered_<current stage> is greater than the 90th percentile of days in that stage for won history deals. Days in stage for a won deal = the next filled later-stage entry date (or close_date if none) minus entered_s. Use the nearest-rank 90th percentile: sort ascending and take the value at position ceil(0.9 x n).
Stale deals count at zero in weighted pipeline. Their dollars still appear in raw coverage so the difference is visible.
## Step 3. Coverage by team and company
Per deal: weighted = amount x rate for live (not stale) deals, 0 for stale deals. Rep weighted = amount x rep_probability for every in-scope deal.
For each team, and for the company (sum of teams):
- remaining = max(0, quota minus closed won to date)
- raw coverage = in-scope open $ / remaining
- live coverage = live (not stale) open $ / remaining
- weighted pipeline = sum of weighted
- weighted coverage = weighted pipeline / remaining (1.00x means the open pipeline is expected to cover the remaining quota)
- blended in-quarter rate = weighted pipeline / live open $
- required coverage = 1 / blended in-quarter rate. This is the live coverage this stage mix needs to land the remaining quota on history. Compare it with live coverage.
- gap = max(0, remaining minus weighted pipeline)
- rep vs history = rep weighted minus weighted pipeline. A large positive number means rep probabilities are more optimistic than history.
Also report the sum of team gaps, because one team's surplus does not close another team's gap. The sum of team gaps is never smaller than the company gap, and it is larger whenever one team is above its line while another is below.
## Step 4. New pipeline needed
New pipeline only helps if it can close this quarter.
- Creation window = max(0, D minus cycle) days. Cutoff date = as-of date plus creation window. Pipeline created after the cutoff is not expected to close this quarter at the median cycle.
- Pipeline created evenly between today and the cutoff has on average N = D minus (creation window / 2) days left in the quarter.
- New pipeline in-window rate = (sum of amount of won history deals with close_date minus created_date at most N days) / (sum of amount of all history deals).
- New pipeline needed = gap / new pipeline in-window rate.
- Per week = new pipeline needed / (creation window / 7). Per rep per week = per week / reps. Opportunities per rep per week = per rep per week / average opportunity size.
- If the gap is 0, all of these are 0. If the creation window is 0 and the gap is above 0, say that new pipeline cannot close the gap this quarter and that the gap must come from the existing deals (Step 5).
Compute this for each team (its own gap and reps) and for the company. When the sum of team gaps is larger than the company gap, plan new pipeline against each team's line, not the company line: one team's surplus does not close another team's gap, so the company number understates what the teams with gaps must create. Report the company figure for context only.
## Step 5. Levers
At company level, recompute weighted pipeline, gap and new pipeline needs with each lever on its own, then all together. Show the gap closed by each (baseline gap minus lever gap) and the new pipeline per rep per week and opportunities per rep per week after each lever. Default lever sizes (assumptions):
1. Win rate +5 points: every live deal's rate + 0.05 (capped at 1), and the new pipeline in-window rate + 0.05.
2. ACV +10%: weighted pipeline x 1.10, and average opportunity size x 1.10.
3. Cycle 10 days shorter: recompute every in-quarter conversion with D + 10 days instead of D; creation window = max(0, D minus (cycle minus 10)); new pipeline rate measured within N + 10 days, where N uses the new creation window.
4. Pipeline +10%: live open $ x 1.10 at the same rates, so weighted pipeline x 1.10.
5. Stale cleanup: 25% of stale dollars re-qualified, adding 0.25 x the sum of (amount x rate) over stale deals.
6. All together: 1.10 x [1.10 x sum over live deals of amount x min(1, faster rate + 0.05) + 0.25 x sum over stale deals of amount x min(1, faster rate + 0.05)], with the new pipeline rate, creation window and opportunity size from levers 1 to 3 combined.
Note that ACV +10% and pipeline +10% close the same dollars on existing pipeline; they differ only in how many new opportunities are needed. State that the levers are scenarios to size, not forecasts of what the team will achieve.
## Step 6. Output
Start with a one-page executive summary:
- Headline: "On history, open pipeline is expected to produce $X of the $R remaining (weighted coverage W vs 1.00x needed). Gap: $G."
- Three to five bullets: the team with the largest gap; stale dollars and how many deals; rep probability vs history; new pipeline per rep per week needed before the cutoff date; the lever that closes the most gap.
- If the sum of team gaps is larger than the company gap, say so in the summary and give the new pipeline target per team, not one company target, because one team's surplus does not close another team's gap.
- One line: "This is a statistical view from historical conversion, not the forecast commit."
Then these tables:
1. Data check
2. Stage conversion (stage, segment, deals, reached $, won $, conversion, in-quarter conversion, used or fallback, low confidence flag)
3. In-scope open deals (deal, owner, team, segment, stage, amount, rate row, rate, weighted, rep weighted, stale rules)
4. Stale deals to review
5. Coverage by team and company (remaining, raw, live, weighted, required, gap, rep vs history)
6. New pipeline needed (creation window, cutoff date, in-window rate, needed $, per week, per rep per week, opportunities per rep per week)
7. Levers (lever, weighted pipeline, gap, gap closed, per rep per week, opportunities per rep per week)
8. Assumptions, each labeled as an assumption: every default used and every fallback taken, plus these: rates are measured from stage entry, so deals already some days into a stage get a conservative rate; counting stale deals at zero is conservative if past stale deals sometimes won; history is assumed to describe this quarter.
If you can create files, offer the in-scope deal table as a CSV download.
## EXAMPLE DATA (fictional, for testing this prompt)
Use this only when the user says "run the example". The company, owners and deals are made up.
- As-of date: 2026-10-19
- Quarter: 2026-10-01 to 2026-12-31
- Stages in order: discovery, evaluation, proposal, negotiation
- Quota by team: East 520000, West 430000
- Closed won to date by team: East 260000, West 260000
- Quota-carrying reps by team: East 2, West 2
- Defaults: all as written above
```csv
deal_id,owner,team,segment,stage,amount,created_date,close_date,entered_discovery,entered_evaluation,entered_proposal,entered_negotiation,status,rep_probability,last_activity_date
D1001,dev,West,SMB,closed won,24000,2026-02-26,2026-04-16,2026-02-26,2026-03-11,2026-03-22,2026-04-04,won,,
D1002,dev,West,SMB,closed lost,9000,2025-10-14,2025-11-18,2025-10-14,2025-10-24,2025-11-02,2025-11-13,lost,,
D1003,ana,East,Mid-Market,closed won,61000,2025-09-13,2025-11-13,2025-09-13,2025-10-03,2025-10-18,2025-11-01,won,,
D1004,dev,West,SMB,closed lost,19500,2026-07-26,2026-08-07,2026-07-26,,,,lost,,
D1005,cara,West,SMB,closed won,16000,2026-01-19,2026-02-17,2026-01-19,2026-01-25,2026-02-01,2026-02-12,won,,
D1006,cara,West,SMB,closed lost,14000,2026-06-24,2026-07-11,2026-06-24,2026-06-29,,,lost,,
D1007,dev,West,SMB,closed won,9000,2026-04-19,2026-05-31,2026-04-19,2026-04-29,2026-05-17,2026-05-24,won,,
D1008,cara,West,Mid-Market,closed won,71000,2026-07-01,2026-09-07,2026-07-01,2026-07-20,2026-08-06,2026-08-22,won,,
D1009,dev,West,SMB,closed lost,17500,2026-06-12,2026-07-22,2026-06-12,2026-06-25,,,lost,,
D1010,ben,East,SMB,closed lost,18000,2026-03-03,2026-03-15,2026-03-03,,,,lost,,
D1011,ben,East,Mid-Market,closed won,31000,2026-06-01,2026-08-24,2026-06-01,2026-06-18,2026-07-11,2026-08-04,won,,
D1012,dev,West,SMB,closed lost,8000,2025-12-01,2026-01-01,2025-12-01,2025-12-14,,,lost,,
D1013,ben,East,SMB,closed lost,20500,2026-01-24,2026-03-15,2026-01-24,2026-02-06,2026-02-22,,lost,,
D1014,dev,West,Mid-Market,closed lost,72000,2026-09-03,2026-09-26,2026-09-03,,,,lost,,
D1015,cara,West,SMB,closed lost,8500,2025-12-02,2026-01-12,2025-12-02,2025-12-15,2025-12-29,,lost,,
D1016,ben,East,Mid-Market,closed won,58000,2025-12-23,2026-03-12,2025-12-23,2026-01-16,2026-02-05,2026-03-01,won,,
D1017,cara,West,SMB,closed lost,19000,2026-08-04,2026-09-09,2026-08-04,2026-08-13,2026-08-25,2026-09-01,lost,,
D1018,dev,West,Mid-Market,closed lost,86000,2026-05-28,2026-07-19,2026-05-28,2026-06-11,,,lost,,
D1019,ben,East,SMB,closed won,8000,2025-10-15,2025-11-21,2025-10-15,2025-10-21,2025-11-05,2025-11-14,won,,
D1020,ben,East,Mid-Market,closed won,62000,2025-08-11,2025-10-23,2025-08-11,2025-09-03,2025-09-17,2025-10-05,won,,
D1021,ana,East,SMB,closed won,18500,2026-04-24,2026-05-24,2026-04-24,2026-04-29,2026-05-10,2026-05-15,won,,
D1022,dev,West,SMB,closed won,11500,2025-12-08,2026-01-26,2025-12-08,2025-12-18,2026-01-04,2026-01-15,won,,
D1023,ben,East,SMB,closed lost,8500,2025-09-27,2025-10-17,2025-09-27,2025-10-03,,,lost,,
D1024,ben,East,Mid-Market,closed lost,34000,2025-07-27,2025-10-13,2025-07-27,2025-08-08,2025-09-02,2025-09-13,lost,,
D1025,dev,West,Mid-Market,closed won,83000,2026-02-22,2026-04-11,2026-02-22,2026-03-08,2026-03-22,2026-04-01,won,,
D1026,ana,East,SMB,closed won,21000,2026-02-03,2026-03-17,2026-02-03,2026-02-11,2026-03-01,2026-03-10,won,,
D1027,cara,West,SMB,closed lost,9000,2026-05-10,2026-05-29,2026-05-10,2026-05-15,,,lost,,
D1028,ben,East,Mid-Market,closed lost,63000,2026-07-11,2026-08-25,2026-07-11,2026-07-21,,,lost,,
D1029,cara,West,SMB,closed lost,10000,2025-12-19,2025-12-28,2025-12-19,,,,lost,,
D1030,cara,West,SMB,closed won,16000,2025-09-17,2025-11-07,2025-09-17,2025-09-30,2025-10-17,2025-10-29,won,,
D1031,ben,East,SMB,closed lost,16000,2026-03-26,2026-04-26,2026-03-26,2026-04-06,,,lost,,
D1032,dev,West,SMB,closed lost,20500,2025-10-20,2025-11-19,2025-10-20,2025-10-26,,,lost,,
D1033,dev,West,Mid-Market,closed lost,49000,2025-11-29,2026-01-28,2025-11-29,2025-12-15,,,lost,,
D1034,dev,West,Mid-Market,closed lost,73000,2026-01-01,2026-02-06,2026-01-01,,,,lost,,
D1035,dev,West,SMB,closed lost,15000,2025-11-27,2025-12-22,2025-11-27,2025-12-07,,,lost,,
D1036,dev,West,Mid-Market,closed lost,65000,2026-01-31,2026-03-12,2026-01-31,2026-02-14,,,lost,,
D1037,ana,East,SMB,closed won,12000,2026-01-05,2026-02-23,2026-01-05,2026-01-16,2026-02-03,2026-02-12,won,,
D1038,ana,East,SMB,closed lost,17500,2026-01-16,2026-01-31,2026-01-16,,,,lost,,
D1039,cara,West,SMB,closed won,10500,2025-09-26,2025-11-05,2025-09-26,2025-10-06,2025-10-24,2025-11-02,won,,
D1040,dev,West,SMB,closed won,10000,2025-12-14,2026-01-26,2025-12-14,2025-12-27,2026-01-08,2026-01-22,won,,
D1041,dev,West,SMB,closed won,8500,2026-07-24,2026-08-26,2026-07-24,2026-08-02,2026-08-11,2026-08-22,won,,
D1042,cara,West,SMB,closed lost,10500,2025-09-14,2025-10-25,2025-09-14,2025-09-28,,,lost,,
D1043,cara,West,Mid-Market,closed lost,85000,2026-01-07,2026-01-28,2026-01-07,,,,lost,,
D1044,ana,East,SMB,closed lost,12000,2026-02-23,2026-03-22,2026-02-23,2026-03-08,,,lost,,
D1045,ana,East,Mid-Market,closed won,51000,2025-09-26,2025-12-01,2025-09-26,2025-10-20,2025-11-04,2025-11-15,won,,
D1046,ana,East,SMB,closed won,20000,2025-10-06,2025-11-12,2025-10-06,2025-10-11,2025-10-26,2025-11-05,won,,
D1047,dev,West,SMB,closed lost,23500,2026-07-01,2026-08-11,2026-07-01,2026-07-12,2026-07-24,,lost,,
D1048,dev,West,Mid-Market,closed lost,74000,2026-07-15,2026-09-16,2026-07-15,2026-08-07,2026-08-27,,lost,,
D1049,ben,East,Mid-Market,closed lost,63000,2026-06-20,2026-08-19,2026-06-20,2026-07-11,,,lost,,
D1050,cara,West,SMB,closed lost,14000,2026-01-08,2026-01-25,2026-01-08,,,,lost,,
D1051,cara,West,Mid-Market,closed lost,70000,2026-01-10,2026-03-20,2026-01-10,2026-01-24,2026-02-19,,lost,,
D1052,dev,West,SMB,closed lost,8000,2026-03-21,2026-04-04,2026-03-21,,,,lost,,
D1053,ben,East,Mid-Market,closed lost,54000,2026-01-20,2026-02-16,2026-01-20,,,,lost,,
D1054,cara,West,SMB,closed won,21500,2025-11-02,2025-12-12,2025-11-02,2025-11-16,2025-11-28,2025-12-03,won,,
D1055,ana,East,Mid-Market,closed lost,55000,2025-11-25,2026-02-26,2025-11-25,2025-12-18,2026-01-09,2026-01-30,lost,,
D1056,ben,East,SMB,closed lost,15500,2026-01-23,2026-01-31,2026-01-23,,,,lost,,
D1057,cara,West,Mid-Market,closed lost,90000,2026-03-28,2026-05-16,2026-03-28,2026-04-16,,,lost,,
D1058,dev,West,SMB,closed lost,9500,2026-02-26,2026-03-09,2026-02-26,,,,lost,,
D1059,ben,East,SMB,closed lost,10500,2026-02-17,2026-03-28,2026-02-17,2026-03-01,2026-03-13,,lost,,
D1060,dev,West,Mid-Market,closed lost,62000,2025-09-12,2025-11-06,2025-09-12,2025-09-28,2025-10-22,,lost,,
D1061,cara,West,SMB,closed lost,12500,2026-01-14,2026-02-17,2026-01-14,2026-01-19,2026-01-30,,lost,,
D1062,ana,East,SMB,closed lost,8000,2025-10-20,2025-12-05,2025-10-20,2025-10-27,2025-11-14,2025-11-20,lost,,
D1063,dev,West,Mid-Market,closed lost,66000,2026-08-01,2026-09-25,2026-08-01,2026-08-20,2026-09-08,,lost,,
D1064,ana,East,Mid-Market,closed lost,45000,2026-04-05,2026-05-07,2026-04-05,,,,lost,,
D1065,ana,East,Mid-Market,evaluation,72000,2026-10-01,2026-11-14,2026-10-01,2026-10-13,,,open,60,2026-10-16
D1066,ana,East,Mid-Market,discovery,85000,2026-10-10,2026-12-16,2026-10-10,,,,open,25,2026-10-14
D1067,ana,East,SMB,proposal,18000,2026-09-22,2026-11-06,2026-09-22,2026-10-04,2026-10-15,,open,60,2026-10-15
D1068,ana,East,SMB,evaluation,21500,2026-10-01,2026-11-27,2026-10-01,2026-10-10,,,open,40,2026-10-14
D1069,ana,East,Mid-Market,evaluation,64000,2026-09-25,2026-12-18,2026-09-25,2026-10-07,,,open,40,2026-10-12
D1070,ana,East,SMB,discovery,14000,2026-10-14,2026-12-11,2026-10-14,,,,open,20,2026-10-16
D1071,ana,East,Mid-Market,proposal,58000,2026-08-29,2026-10-09,2026-08-29,2026-09-13,2026-09-29,,open,60,2026-10-02
D1072,ben,East,SMB,negotiation,23000,2026-09-06,2026-10-30,2026-09-06,2026-09-20,2026-10-02,2026-10-16,open,90,2026-10-17
D1073,ben,East,Mid-Market,proposal,81000,2026-08-31,2026-11-20,2026-08-31,2026-09-10,2026-10-10,,open,60,2026-10-13
D1074,ben,East,SMB,evaluation,16500,2026-08-11,2026-11-13,2026-08-11,2026-08-22,,,open,40,2026-10-08
D1075,ben,East,Mid-Market,discovery,47000,2026-10-11,2026-12-22,2026-10-11,,,,open,20,2026-10-15
D1076,ben,East,Mid-Market,discovery,90000,2026-10-06,2026-12-10,2026-10-06,,,,open,30,2026-10-09
D1077,ben,East,SMB,discovery,12500,2026-10-15,2027-01-15,2026-10-15,,,,open,20,2026-10-16
D1078,cara,West,SMB,negotiation,19500,2026-09-12,2026-11-02,2026-09-12,2026-09-26,2026-10-06,2026-10-14,open,80,2026-10-16
D1079,cara,West,Mid-Market,discovery,66000,2026-10-12,2026-11-25,2026-10-12,,,,open,30,2026-10-14
D1080,cara,West,Mid-Market,discovery,78000,2026-10-08,2026-12-11,2026-10-08,,,,open,25,2026-10-13
D1081,cara,West,SMB,discovery,15000,2026-10-17,2026-12-03,2026-10-17,,,,open,20,2026-10-17
D1082,cara,West,SMB,proposal,22000,2026-09-28,2026-11-18,2026-09-28,2026-10-03,2026-10-13,,open,60,2026-10-09
D1083,cara,West,Mid-Market,evaluation,55000,2026-08-24,2026-12-15,2026-08-24,2026-09-08,,,open,40,2026-09-10
D1084,dev,West,SMB,evaluation,17000,2026-10-07,2026-11-24,2026-10-07,2026-10-12,,,open,40,2026-10-15
D1085,dev,West,Mid-Market,proposal,74000,2026-09-09,2026-12-04,2026-09-09,2026-09-23,2026-10-08,,open,70,2026-10-12
D1086,dev,West,SMB,discovery,11000,2026-10-16,2026-12-09,2026-10-16,,,,open,20,2026-10-17
D1087,dev,West,Mid-Market,discovery,52000,2026-10-13,2026-12-29,2026-10-13,,,,open,20,2026-10-16
D1088,dev,West,Mid-Market,discovery,88000,2026-10-09,2026-12-17,2026-10-09,,,,open,30,2026-10-15
D1089,dev,West,Mid-Market,evaluation,69000,2026-09-20,2026-11-30,2026-09-20,2026-10-10,,,open,50,2026-10-12
```
How the math works
Coverage only means something next to the rate at which pipeline turns into bookings. If you close 30% of pipeline dollars in a period, you need 1 / 0.30 = 3.33x of live pipeline to land what is left. Stale deals are counted at zero, so the honest comparison is live coverage against required coverage, or weighted coverage against 1.00x. Any gap has to come from new pipeline, and only pipeline created early enough to close within one sales cycle counts.
- Remaining quota
max(0, quota - closed won to date)- Live pipeline
open pipeline x (1 - stale share)- Expected from open pipeline
live pipeline x win rate- Required coverage
1 / win rate- Raw, live, weighted coverage
open, live, expected / remaining quota- Gap
max(0, remaining quota - expected)- New pipeline needed
gap / win rate- Weeks to create it
max(0, weeks left - cycle days / 7)- Pipeline per rep per week
new pipeline / weeks to create it / reps- Opportunities per rep per week
pipeline per rep per week / ACV- With levers
expected = (live x (1 + pipeline %) + stale x re-qualified %) x min(1, win rate + points) x (1 + ACV %); cycle = cycle days - days cut; opportunity size = ACV x (1 + ACV %)
Three worked examples
Example inputs, not benchmarks. Each one is worked by hand in the test suite and loads into the calculator above with one click.
Example 1: a gap to close
Quota $1,500,000, closed $400,000, open $3,300,000 (10% stale), win rate 30%, 42-day cycle, ACV $30,000, 10 weeks, 8 reps.
- Required vs live coverage
- 3.33x vs 2.70x
- Expected from open pipeline
- $891,000
- Gap
- $209,000
- New pipeline needed
- $696,667
- Weeks to create it
- 4.00
- Per rep per week
- $21,771
- Biggest single lever
- Win rate, $148,500
- All levers together
- closes $209,000
Example 2: already covered
Quota $1,000,000, closed $600,000, open $1,600,000 (0% stale), win rate 30%, 30-day cycle, ACV $20,000, 6 weeks, 4 reps.
- Required vs live coverage
- 3.33x vs 4.00x
- Expected from open pipeline
- $480,000
- Gap
- $0 ($80,000 surplus)
- New pipeline needed
- $0
- Weeks to create it
- 1.71
- Per rep per week
- $0
- Biggest single lever
- None needed
- All levers together
- None needed
Example 3: too late for new pipeline
Quota $800,000, closed $200,000, open $1,200,000 (25% stale), win rate 20%, 42-day cycle, ACV $25,000, 5 weeks, 5 reps.
- Required vs live coverage
- 5.00x vs 1.50x
- Expected from open pipeline
- $180,000
- Gap
- $420,000
- New pipeline needed
- $2,100,000
- Weeks to create it
- 0.00
- Per rep per week
- Too late
- Biggest single lever
- Win rate, $45,000
- All levers together
- closes $112,875
What this calculator assumes
- One win rate for all open pipeline and for new pipeline. Late-stage deals close at higher rates than early ones; the LLM prompt handles the stage mix.
- Stale dollars count at zero. If some deals that looked stale in the past still won, this is conservative.
- New pipeline closes after one average cycle, so it only counts if created in the first (weeks left - cycle weeks).
- A shorter cycle widens that window but does not change the expected value of open deals here.
- It is a statistical view to test the commit, not the forecast.
Questions
Is 3x pipeline coverage enough?
It depends on your win rate, not on a rule of thumb. Required coverage is 1 divided by the share of pipeline dollars you close in the period: at a 25% win rate you need 4x, at 33% about 3x, at 40% 2.5x. Compare that with live coverage, after removing stale deals, not raw coverage.
Which win rate should I use?
Your own, dollar weighted, on pipeline that closed in a period like this one, from at least four quarters of closed deals. Early-stage pipeline converts at a lower rate than late-stage pipeline, so if your mix has shifted, use the stage-weighted LLM prompt in the playbook instead of one number.
Why is there a deadline for new pipeline?
A deal created today closes, on average, one sales cycle from now. Pipeline created after weeks left minus cycle weeks is not expected to close this period, so the calculator spreads the new pipeline over the weeks before that cutoff only. If no weeks are left, the gap has to come from existing deals.
Is this the forecast?
No. It is a statistical view based on historical conversion, useful for testing the commit. The commit is the deal-by-deal call from managers and reps.
The playbook behind this math
Build the weekly coverage check, or run it once in your LLM with the copy-paste prompt.
- Finance/FP&AIntermediate
Check Pipeline Coverage with Historical Conversion, Not Rep Probability
Pipeline coverage is usually reported as open pipeline over quota, or weighted by the probability reps enter in the CRM, so a quarter can look covered at 3x while the deals, at the rates they have actually closed in the past, fall well short of the number, and finance finds out late in the quarter.
HubSpot or SalesforceGoogle SheetsZapier or n8n+1Estimate: 2 hrs/week - Finance/FP&AIntermediate
Plan Sales Capacity with Ramp and Attrition, Not Headcount
Bookings targets are usually funded as headcount times quota, which assumes every rep is fully ramped all year and nobody leaves, so a plan can look covered on paper while new hires are still ramping, leavers' seats sit empty for months, and the shortfall shows up mid-year, too late to hire into.
HubSpot or SalesforceBambooHR, Rippling, or WorkdayGoogle Sheets or Clay+2Estimate: 1 hrs/week - Finance/FP&AIntermediate
Auto-Generate Monthly Revenue Forecast from Pipeline
Finance builds revenue forecasts by hand, applying historical close rates to current pipeline. It eats hours every month.
SalesforceGoogle SheetsZapierEstimate: 4 hrs/week - RevOpsIntermediate
Measure Win Rate by Lead Source, Not One Blended Number
Ops leaders report one blended win rate, which hides that outbound, inbound demo requests, partners, and events convert and close very differently, so budget and SDR time keep going to the channels that look fine on average instead of the ones that turn pipeline into revenue.
HubSpot or SalesforceGoogle SheetsClaude or ChatGPTEstimate: 0.5 hrs/week - Finance/FP&AIntermediate
Flag Slipping Deals Before the Forecast Call
A deal whose close date has moved twice, or that has sat in the same stage for weeks, still counts in commit at full value until someone asks about it on the forecast call, so the commit and best-case numbers carry deals the history already says are slipping, and finance learns the size of the problem when the quarter closes.
HubSpot or SalesforceGoogle Sheets or ClayClaude or ChatGPT+1Estimate: 1.5 hrs/week
Need help implementing a playbook?
Our team builds custom Clay workflows and AI automations for revenue teams.
Get it built for you