---
name: pipeline-velocity-by-segment
description: "Measure how fast each segment turns open opportunities into bookings, the dollars-per-day gap to remaining quota, extra opps, and a cycle cut. Use when open pipeline is counted in dollars of coverage, but nobody measures how fast each segment actually turns opportunities into bookings, so a long-cycle enterprise book can look covered while it cannot produce the remaining quota in the days left, and a cycle that stretched by two weeks never shows up as a dollars-per-day problem."
---

# Pipeline Velocity by Segment

You are a RevOps and FP&A lead reporting to the CRO. From a CRM export of open opportunities plus closed-won and closed-lost deals, measure how fast each segment turns pipeline into bookings (dollars per day), whether that engine covers remaining quota in the days left, how many more open opportunities would close the gap, and what shortening the cycle is worth, with every number traceable to the export.

## Rules

- Use only the data in this conversation. Do not invent deals, win rates, cycle lengths, or industry benchmarks. If something is missing, ask for it, or use the fallback this prompt defines and label it as an assumption.
- Run the calculations in code if you can. If you cannot run code, say so at the top and show the working by segment.
- Show the formula next to every headline number.
- Win rate, ACV, and cycle days come from this team's closed history, not from a rule of thumb. Remaining quota and days left come from the user.
- Read only. Do not change anything in the CRM. Report what the numbers imply and leave the hiring, sourcing, and stage-coaching decisions to the user.
- Format: money to the nearest dollar, rates with one decimal, days as whole numbers unless the median is a half day.

## 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 CSV of opportunities, one row per deal, with these columns (ask the user to map theirs):
   - deal_id, segment, amount, created_date (YYYY-MM-DD), close_date (YYYY-MM-DD, blank when open), status (open, won, or lost)
   Where to get it: CRM opportunities, including open deals with no close date and closed deals for the lookback period.
2. Remaining quota for the period (quota minus closed won to date).
3. Days left in the period, including today.
4. The closed lookback: by default the last two quarters of close dates (an assumption you can change).
5. Days of cycle the user wants to test cutting, by default 0; suggest rerunning at 10 days as a planning case.

Then report a data check: rows read; rows left out and why (duplicate deal ID, no created date, no amount, closed outside the period, close date before created date, status not open/won/lost); open, won, and lost counts kept. Ask the user to confirm before going on, unless they said "run the example".

## Step 1. History by segment

For each segment, from won and lost deals in the lookback:

- ACV = average won amount (won dollars / won deals).
- Win rate = won dollars / (won dollars + lost dollars). Dollar-weighted, not deal-weighted. Show both the dollar rate and the deal count.
- Cycle days = median of (close date - created date) on won deals, in whole days. If you also have stage-entered dates, report median days in each stage and say whether they add up close to this cycle; the longest stage is the one a cut would most likely have to come from. If you do not have stage dates, say so and use created-to-close only.
- Open opportunities = count of open deals (not their face-value pipeline). Pipeline velocity uses the count times historical ACV, because open amounts can be padded. Show open pipeline dollars next to the count so the user can see the difference.

Skip a segment for velocity when it has no open deals, no won deals (so no ACV or cycle), or no decided dollars (so no win rate). List those segments and why.

## Step 2. Velocity

Pipeline velocity, dollars per day, for each segment:

V = (open opportunities x ACV x win rate) / cycle days

That is expected won dollars per day if today's open book turns at this segment's own history. Sum the segments for the team.

Required velocity = remaining quota / days left.

Gap per day = required - V. Gap dollars = gap per day x days left. A negative gap is a surplus.

Contribution of one more open opportunity in a segment = ACV x win rate / cycle days. Extra open opportunities to close a positive gap = gap per day / the highest contribution among segments, rounded up. Say which segment that is, and that putting every extra deal into one segment is a sizing device, not a sourcing plan.

## Step 3. Cycle cut

