Testing a 3% labor escalation assumption against twenty years of wage data

A cost model for a five-year federal services contract, priced in each of 17 bid years from 2005 to 2021 and settled against the wage growth that followed. The 3% assumption ran high in twelve of those years and low in five. The 2021 bid kept 53% of the profit it was priced to earn.

Escalation from the BLS Employment Cost Index. Travel from GSA per diem. Contract size from USAspending. Direct labor rates, indirect rates and fee are my assumptions, and the analysis tests how far the answer moves when they change. · Source and method

2021
Worst bid year for the assumption
+3.08 pp of margin
53%
Of the profit it was priced to earn
$653,398 against $1,235,992
5 of 17
Bid years where 3% was too low
in the other twelve it was too high
[-2.18, +2.63]
95% interval on a bid placed today
centred -0.32 pp

The assumption and the truth

Each point is the compound labor escalation over the five years after a bid, against the flat 3% the bid assumed. The assumption ran high through 2016 and low from 2017 on.

What it cost

The price is fixed at bid, the cost is not. Red years are where wage growth outran the assumption and the difference came out of profit. Blue years are the reverse: margin protected, but the bid priced above what the work needed, which costs the award.

In dollars

The same result in dollars. The contract is sized at $18.9M over five years, from the USAspending award data.

The alternatives

Down is better on the vertical axis, left is better on the horizontal, and no strategy manages both. Perfect hindsight is not available at bid time. The trailing three-year index is, and it prices lower than 3% but gives up margin and has the worst single year here.

A bid placed today

A high-escalation year is usually followed by another one. Resampling individual years breaks that pattern and narrows the interval by about a quarter, which makes the bid look safer than it is. Consecutive blocks keep it.

What actually drives the risk

Escalation is not the largest source of spread in realized margin. It is the only one here a contractor cannot get from its own accounting system: fringe, overhead, G&A and direct rates are estimated internally and corrected later against actual costs. Escalation is a forecast of an outside index.

How much of that is the assumptions talking

The ranking above depends on how much uncertainty I assumed for the internal rates. Halving it moves escalation from third to first. The result is a range, not a rank.

What should the bid carry, then

Probability of winning multiplied by expected profit, against the escalation written into the bid. The curve is nearly flat across any rate a pricer would plausibly choose, so 3% is not a bad average choice.

And what that flat curve hides

Expected value barely moves. The downside does. The same 3% bid wins at the same rate in every regime, but in the hottest third of outcomes the bad case is a loss.

The model underneath

The cost build-up the analysis runs on, in the order FAR 15.408 Table 15-2 asks for. Direct labor is the base everything else applies to, so an escalation error on labor carries through fringe, overhead and G&A before it reaches the price.

Does this depend on the made-up numbers

The direct labor rates here are my assumption, because real ones are proprietary. Scaling every rate by ±20% moves the headline by less than a tenth of a percentage point. The finding is about how rates escalate, not what they are.