← All articles

GTM Operations

Your $14.4M Capacity Plan Is Really $5.1M

Twelve reps times $1.2M quota is a ceiling nobody hits. Ramp, timing, attainment, and attrition cut it to $5.1M. Here is the five-step build that turns the ramp assumption into a query against your own quota data.

· 11 min read

A $14.4M plan delivers $8M and everyone acts surprised. Finance built it the way capacity plans always get built: 12 new reps, each carrying $1.2M, so $14.4M of new capacity, board approved. Then reality showed up. The reps hired late, ramped for two quarters at partial quota, and three of the twelve churned before producing a dollar. Nobody should have been surprised, because the plan multiplied headcount by full quota and skipped every driver in between.

For years the answer to a missed capacity plan was to blame the reps. Attainment came in soft, so the reps must be weak, so we coach harder and set quota higher next year. That gets it backwards. The reps did not miss a real plan; they were handed a ceiling wearing a capacity label. The most overlooked cause of a miss is not rep quality, it is a plan that assumed a team that does not exist yet and will not fully exist for two quarters after you hire it.

42.7%
Avg quota attainment, Q2 2025 (RepVue)
3-6 mo
Ramp to full productivity (Bridge Group)
$5.1M
Defensible capacity from a $14.4M plan

Watch what happens to that $14.4M once each driver goes to work on it. The naive ceiling is a dense field of dollars. Ramp, timing, attainment, and attrition each dissolve a share of it, and what survives is the number you can defend to the board. Step through it, then I will show you the math, the query against your own quota data, and the build order under each stage.

Same 12 reps, four honest cutsThe naive ceiling dissolves into defensible capacity
$14.4MNaive ceiling12 reps times $1.2M quota. $14.4M, board approved, and nobody hits it.

Capacity planning gets filed under Finance because it touches the headcount budget. That is the wrong owner. Finance knows what a rep costs. RevOps knows whether a rep can carry the number, because RevOps holds the ramp curves, the historical attainment, the attrition rate, and the per-rep-per-quarter quota data. The budget is a Finance question. The capacity is a RevOps question, and pretending otherwise is how you approve plans that were never going to work.

The plan is a product of drivers, not one multiplication

Reps times quota is not a capacity model. It is a ceiling nobody hits. The real model chains four drivers, and each one discounts the ceiling.

DriverWhat it capturesEffect on the ceiling
Headcount, timedwhen reps start selling, not the budget datefewer productive rep-quarters
Ramppartial quota during the ramp perioddiscount early quarters
Attainmenthistorical % of quota hitdiscount every quarter
Attritionreps who leave before producingremove capacity entirely

Run the same twelve reps through the drivers and the number moves a lot.

Naive plan:  12 reps x $1,200,000                    = $14,400,000

Driver-based:
  hiring lag  (avg start 5 weeks late)               -$1,100,000
  ramp        (2 quarters at 50% quota per new rep)  -$3,600,000
  attainment  (historical 82% of quota)              -$1,700,000
  attrition   (3 of 12 leave before producing)       -$2,900,000
  = defensible capacity                              = $5,100,000

The gap between $14.4M and $5.1M measures the four things the naive plan ignored, not pessimism. Those four cuts are the four dissolve stages above, in order: timing and ramp take the number to $9.7M, attainment to $8.0M, attrition to $5.1M. Finance cannot build this chain because Finance does not hold ramp curves or attainment history. RevOps does.

Notice the order the drivers hit in, because it changes the size of each discount. Ramp and attainment stack multiplicatively, not additively. A rep at 50 percent of quota during ramp who then hits 82 percent of quota when fully productive is not losing 18 percent and 50 percent as two separate subtractions. The ramp quarters are discounted first, then whatever production survives is discounted again by attainment. Model those as two independent haircuts on the same base and you will overstate capacity, because you double-counted the healthy quarters. The chain matters, and getting it right is exactly what a headcount spreadsheet built by cost center never does.

Watch the ceiling fall driver by driver. Each bar is what survives after applying the next discount:

The naive ceiling, discounted driver by driver
Each bar is capacity remaining after applying the next driver. The plan does not lose money at the end, it loses it at every step the multiplication skipped.
View as table
ItemValue
Naive (12 × $1.2M)14.4M
After hiring lag13.3M
After ramp9.7M
After attainment8M
After attrition5.1M

The ramp data already exists, and it is per rep per quarter

The reason this usually stays a Finance spreadsheet is a belief that the ramp and attainment inputs are guesses. They are not. In our org the quota object holds a row per rep per quarter, flagged for whether it is a ramp quarter, with the attainment percent stored raw. That is the whole driver model sitting in a table nobody queries for planning.

A ramp quarter carries a lower quota by design, and the flag tells you which quarters those are. So instead of assuming “50 percent for two quarters” you can pull the actual ramped quota for every rep who has ramped in the last two years and see the real curve: quarter one attainment, quarter two, quarter three, when they cross into full productivity. Pull it straight from the quota object:

SELECT Owner.Name, Fiscal_Quarter__c, Is_Ramp_Quarter__c,
       Quota_Amount__c, Attainment_Pct__c
FROM Quota__c
WHERE Fiscal_Year__c = 'FY2026'
ORDER BY Owner.Name, Fiscal_Quarter__c