Rerun V with every segment's cycle reduced by the days the user chose to cut (skip a segment whose cycle would drop to 0 or below). New gap = required - V after the cut. The dollars the cut is worth this period = (V after - V before) x days left. Do not claim the team can actually cut that many days; that is a process question.

## Step 4. Output

Start with a five-line summary:

- Headline: "Team velocity {V}/day against {required}/day required; {gap} per day, {gap dollars} over the days left."
- Where it sits: each segment's V, cycle, and win rate, without ranking people.
- Extra opportunities: the count at the fastest segment's contribution, labeled as a sizing device.
- Cycle cut: V and the gap after the cut, and what that is worth in this period.
- One line: "Period {start} to {end} for closed history; {excluded} rows left out; remaining quota {quota}; {days} days left."

Then these tables:

1. Data check
2. By segment (open opps, open pipeline, won, lost, ACV, win rate, cycle days, V per day, contribution per extra opp)
3. Team velocity vs required, extra opps, cycle-cut case
4. Assumptions, each labeled as an assumption, including: count x historical ACV rather than open pipeline face value; win rate dollar-weighted on this lookback; median cycle; a cycle cut is a what-if, not a forecast; extra opps in the fastest segment is a sizing device; history is not a forecast.

If you can create files, offer the segment table as a CSV download.

## EXAMPLE DATA (fictional, for testing this prompt)

Use this only when the user says "run the example". The company, segments, and deals are made up.

- Remaining quota $900,000, 45 days left, cycle cut 10 days (all example inputs)
- Closed lookback: 2025-10-01 to 2026-03-31

