Blog » Metric Design
Payroll Variance Analysis: Count FTE-Months, Not Heads
· 12 min read
Payroll variance analysis: headcount fell by two, no band's pay changed, and payroll still rose 120,000 dollars on the same 240 FTE-months.
Headcount Fell, Nobody Got a Raise, Payroll Rose 120,000 Dollars
Payroll variance analysis usually breaks at the node everyone trusts, and that node is headcount. The count is correct on the day it is taken, and it is a snapshot of people, while payroll is a flow of months.
Take one engineering organization, four pay bands, two quarters. Monthly fully loaded cost per person was 6,000 dollars for an associate, 9,000 for a senior, 13,000 for a lead and 20,000 for a principal, and no band's rate changed.
In the first quarter everybody present worked all three months: 40 associates, 25 seniors, 10 leads and 5 principals. That is 240 FTE-months and 2,085,000 dollars.
In the second quarter 28 associates worked all three months, 8 more left at the end of month two, 25 seniors stayed, 5 seniors joined in month three, 5 leads joined on day one for a total of 15, and the 5 principals worked throughout.
Closing headcount fell from 80 to 78. FTE-months came in at 240 again. Payroll rose to 2,205,000 dollars, up 120,000 or 5.76 percent.
Nothing there is a rounding artifact. Nobody received a raise, two fewer people were employed on the last day, and payroll rose by more than a senior engineer costs for a year.
What Is Payroll Variance Analysis in a KPI Tree?
Payroll variance analysis in a KPI tree decomposes a change in labor cost into the summable quantities that produce it: FTE-months of presence by pay band, fully loaded cost per FTE-month, and payroll dollars. Rates are derived at each node by dividing two of those columns. No row stores an average salary, because averages do not aggregate.
An FTE-month is one person present for one month, and a person present for part of a month counts as the fraction they were there. The Internal Revenue Service requires employers to average full-time and full-time equivalent employees month by month across a year rather than count them once, precisely because a count taken on one date misstates the year.¹
The cost side needs the same discipline. Compensation is not salary. The Bureau of Labor Statistics put total compensation for private industry workers at 46.89 dollars per hour worked in June 2026, a figure that includes benefits and payroll taxes rather than wages alone.² A tree priced on base salary understates every band, and understates them unevenly.
Two properties decide what belongs in the tree. FTE-months survive addition: four bands sum to the organization. Average cost per head does not, because dividing before summing discards the months that made each person cost what they cost.
Planning practice already runs on drivers rather than totals, which the Association for Financial Professionals documents in its driver-based modeling guidance⁴ and tracks in its 2026 benchmarking survey.⁵ Neither settles which labor column the tree holds.
FTE-Months Are the Spine of the Tree
Three columns carry a payroll tree, and all three are additive. Every rate in the tree is derived from them.
FTE-months are additive. The second quarter's 100 associate months, 80 senior months, 45 lead months and 15 principal months sum to 240, the same total the first quarter produced from a different mix.
Payroll dollars are additive. 600,000 plus 720,000 plus 585,000 plus 300,000 gives the second quarter's 2,205,000. 720,000 plus 675,000 plus 390,000 plus 300,000 gives the first quarter's 2,085,000.
Closing headcount is additive across bands and carries different information. It answers how many people are employed on a date. It does not price a quarter.
Cost per FTE-month is the quotient of the first two. 2,085,000 over 240 is 8,687.50 dollars. 2,205,000 over 240 is 9,187.50. Both are computed at the level being read, from columns summed to that level, which is why neither can disagree with the bands underneath it.
Standard costing has split labor variances this way for decades, into a rate component and an efficiency component: hold one factor, move the other, and the parts must reconcile to the total.⁶
Why Did Average Cost per Head Rise With No Raises?
Because the mix of people changed and the denominator did not follow it. Twenty FTE-months left the 6,000 dollar band, 15 arrived in the 13,000 dollar band and 5 in the 9,000 dollar band. Average cost per head rose 8.47 percent, from 26,062.50 to 28,269.23 dollars, while every band's monthly rate stayed frozen.
Run the bridge in FTE-months, because months are what the dollars are paid for.
Price each band's change in months at that band's unchanged rate. Associates lost 20 FTE-months at 6,000 dollars, which returns 120,000. Seniors gained 5 at 9,000, which adds 45,000. Leads gained 15 at 13,000, which adds 195,000. Principals were flat. The four sum to 120,000 dollars with nothing left over.
That is a pure mix move. The volume term is zero, because 240 FTE-months were worked in both quarters. The rate term is zero, because no band's rate changed.
Average cost per head cannot express any of that. It moved 2,206.73 dollars, blending two unrelated effects: a shift toward expensive bands, and eight associates present for two thirds of the quarter who count as zero heads on the closing date.
Average cost per FTE-month is honest about the first effect and silent on the second. It rose exactly 500.00 dollars, 5.76 percent, the same rate as payroll itself. The same confusion between a weighted and an unweighted rate sits under utilization and realization in a services firm.
Two fewer people were employed on the last day, every band's monthly cost was frozen, and payroll rose 120,000 dollars. A tree that stores headcount and average cost per head reports both facts and can account for neither.
| Measure | What it divides | Q1 | Q2 | What it misses |
|---|---|---|---|---|
| Closing headcount | People employed on the last day, no denominator | 80 | 78 | Everyone present for part of the quarter |
| FTE-months | Months of presence summed over people, no denominator | 240 | 240 | What a month of presence costs, which differs by band |
| Average cost per head | Payroll over closing headcount | 26,062.50 | 28,269.23 | Mix and timing at once, so it moves when neither pay nor people do |
| Average cost per FTE-month | Payroll over summed FTE-months | 8,687.50 | 9,187.50 | Which band the months moved to, so a reorganization reads as a pay change |
| Payroll cost, dollars | Summed FTE-months priced per band | 2,085,000 | 2,205,000 | Nothing in the quarter, which is why it belongs at the root |
How Do You Count a Joiner Who Starts Mid-Quarter?
By the months they were present, not by one at the close. Five seniors who started in month three contributed 5 FTE-months, not 15. At 9,000 dollars a month that is 45,000 dollars of real cost against the 135,000 a headcount-based plan would have charged. The 90,000 dollar gap is timing, and it recurs every quarter hiring is uneven.
Timing cuts both ways, and both directions are large.
The eight associates who left at the end of month two are the mirror image. They were off the closing headcount entirely, and they still cost 16 FTE-months at 6,000 dollars, or 96,000 dollars. A tree built on closing heads charges nothing for them.
Take the two together and the quarter carried 21 FTE-months, 141,000 dollars, from people the closing count either ignores or overstates. That is 6.4 percent of the payroll line, invisible to every figure a headcount report produces.
Hires and separations do not wait for quarter boundaries. The Bureau of Labor Statistics measures both as continuous monthly flows in its Job Openings and Labor Turnover Survey rather than as changes in a point-in-time stock.⁷ A tree that counts stock inherits an error that scales with hiring and attrition.
The fix is mechanical. Store FTE-months in the file, computed from start and end dates, with part months carried as fractions. Headcount can still be displayed beside them, and nothing in the tree should be priced from it.
The Three-Term Bridge When Rates Do Move
Freeze two factors and the bridge has one term. Let all three move and it has three, and they still have to sum.
Carry the same organization into a third quarter. A merit increase of 3.3 percent lands on every band, which is the rate the Employment Cost Index reported for private industry compensation costs over the year ended June 2026.³ Associates go to 6,198 dollars a month, seniors to 9,297, leads to 13,429 and principals to 20,660. FTE-months come in at 98, 82, 53 and 15, or 248 in total. Payroll reaches 2,391,395 dollars, up 186,395 on the quarter.
- Volume term. Eight more FTE-months at the prior quarter's average rate of 9,187.50 dollars gives 73,500.
- Mix term. Reprice the new months at the old band rates, which gives 2,315,000 dollars, and subtract what 248 months at the old average rate would have cost, 2,278,500. The difference is 36,500.
- Rate term. Apply each band's increase to its own months: 98 at 198 dollars, 82 at 297, 53 at 429 and 15 at 660. The subtotal is 76,395.
The three sum to 186,395 dollars exactly. A single blended rate reports one number and attributes none of it.
Should a Payroll Tree Store Headcount at All?
Yes, as a display column, never as the denominator of a cost rate. Headcount answers seat count, span of control and severance exposure, all real questions about a date. It cannot be rolled up over a quarter, so any cost node computed from it is a label rather than a result. Price the tree in FTE-months and show heads beside them.
Three structural problems follow from one cause.
It cannot be rolled up over time. Eighty heads in January and 78 in March do not sum to anything, and no arithmetic turns a sequence of snapshots into the quantity payroll was paid for. A quarterly cost per head has no stable definition.
It is ambiguous at the boundary. Closing headcount, opening headcount and the average of the two give three different denominators and three different cost rates on the same payroll line. In the worked second quarter they give 28,269.23, 27,562.50 and 27,911.39 dollars. All three are defensible and none is a result.
It hides part-period people. The eight associates who worked two thirds of the quarter appear in no version of the count, and they cost 96,000 dollars.
FTE-months carry none of the three. They are one additive column, defined the same way in every period, and the rate built on them recomputes at every level of the tree. The same test closes on any tree that stores a rate instead of its parts.
Four Tests Before You Trust a Payroll Tree
- Additivity test. The sum of band FTE-months must equal the organization's FTE-months in every period, and the sum of band payroll must equal the ledger line, before any rate is displayed. A tree that stores average salary cannot run this test.
- Recomputation test. Regroup from band to department to region and confirm each cost rate recomputes as summed payroll over summed FTE-months. If a department figure equals the simple average of its bands, the tree is averaging salaries and every parent above it is wrong. The same trap closes on a tree built in a spreadsheet.
- Timing test. Compare closing headcount times the months in the period against FTE-months. The worked second quarter gives 234 against 240. A gap in either direction is part-period people, and the wider it is the less a headcount-based plan is worth.
- Constant-mix test. Recompute the current quarter's cost per FTE-month on the prior quarter's band weights. The gap between that figure and the reported one is the mix term. In the worked quarter it is the entire move, and no change in pay policy would have touched it.
Where a Payroll Tree Is the Wrong Instrument
Four situations defeat this decomposition.
Non-linear accruals. Annual bonus, equity vesting and employer pension matching do not accrue evenly across months, so charging them at one twelfth per FTE-month puts cost in the wrong period. Hold them in their own column, or exclude them and say so at the root.
New bands. A band created this quarter has no prior weight, so the mix term absorbs its whole cost and reports a change that is really an addition. Restate both periods on the bands present in both.
Contractors. Payroll is not labor cost. An organization that replaces 10 FTE-months with an agency invoice shows a payroll improvement and no change in what the work costs. Bring contractor spend into the tree in FTE-month equivalents, or it rewards relabeling.
Market questions. The tree prices what the organization paid. Whether 13,000 dollars a month is the right rate for a lead is a benchmarking question answered from survey data outside the file. Cause attribution sits outside it too, the same boundary that separates a plan model from a driver tree.
Building the Tree in kpitree.io
kpitree.io builds this decomposition from one uploaded CSV. The file needs one row per pay band per period and three summable columns: FTE-months, payroll cost in dollars, and closing headcount for display.
Inside the tree, parent to child relationships are addition and subtraction, which is what lets four band FTE-month figures produce the organization's 240 as a real identity rather than a layout convention. Cost per FTE-month is a derived node dividing two summed columns at the level being read: payroll over FTE-months. Regroup band to department to region and it recomputes from the parts each time, because no row holds an average salary.
Payroll dollars are the node worth putting at the root. They are additive, they match the ledger line a finance review already argues about, and they rank bands by what a decision is worth rather than by how many people it touches.
The smallest useful version is two quarters, the four or five pay bands already in the compensation file, and FTE-months computed from start and end dates.
Frequently Asked Questions
What is the difference between headcount and FTE-months? Headcount counts people on a date. FTE-months count months of presence across a period, so someone who joined in month three adds one month, not three. Only the second reconciles to the ledger.
Can payroll variance analysis be done on average salary? Not reliably. Average salary is an average of ratios across people of different band and tenure, so it moves when the mix moves and holds still when pay moves in offsetting directions.
Why did average cost per head rise when nobody got a raise? Because 20 FTE-months moved out of the 6,000 dollar band and 15 into the 13,000 dollar band, and because eight part-quarter leavers dropped off the denominator while their cost stayed in the numerator.
Should benefits and payroll taxes be in the tree? Yes. Wages alone understate every band, and the Bureau of Labor Statistics measured total compensation at 46.89 dollars per hour worked for private industry workers in June 2026 for that reason.²
Closing: Store FTE-Months, Not Heads
Headcount and average cost per head are the two figures a payroll review reads, and neither can explain itself. One is a snapshot of people on a date, the other divides a flow by that snapshot, and both moved in a quarter where nobody received a raise.
Store three summable columns per band per period: FTE-months, payroll dollars and closing headcount. Derive every cost rate by dividing the first two at the level being read. Bridge any move into a volume term, a mix term and a rate term, and check that the three sum to the reported change with nothing left over.
Done that way, a quarter where two fewer people were employed and payroll rose 120,000 dollars stops being a contradiction. It becomes 20 months of associate time replaced by 15 of lead time and 5 of senior time, at rates that never moved, next to 21 months of part-quarter presence the headcount report was never going to show.
Upload one CSV with two quarters, your pay bands, FTE-months and payroll cost, and decompose your own payroll move in kpitree.io.
Sources
- Averaging Full-time and Full-time Equivalent Employees and Why it Matters
- Compensation costs for private industry workers averaged $46.89 per hour worked in June 2026
- Compensation costs for private industry workers up 3.3 percent over the year ended June 2026
- Driver-Based Modeling: How to Build the Perfect Relationship
- 2026 AFP FP&A Benchmarking Survey Report: Integrated Planning
- Labor Rate Variance, Cost Variance Analysis/10%3A_Cost_Variance_Analysis/10.04%3A_Labor_Rate_Variance)
- Job Openings and Labor Turnover Survey news release