Headcount Forecasting: Why Approved Hires Keep Breaking the Plan
The hiring plan says 14 open roles.
The forecast says 14 open roles.
Everyone nods, because at least the numbers agree.
Then someone asks when those people are actually starting.
That is usually where the headcount forecast stops being a headcount forecast and reveals itself as a list of approved jobs with salaries attached.
I see this more often than I would expect. A company can have a fairly sophisticated revenue model, a detailed operating plan and a hiring sheet where every open role somehow begins on the first day of a month. Recruiting, apparently, has achieved industrial precision.
It has not.
Headcount forecasting is mostly a timing problem disguised as a payroll calculation.
An approved role is not an employee
There are several dates hiding inside every planned hire.
The date management approves the role. The date recruiting opens it. The date an offer is accepted. The date the person starts. And the date that person is productive enough for whatever operating assumption justified the hire in the first place.
Those dates are not interchangeable.
If Sales gets approval for six account executives in January, Finance cannot quietly translate that into six January salaries and call the model conservative. Maybe two start in February, two in March, one in April and one role gets reconsidered after Q1 bookings come in light.
That difference changes payroll. It changes commissions. It changes recruiting fees, benefits and equipment. More importantly, it changes the operating capacity the business thought it was buying.
This is why I like driver-based forecasting for headcount. The useful driver is rarely “number of approved positions.” The useful drivers are the things that move people from an org chart into the P&L.
The cleanest headcount model starts with people, not departments
A departmental total is useful for reporting. It is not enough for forecasting.
I want to be able to see the people already employed and the positions that do not exist yet as two different populations.
For existing employees, the model should know enough to calculate the run rate: base compensation, payroll taxes, benefits or a benefits assumption, bonus or variable compensation where relevant, and any known changes in timing.
For open roles, I care about a different set of questions:
- What role is being hired?
- Who owns the hire?
- What compensation assumption are we using?
- What start date is in the forecast?
- How confident are we in that date?
- What business assumption depends on this person arriving?
That last question is where the model gets interesting.
A new engineer may be tied to a product milestone. A customer-success hire may be tied to customer volume. A salesperson may be tied to capacity in the revenue forecast.
If the headcount plan changes but those assumptions stay frozen, Finance has updated payroll and left the business plan untouched.
Vacancy is a forecast assumption
Suppose the annual plan includes 20 new hires at an average fully loaded cost of $120,000.
On paper, that looks like $2.4 million of annualized cost.
But the company is not going to hire 20 people at 12:01 a.m. on January 1.
If the average start date slips by 60 days, the current-year expense can move by hundreds of thousands of dollars without anybody “cutting” headcount. The organization chart still shows the same destination. The cash path to get there changed.
This is one reason a favorable payroll variance deserves a little suspicion.
Finance sees payroll under budget and it is tempting to put a green dot next to the line.
Maybe it is good news.
Or maybe the company is three months behind on hiring the people required to deliver the plan.
The accounting result is favorable. The operating result may not be.
That distinction is exactly why variance analysis should not stop at explaining the dollar difference.
I would rather forecast hiring friction than pretend it does not exist
Not every role deserves the same start-date assumption.
A position that is already at final interviews is different from a role that was approved yesterday. A common role with an active candidate pipeline is different from a specialized executive search. Ten planned hires in one function may be harder to absorb than one.
You do not need a recruiting science project inside the financial model. You do need some acknowledgment that hiring takes time.
One practical approach is to assign open roles a forecast status.
Committed: offer accepted or start date known.
Active: recruiting is underway and the expected start date has reasonable support.
Planned: approved in the operating plan but not yet actively recruiting.
Conditional: hiring depends on a trigger such as revenue, funding, customer volume or another operating milestone.
The labels are less important than the discipline. Finance should be able to explain why a start date is in the forecast.
“That is what the budget said” is technically an explanation. It is just not a very useful one.
Headcount should move when the business moves
The annual budget has a bad habit of turning hiring assumptions into historical artifacts.
A manager requested three analysts during planning. The roles were approved. Six months later, demand has changed, priorities have moved and one of those jobs is still sitting in the forecast because deleting it feels suspiciously like reopening the budget.
This is where a rolling forecast earns its keep.
The question each cycle is not whether the company is still “allowed” to hire the role.
The question is whether the current outlook still supports the timing and need.
That can work in both directions.
A stronger sales pipeline may justify pulling a customer-success hire forward. A delayed product launch may push an implementation hire back. A cash constraint may turn a planned role into a conditional one. An unexpected resignation may create a vacancy that needs to be separated from growth hiring.
The headcount model should be allowed to notice reality.
Separate replacement hiring from growth hiring
This is a small modeling choice that makes management conversations much better.
If a company plans to grow from 100 employees to 115, it is easy to assume there are 15 hires in the plan.
Then 12 people leave during the year.
Now recruiting may need to make 27 hires just to end at 115.
Those are very different workloads, and they tell management different things.
Replacement hiring preserves existing capacity. Growth hiring adds capacity. Backfills may have different compensation than the people who left. Some positions may not be replaced at all.
Net headcount alone hides most of this.
I like seeing beginning headcount, planned additions, expected attrition or known departures, replacements, deliberate eliminations and ending headcount separately. It makes the bridge understandable without turning the model into an HR database.
The model needs an owner outside Finance
Finance can calculate the cost. Finance should challenge timing. Finance can reconcile actual employees to payroll and keep the forecast honest.
But Finance should not be inventing hiring dates alone.
Managers know whether the role is still needed. Recruiting knows whether a candidate pipeline exists. HR knows compensation, start dates and departures. Finance knows what those changes do to the plan.
The headcount forecast gets better when those facts meet in one place.
It gets worse when Finance sends a spreadsheet around once a quarter asking everyone to “please update your rows by Friday.”
That process usually produces a remarkable number of Friday afternoon start dates.
What I want the CFO to be able to see
A good headcount forecast does not need to be beautiful.
It needs to answer a few questions without a forensic investigation.
How many people do we have now? How many are we actually expecting to add? Which hires moved since the last forecast? What did that do to payroll and cash? Which operating assumptions changed because the hiring timing changed?
And one more:
Are we under budget because we became more efficient, or because we failed to hire the people the plan assumed would be here?
Those two stories can produce the same favorable variance.
Only one of them deserves the green dot.
Fully loaded cost matters, but I would not make it theatrical
Salary is usually the largest number in the row, so it gets most of the attention.
It is not the whole cost.
Payroll taxes, benefits, bonus or commission, recruiting fees, equipment, software and sometimes travel or training can matter.
I do not need a 19-variable burden model for every employee. I do want a reasonable fully loaded assumption that reflects how the company actually spends money.
This matters especially when leadership says, “We are adding ten people at $100,000 each, so that is a million dollars.”
Maybe.
Probably not.
And if several of those people are revenue-producing roles, the more important question may be when they become productive enough for the revenue model to expect something from them.
Start dates should have confidence levels
A date in a spreadsheet has a dangerous amount of authority.
March 15 looks like a fact even when it means “Recruiting thinks maybe sometime in March.”
I like adding some indication of confidence to material open roles.
An accepted offer is high confidence. A candidate in final interviews is different. A role not yet posted is different again.
Finance can use that information without turning the model into probability soup.
Maybe committed hires use the known start date. Active roles use recruiting’s current expectation. Planned roles use a realistic hiring-lag assumption. Conditional roles stay out of the base case until the trigger is met, or appear clearly as a scenario.
The point is to stop presenting every planned start date as equally real.
Hiring lag should come from evidence when possible
If the company has enough history, I like looking at actual time-to-fill by role type or function.
Not because last year dictates next year.
Because it is useful to know whether the organization typically fills engineers in 35 days or 110.
If the budget assumes 30 and reality has averaged 92 for two years, I have questions.
Recruiting conditions can change. Compensation can change. The company can improve its process.
Fine.
Then tell me what changed enough to justify the new assumption.
Forecasting should be allowed to be optimistic when the business has evidence for optimism.
Hope by itself is a weaker driver.
Attrition is not one number either
A blanket attrition percentage can be useful for long-range planning.
For the near-term forecast, known departures matter more.
If Finance knows someone is leaving, model the departure. If a role will be backfilled, model the expected vacancy period and replacement cost. If management plans not to replace it, remove the capacity assumption too.
For larger organizations, a reasonable attrition assumption may still be useful for unplanned turnover.
I just do not want it double-counted on top of known departures.
Headcount models can become surprisingly good at losing the same imaginary employee twice.
Sales hiring is where timing becomes revenue
A salesperson does not usually start Monday and produce a full quota Tuesday.
There is recruiting time, start timing, onboarding, ramp and then the actual sales cycle.
If the revenue forecast assumes new rep capacity, the headcount model and revenue model need to agree on that sequence.
This is one of the clearest examples of why I do not treat headcount as an expense-only forecast.
Move a sales hiring class by two months and payroll moves.
So does selling capacity.
If Finance updates one without the other, the model can accidentally improve EBITDA by delaying the very people expected to produce the revenue.
That is a nice spreadsheet result and a strange business plan.
Engineering and operations have their own capacity consequences
The same logic applies outside Sales, even when the output is harder to quantify.
Delay engineers and a product milestone may move. Delay implementation hires and backlog may build. Delay customer-success hiring and service levels may change. Delay warehouse labor and throughput can become constrained.
I do not need every employee linked to a revenue formula.
I do want material workforce assumptions connected to the operating plan they support.
Otherwise the headcount forecast becomes a cost-control tool when management actually needs a capacity plan.
Headcount freezes need precise language
“Hiring freeze” sounds clear until you ask three departments what it means.
Does it stop growth roles? Backfills? Offers already out? Critical positions? Contractors? Promotions?
The financial forecast needs the actual policy.
A freeze that eliminates 20 planned growth roles is different from one that delays them a quarter. A freeze that still permits backfills will produce different ending headcount than one that does not.
I like translating the management decision into explicit role statuses and dates as quickly as possible.
Otherwise “freeze” becomes another assumption everyone interprets differently.
Contractors belong in the workforce conversation
Companies can reduce employee headcount while increasing labor cost if work shifts to contractors.
That is not necessarily bad.
It may be exactly the flexibility management wants.
But if the headcount forecast celebrates fewer employees while professional-services expense quietly absorbs the work, Finance has only moved the labor to another line.
For material contractor populations, I like seeing them alongside the workforce plan even if Accounting classifies the spend elsewhere.
Management should understand total capacity and total cost, not only W-2 headcount.
Forecast-to-forecast headcount bridges are incredibly useful
If payroll moved $700,000 since last month, I want to know why.
Three hires slipped. Two offers were accepted earlier. Four roles were removed. Compensation changed on a replacement hire. Attrition created a temporary vacancy.
That bridge is much more useful than “headcount favorable.”
It tells management what changed in the workforce plan.
It also makes the forecast easier to challenge because each movement has an operating reason.
This is the same discipline I want in the rest of FP&A: preserve what changed, not just the newest answer.
The headcount forecast should reconcile to something real
I want a regular reconciliation between the forecast roster, HR system and payroll actuals.
It does not have to become a monthly census conducted by candlelight.
But ghost vacancies, terminated employees, duplicate positions and compensation mismatches have a way of surviving when systems drift apart.
Headcount is too material in most companies to let three sources quietly disagree.
The model does not need to be the HR system.
It needs to reconcile to the system that knows who actually works here.
What a good monthly headcount review sounds like
I do not want the meeting to be 200 names read aloud.
I want the changes.
Which material hires moved? Which roles were added or removed? What known departures appeared? Where is recruiting materially behind the operating plan? What changed in payroll? What capacity assumption changed with it?
That can be a focused conversation.
The detailed roster sits underneath it if someone needs to investigate.
The management view should explain the movement.
Headcount is where Finance can confuse savings with slippage
This is the reason I care about the subject so much.
Payroll under plan feels good.
Sometimes it is good.
Maybe management found a more efficient way to operate. Maybe a role was genuinely unnecessary. Maybe automation reduced the need.
But sometimes the company simply failed to hire.
If the missing people were supposed to build product, sell revenue, serve customers or increase capacity, the favorable expense variance may be borrowing trouble from a later month.
I want the forecast to make that distinction visible.
Headcount is not just one of the biggest expense lines.
It is often the operating plan translated into people.
That deserves more than approved roles multiplied by salary.









Hiring dates may be one of the most confidently wrong assumptions in a forecast. How does your team handle approved roles that keep slipping?