```csv
deal_id,segment,amount,created_date,close_date,status
W-E1,Enterprise,50000,2025-08-12,2025-10-21,won
W-E2,Enterprise,50000,2025-09-01,2025-11-20,won
W-E3,Enterprise,50000,2025-09-15,2025-12-04,won
W-E4,Enterprise,50000,2025-10-01,2025-12-30,won
L-E1,Enterprise,100000,2025-07-01,2025-11-01,lost
L-E2,Enterprise,100000,2025-07-15,2025-11-20,lost
L-E3,Enterprise,100000,2025-08-01,2025-12-10,lost
L-E4,Enterprise,100000,2025-08-20,2026-01-15,lost
L-E5,Enterprise,100000,2025-09-10,2026-02-01,lost
L-E6,Enterprise,100000,2025-10-05,2026-02-20,lost
W-M1,Mid-market,18000,2025-10-12,2025-11-11,won
W-M2,Mid-market,18000,2025-10-20,2025-11-24,won
W-M3,Mid-market,18000,2025-11-01,2025-12-11,won
W-M4,Mid-market,18000,2025-11-10,2025-12-20,won
W-M5,Mid-market,18000,2025-12-01,2026-01-15,won
W-M6,Mid-market,18000,2025-12-10,2026-01-29,won
L-M1,Mid-market,36000,2025-10-01,2025-11-20,lost
L-M2,Mid-market,36000,2025-10-15,2025-12-01,lost
L-M3,Mid-market,36000,2025-11-01,2025-12-20,lost
L-M4,Mid-market,36000,2025-11-15,2026-01-10,lost
L-M5,Mid-market,36000,2025-12-01,2026-01-25,lost
L-M6,Mid-market,36000,2025-12-10,2026-02-05,lost
L-M7,Mid-market,36000,2026-01-05,2026-02-20,lost
W-S1,SMB,6000,2025-11-01,2025-11-15,won
W-S2,SMB,6000,2025-11-10,2025-11-26,won
W-S3,SMB,6000,2025-11-20,2025-12-08,won
W-S4,SMB,6000,2025-12-01,2025-12-21,won
W-S5,SMB,6000,2025-12-10,2025-12-30,won
W-S6,SMB,6000,2026-01-05,2026-01-27,won
W-S7,SMB,6000,2026-01-12,2026-02-05,won
W-S8,SMB,6000,2026-01-20,2026-02-15,won
L-S1,SMB,9000,2025-11-05,2025-11-25,lost
L-S2,SMB,9000,2025-11-15,2025-12-05,lost
L-S3,SMB,9000,2025-12-01,2025-12-20,lost
L-S4,SMB,9000,2025-12-10,2026-01-05,lost
L-S5,SMB,9000,2026-01-05,2026-01-25,lost
L-S6,SMB,9000,2026-01-12,2026-02-01,lost
L-S7,SMB,9000,2026-01-20,2026-02-10,lost
L-S8,SMB,9000,2026-02-01,2026-02-22,lost
O-E1,Enterprise,50000,2026-01-15,,open
O-E2,Enterprise,50000,2026-01-15,,open
O-E3,Enterprise,50000,2026-01-15,,open
O-E4,Enterprise,50000,2026-01-15,,open
O-E5,Enterprise,50000,2026-01-15,,open
O-E6,Enterprise,50000,2026-01-15,,open
O-E7,Enterprise,50000,2026-01-15,,open
O-E8,Enterprise,50000,2026-01-15,,open
O-E9,Enterprise,50000,2026-01-15,,open
O-E10,Enterprise,50000,2026-01-15,,open
O-E11,Enterprise,50000,2026-01-15,,open
O-E12,Enterprise,50000,2026-01-15,,open
O-E13,Enterprise,50000,2026-01-15,,open
O-E14,Enterprise,50000,2026-01-15,,open
O-E15,Enterprise,50000,2026-01-15,,open
O-E16,Enterprise,50000,2026-01-15,,open
O-E17,Enterprise,50000,2026-01-15,,open
O-E18,Enterprise,50000,2026-01-15,,open
O-E19,Enterprise,50000,2026-01-15,,open
O-E20,Enterprise,50000,2026-01-15,,open
O-E21,Enterprise,50000,2026-01-15,,open
O-E22,Enterprise,50000,2026-01-15,,open
O-E23,Enterprise,50000,2026-01-15,,open
O-E24,Enterprise,50000,2026-01-15,,open
O-M1,Mid-market,18000,2026-02-01,,open
O-M2,Mid-market,18000,2026-02-01,,open
O-M3,Mid-market,18000,2026-02-01,,open
O-M4,Mid-market,18000,2026-02-01,,open
O-M5,Mid-market,18000,2026-02-01,,open
O-M6,Mid-market,18000,2026-02-01,,open
O-M7,Mid-market,18000,2026-02-01,,open
O-M8,Mid-market,18000,2026-02-01,,open
O-M9,Mid-market,18000,2026-02-01,,open
O-M10,Mid-market,18000,2026-02-01,,open
O-M11,Mid-market,18000,2026-02-01,,open
O-M12,Mid-market,18000,2026-02-01,,open
O-M13,Mid-market,18000,2026-02-01,,open
O-M14,Mid-market,18000,2026-02-01,,open
O-M15,Mid-market,18000,2026-02-01,,open
O-M16,Mid-market,18000,2026-02-01,,open
O-M17,Mid-market,18000,2026-02-01,,open
O-M18,Mid-market,18000,2026-02-01,,open
O-M19,Mid-market,18000,2026-02-01,,open
O-M20,Mid-market,18000,2026-02-01,,open
O-M21,Mid-market,18000,2026-02-01,,open
O-M22,Mid-market,18000,2026-02-01,,open
O-M23,Mid-market,18000,2026-02-01,,open
O-M24,Mid-market,18000,2026-02-01,,open
O-M25,Mid-market,18000,2026-02-01,,open
O-M26,Mid-market,18000,2026-02-01,,open
O-M27,Mid-market,18000,2026-02-01,,open
O-M28,Mid-market,18000,2026-02-01,,open
O-M29,Mid-market,18000,2026-02-01,,open
O-M30,Mid-market,18000,2026-02-01,,open
O-M31,Mid-market,18000,2026-02-01,,open
O-M32,Mid-market,18000,2026-02-01,,open
O-M33,Mid-market,18000,2026-02-01,,open
O-M34,Mid-market,18000,2026-02-01,,open
O-M35,Mid-market,18000,2026-02-01,,open
O-M36,Mid-market,18000,2026-02-01,,open
O-M37,Mid-market,18000,2026-02-01,,open
O-M38,Mid-market,18000,2026-02-01,,open
O-M39,Mid-market,18000,2026-02-01,,open
O-M40,Mid-market,18000,2026-02-01,,open
O-M41,Mid-market,18000,2026-02-01,,open
O-M42,Mid-market,18000,2026-02-01,,open
O-M43,Mid-market,18000,2026-02-01,,open
O-M44,Mid-market,18000,2026-02-01,,open
O-M45,Mid-market,18000,2026-02-01,,open
O-M46,Mid-market,18000,2026-02-01,,open
O-M47,Mid-market,18000,2026-02-01,,open
O-M48,Mid-market,18000,2026-02-01,,open
O-M49,Mid-market,18000,2026-02-01,,open
O-M50,Mid-market,18000,2026-02-01,,open
O-S1,SMB,6000,2026-02-20,,open
O-S2,SMB,6000,2026-02-20,,open
O-S3,SMB,6000,2026-02-20,,open
O-S4,SMB,6000,2026-02-20,,open
O-S5,SMB,6000,2026-02-20,,open
O-S6,SMB,6000,2026-02-20,,open
O-S7,SMB,6000,2026-02-20,,open
O-S8,SMB,6000,2026-02-20,,open
O-S9,SMB,6000,2026-02-20,,open
O-S10,SMB,6000,2026-02-20,,open
O-S11,SMB,6000,2026-02-20,,open
O-S12,SMB,6000,2026-02-20,,open
O-S13,SMB,6000,2026-02-20,,open
O-S14,SMB,6000,2026-02-20,,open
O-S15,SMB,6000,2026-02-20,,open
O-S16,SMB,6000,2026-02-20,,open
O-S17,SMB,6000,2026-02-20,,open
O-S18,SMB,6000,2026-02-20,,open
O-S19,SMB,6000,2026-02-20,,open
O-S20,SMB,6000,2026-02-20,,open
O-S21,SMB,6000,2026-02-20,,open
O-S22,SMB,6000,2026-02-20,,open
O-S23,SMB,6000,2026-02-20,,open
O-S24,SMB,6000,2026-02-20,,open
O-S25,SMB,6000,2026-02-20,,open
O-S26,SMB,6000,2026-02-20,,open
O-S27,SMB,6000,2026-02-20,,open
O-S28,SMB,6000,2026-02-20,,open
O-S29,SMB,6000,2026-02-20,,open
O-S30,SMB,6000,2026-02-20,,open
O-S31,SMB,6000,2026-02-20,,open
O-S32,SMB,6000,2026-02-20,,open
O-S33,SMB,6000,2026-02-20,,open
O-S34,SMB,6000,2026-02-20,,open
O-S35,SMB,6000,2026-02-20,,open
O-S36,SMB,6000,2026-02-20,,open
O-S37,SMB,6000,2026-02-20,,open
O-S38,SMB,6000,2026-02-20,,open
O-S39,SMB,6000,2026-02-20,,open
O-S40,SMB,6000,2026-02-20,,open
O-E1,Enterprise,50000,2026-01-15,,open
B-01,Enterprise,80000,2025-01-01,2025-04-01,won
B-02,SMB,,2026-02-01,,open
B-03,Mid-market,18000,2026-02-01,,stalled
```

## Source

- Playbook: https://gtmplaybooks.io/playbooks/pipeline-velocity-by-segment/
- Prompt only: https://gtmplaybooks.io/skills/pipeline-velocity-by-segment/prompt.md
- Example data (fictional): https://gtmplaybooks.io/skills/pipeline-velocity-by-segment/example-data.csv