Group the ramp quarters by rep tenure and you get the real ramp curve for your org: how attainment climbs from the first quarter a rep carries a bag to the quarter they hit full productivity. The raw attainment percent gives you the discount to apply to fully-ramped reps too. The model stops being assumptions and becomes a query.

The curve almost never matches the assumption in the plan, and the direction of the error is predictable. Plans tend to assume reps ramp faster than they do, because the person writing the plan is optimistic about hiring quality and onboarding. The real curve, pulled from your own quota history, usually shows a slower climb: a first quarter closer to 25 percent than 50 percent, a second quarter that has not caught up, and full productivity landing in the third or fourth quarter rather than the second. That one correction, replacing the assumed curve with the measured one, is often the single largest swing between the naive plan and the defensible one. It is also the least arguable, because it is your own reps’ history, not a benchmark from someone else’s business.

Attainment is the driver people most want to wave away, and it is the one with the hardest number attached. Across reps, average quota attainment ran 42.7 percent in Q2 2025 (RepVue). That is not a broken-team number; it is the category. Quota is set as a stretch, most reps land under it, and a handful of overperformers pull the average up while the median sits lower. If your capacity model assumes reps hit 100 percent of quota, you assumed away more than half the gap between plan and actual before accounting for ramp or attrition.

The output is a hiring plan with a delivery curve

The point of doing this is not a smaller number to depress the board. It is a plan that says when the capacity lands, so hiring can be timed to hit the number instead of hitting the headcount budget.

Timing is the deliverable A Q3 hire does not carry full weight until Q1 next year
Q3 hireQ4 rampQ1 rampQ2 full0%50%50%100%
Two ramp quarters mean back-half production cannot be built with back-half hires. The delivery curve, not the annual total, is what tells you to pull hiring forward.

This timing effect is where the driver model changes a decision rather than a number. A board that sees only the annual total approves twelve hires and assumes the money shows up inside the year. The delivery curve says otherwise: hire in the back half and most of the production lands in the following fiscal year, after two ramp quarters have burned. If the plan needs the dollars this year, the model tells you to pull the hires forward by a quarter or two, which is a specific, fundable action, not a vague plea to hire faster.

If ramp is two quarters, a rep hired in Q3 does not carry full weight until Q1 of next year. So a plan that needs $14M of production in the back half cannot be built with back-half hires. The driver model surfaces that immediately: it shows the delivery curve, not only the annual total, and the delivery curve is what tells you to pull hiring forward or accept a lower number. That is a RevOps decision informed by RevOps data, handed to Finance to fund.

Here is how I build it: the five-step order

This is the model I stand up every planning cycle. Five steps, each one replacing an assumption in the naive plan with a number from your own system. Build it in order, because each step feeds the next.

The ramp-adjusted capacity build order
  1. 1

    1. Pull the real ramp curve

    Query the quota object for every ramp quarter in the last two years. Group by rep tenure. Plot attainment from first carrying quarter to full productivity. This replaces the "50% for two quarters" guess with your org actual curve.

  2. 2

    2. Time the headcount

    Use actual start dates, or the User.CreatedDate proxy disclosed as such. A rep does not start on the budget date. Convert the hiring plan into productive rep-quarters, not headcount.

  3. 3

    3. Apply the attainment discount

    Apply historical attainment (around 42.7% average per RepVue, higher for fully-ramped reps) to every quarter. Pull it from the raw attainment percent on the quota object, not a target.

  4. 4

    4. Remove attrition

    Remove the reps who statistically leave before producing. Use your own trailing attrition rate. This is capacity that never lands, not capacity that lands late.

  5. 5

    5. Output the delivery curve

    Output capacity by quarter, not one annual total. The curve is what tells Finance when to fund hiring so production lands when the plan needs it, instead of two quarters late.

Steps one through four are the four dissolve stages from the top of this piece, and they reconcile to the same numbers: the ramp curve and timing take $14.4M to $9.7M, the attainment discount to $8.0M, the attrition line to $5.1M. Step five is the deliverable that a headcount total can never be, because it tells Finance not only how much but when.

The two plans, side by side

Finance headcount plan RevOps capacity model
Inputs Heads × full quota Timed heads, ramp, attainment, attrition
Ramp Ignored, full quota day one Real curve from the quota object
Output One annual total: $14.4M Delivery curve, defensible $5.1M
Hiring signal Hit the headcount budget Pull hires forward to land the number
Who can build it Finance, from the budget RevOps, from the CRM and quota data
Same twelve reps, same budget. One is a ceiling, one is a claim you can defend to the board.

Bring that curve to the next planning cycle and own the capacity number, because Finance cannot build it and the board is relying on someone who can. Capacity is the supply side of the same equation forecasting works on the demand side; for how attainment and coverage feed a number a CFO will sign, see the forecast you can defend, and for the ritual that keeps the CRM number and the board number equal month to month, see the forecast handshake.

capacity-planning quota finance

Keep reading

One email. Every week.

One email a week: an operating problem I solved or botched, with the model, the numbers, and what I would change. No roundups, no theory, unsubscribe whenever it stops being useful.

The newsletter opens soon.

Connect a provider in src/config.ts