Case Study 28-1 — The $210,000 That Was Really $40,000: An Autopsy of the Month-Nine Cost Report
All companies, people, and projects in this case study are illustrative composites.
Setup
The project. Northgate Outpatient Pavilion. 132,000 gross square feet, four stories, CM at Risk with a guaranteed maximum price. Original GMP $47,500,000, revised to $48,015,000 by nine approved owner change orders. Direct cost of work: original $40,000,000, current control budget $41,200,000 after $488,000 of owner changes and $712,000 of contingency transfers.
The data date. November 30, Year 1 — month nine of a nineteen-month job, 272 of 565 calendar days elapsed, 48 percent of the contract time gone.
The physical state of the building. Topped out November 12. Steel up, deck poured to level four, curtain wall in fabrication, precast starting. The entire interior — mechanical, electrical, drywall, ceilings, flooring, casework — barely begun.
The people. Ray Alvarez, project manager. Lorena Vasquez, project accountant. Wei Chen, project controls. Jamal Foster, self-perform concrete superintendent. Margo Deacon, general superintendent. Nadia Haddad, VP of Operations. Pri Sethi, owner's representative for Meridian Health System.
The report. Issued from the accounting system on the morning of December 3. Bottom right cell: $210,000 under budget.
What happens
The number on the screen
Every column in that report footed. Every invoice was coded correctly. Lorena's work was, as it always is, immaculate. And the report was useless, because the only column that required a human being to think had been filled in by a default.
Here is the report as issued, on the three lines that mattered, against the report as it should have read:
| Code | Description | Budget | Cost to date as issued | Forecast as issued | Variance as issued | Cost to date corrected | Forecast corrected | Variance corrected |
|---|---|---|---|---|---|---|---|---|
01-xxxx |
General requirements | 1,266,000 | 586,000 | 1,266,000 | 0 | 612,000 | 1,292,000 | (26,000) |
03-xx-L |
Concrete — self-perform labor | 1,242,000 | 1,296,000 | 1,242,000 | 0 | 1,296,000 | 1,432,000 | (190,000) |
22-xxxx-S |
Plumbing and medical gas | 2,218,000 | 414,000 | 2,218,000 | 0 | 448,000 | 2,252,000 | (34,000) |
Everything else on the twenty-two-line report was identical in both versions. The totals:
| As issued | Corrected | Difference | |
|---|---|---|---|
| Current control budget | 41,200,000 | 41,200,000 | — |
| Cost to date | 15,179,000 | 15,239,000 | 60,000 |
| Cost to complete | 25,811,000 | 26,001,000 | 190,000 |
| Forecast at completion | 40,990,000 | 41,240,000 | 250,000 |
| Variance | 210,000 favorable | (40,000) unfavorable | (250,000) |
| Percent complete, cost-to-cost | 37.0% | 37.0% | — |
Read that last row before anything else. The percent complete did not move. A quarter of a million dollars of concealed cost changed nothing about the single number most people use to sanity-check a report. That is how invisible this failure is.
Decomposition: where the $210,000 came from
Two hours with Lorena, four hundred cost codes on two screens. The $210,000 came apart into three pieces, and only the first two were on the page.
Piece one — $340,000 of genuine buyout savings. Six packages bought below the estimate:
| Code | Package | Budget | Committed | Saving | % complete | Work remaining |
|---|---|---|---|---|---|---|
08-xxxx-S |
Curtain wall, glazing, doors, hardware | 4,332,000 | 4,214,000 | 118,000 | 20% | 3,372,000 |
23-xxxx-S |
HVAC | 4,310,000 | 4,224,000 | 86,000 | 16% | 3,538,000 |
09-xxxx-S |
Finishes | 4,602,000 | 4,538,000 | 64,000 | 2% | 4,442,000 |
26-xxxx-S |
Electrical | 4,006,000 | 3,964,000 | 42,000 | 15% | 3,362,000 |
21-1000-S |
Fire suppression | 610,000 | 592,000 | 18,000 | 9% | 538,000 |
14-2000-S |
Conveying — 3 elevators | 720,000 | 708,000 | 12,000 | 20% | 566,000 |
| Total | 340,000 | 15,818,000 |
Piece two — $130,000 of buyout overruns, correctly shown. Four packages bought above budget: earthwork $46,000 (export haul), miscellaneous metals $38,000, masonry $22,000, site paving $24,000. Visible, forecast, no surprise.
$340,000 − $130,000 = $210,000.
That is the whole of the number on the screen, and here is what it means: the $210,000 was the net buyout variance and nothing else. It contained no information about production, no information about accruals, and no information about the $3,282,000 of scope nobody had bought yet. It was a report about procurement, presented in a place readers expect a report about the job.
Check that a second way, because a claim that clean deserves a second proof. Current budget $41,200,000
less committed $37,708,000 is $3,492,000. Of that, $1,662,000 is self-perform work that will never be
committed to anybody ($1,242,000 of concrete labor plus $420,000 of general trades), and $1,620,000 is
subcontract and purchase scope genuinely not yet bought. $3,492,000 − $1,662,000 − $1,620,000 =
$210,000. The same number falls out of the committed column. It was always a buyout number.
Piece three — $250,000 that was not on the report in any column.
The $190,000: four concrete codes nobody re-forecast
The report had been telling Ray this in the plainest language available, and he had scrolled past it.
| Code | Description | Cost to date | Forecast as issued | Implied cost to complete |
|---|---|---|---|---|
03-3100-L |
Spread footings | 478,000 | 412,000 | (66,000) |
03-3200-L |
Foundation walls and grade beams | 339,000 | 298,000 | (41,000) |
03-3300-L |
Slab on grade | 291,000 | 268,000 | (23,000) |
03-3500-L |
Elevated slabs — LW topping on deck | 188,000 | 264,000 | 76,000 |
| Total | 1,296,000 | 1,242,000 | (54,000) |
Negative $54,000 of work remaining on a package with two decks still to pour. Three lines each promising that a completed footing would somehow refund money. Nobody had gone back to a code marked "done," because a code marked done feels finished, and the forecast column had been left at budget on all four.
The correction on the first three codes is not a forecast at all. It is arithmetic. A code that is physically complete forecasts at its cost to date, full stop: $478,000, $339,000, $291,000. Total $1,108,000 against $978,000 of budget — $130,000 already spent, already lost, and not recoverable by any decision anyone could still make.
The fourth code was the only one still in play, and it is the one worth doing by hand:
Actual unit rate = cost to date ÷ quantity placed
= $188,000 ÷ 57,420 SF = $3.274/SF
Budget unit rate = $264,000 ÷ 99,000 SF = $2.667/SF
$3.274 ÷ $2.667 = 1.228 → 22.8% over
Quantity remaining = 99,000 − 57,420 = 41,580 SF
Cost to complete = 41,580 SF × $3.274/SF = $136,138 → carried at $136,000
Forecast = $188,000 + $136,000 = $324,000
Variance = $264,000 − $324,000 = ($60,000)
Four codes, $1,242,000 of budget, $1,432,000 forecast, $190,000 over — 15.3 percent. Of that, $130,000 was history and $60,000 was still in front of the crew.
Two numbers that collide. There is a $130,000 of buyout overruns (piece two) and a $130,000 of spent concrete labor (piece three). They are unrelated. Likewise the $60,000 of unaccrued work below and the $60,000 of remaining elevated-deck exposure above. On a real report this happens constantly. Read the labels, not the digits — that habit is most of what makes somebody good at this.
The $60,000: work performed, in no column at all
| Item | What happened | Type | Code | Amount |
|---|---|---|---|---|
| Cardinal Mechanical, directed relocation | 340 LF of overhead medical-gas and hydronic mains relocated Nov 20–26 after Kestrel's coordination sign-off missed a structural brace conflict. Directed verbally. No subcontract change, no invoice, no accrual. | 2 | 22-xxxx-S |
34,000 |
| Winter protection overrun | Temporary heat, hoarding, blankets, cold-weather admixture through November. Service tickets signed in the field; invoices arrive December 12; the code was already at its transferred budget. | 2 | 01-5100-O |
26,000 |
| Total performed, not invoiced, not in the report | 60,000 |
Both are Type 2 accruals — unrecorded commitments, not timing differences. That distinction decides what happens to the forecast. A Type 1 accrual raises cost to date and leaves the forecast where it was. A Type 2 raises both, dollar for dollar, because it is new cost that appeared out of a conversation rather than out of a budget.
Watch it work on the plumbing line. Forecast by the committed method:
Forecast = executed subcontract + executed changes + pending changes
= $2,218,000 + $0 + $34,000
= $2,252,000
Cost to complete = $2,252,000 − $448,000 = $1,804,000
Variance = $2,218,000 − $2,252,000 = ($34,000)
And on general requirements, where the forecast is a judgment: cost to complete stays at $680,000 because nothing about the remaining winter changed. Cost to date rises from $586,000 to $612,000 and the forecast rises with it, $1,266,000 to $1,292,000.
The bridge
| Component | Amount | Was it on the report? |
|---|---|---|
| Buyout savings, six packages | +340,000 | Yes |
| Buyout overruns, four packages | (130,000) | Yes |
| Net buyout variance — the number on the screen | +210,000 | |
| Self-perform concrete labor, never re-forecast | (190,000) | No |
| Work performed, not accrued | (60,000) | No |
| Honest variance | (40,000) |
What it did to the money
The cost-of-work report is not where a GMP is decided. Here is the same $250,000 walked up the ladder:
| Line | As issued | Corrected | Change |
|---|---|---|---|
| Direct cost of work, forecast | 40,990,000 | 41,240,000 | (250,000) |
| General conditions, forecast | 2,948,000 | 2,948,000 | — |
| Insurance and bonds | 907,000 | 907,000 | — |
| Subtotal before contingency | 44,845,000 | 45,095,000 | (250,000) |
| Budget for the same three lines | 45,007,000 | 45,007,000 | — |
| Projected contingency at completion | 770,000 | 520,000 | (250,000) |
| Meridian's share of savings @ 75% | 577,500 | 390,000 | (187,500) |
| Kestrel's share of savings @ 25% | 192,500 | 130,000 | (62,500) |
Two hours with a project accountant moved Kestrel's projected profit share by $62,500, moved Meridian's by $187,500, and — the part that actually mattered — moved the truth by $250,000 while there were still ten months left to do something about it.
Analysis
Why the report failed is not a software problem or a coding problem. Every actual was right. The failure lives in one column, and it has three named mechanisms.
1. The default. In most cost systems, a new code's forecast is seeded at the budget and stays there
until somebody changes it. Doing nothing therefore looks identical to forecasting at budget. There is
no visual difference between a considered judgment and an untouched field, which is precisely why the
Mtd method column exists: it forces the author to name a method, and "I left it alone" is not one of
the four.
2. A method that cannot deliver bad news. The field engineer forecast the elevated deck by carrying the budget and letting cost to complete be the plug. That method is not merely inaccurate — it is arithmetically incapable of producing an overrun. Any forecasting method whose output cannot be worse than its input is not a forecast.
3. "Done" is not "closed." Three of the four concrete codes were 100 percent complete and 100 percent ignored. A completed code is the easiest forecast on the entire report and the one most often skipped, because complete feels like finished and finished feels like it needs no attention.
Why the $210,000 was frightening rather than reassuring comes down to the shape of a building job. At month nine, 37 percent of the cost of work was complete against 48 percent of the contract time. The structure is expensive per day and cheap per dollar of the total; the interiors are the reverse. Every dollar of that $340,000 of buyout savings sat on top of $15,818,000 of work not yet performed — a cushion of 2.1 percent on the packages carrying it. A two-percent adverse move on the interiors erases the entire favorable variance, and interiors are where two-percent adverse moves live.
The contingency signal was already flashing. Contingency drawn was $712,000 of $1,320,000 — 54 percent — against 37 percent of the work complete. A 17-point gap. Every dollar was nameable (soils, dewatering, steel acceleration, an embed misplacement, rock in a trench, winter protection), which made it defensible. Defensible is not the same as comfortable, and the corrected report took projected remaining contingency from $770,000 to $520,000 with ten months of risk still ahead.
What Ray did in December
The autopsy is worthless without the month that follows it. Here is what actually changed:
| Date | Action | Owner |
|---|---|---|
| Dec 3 | Corrected report reissued with a Mtd column on every line. Any line forecast at budget must name a method and, if judgment, carry a written assumption. |
Ray / Lorena |
| Dec 4 | Called Pri Sethi and told her — in person, before the report went out — that Meridian's projected savings had dropped $187,500 and why. Open book means she was entitled to it, and hearing it from him rather than from a spreadsheet was the difference between a hard conversation and a bad one. | Ray |
| Dec 5 | Weekly labor loop started on every self-perform code: foreman-coded daily time cards, weekly quantity report, productivity factor computed Monday morning, any code over 5 percent investigated that week. | Wei Chen / Jamal |
| Dec 8 | Jamal changed exactly two things on the remaining decks: split each level's topping into two smaller placements instead of one large one, and assigned a dedicated three-person finishing crew instead of pulling finishers off the placing crew. Dated, written down, so next month could tell whether it worked. | Jamal |
| Dec 10 | Accrual log created. Monthly cut-off memo to every subcontractor and supplier by the 20th. Every accrual carries a source, a date, an amount, an initial, and an automatic reversal. | Lorena |
| Dec 12 | Cardinal's $34,000 written up as a documented internal change — Kestrel's cost, not Meridian's, because the coordination miss was Kestrel's. Pending-change log opened for everything else directed but unpriced. | Ray |
| Dec 15 | Unbought-scope list published with buyout dates: $1,620,000 of subcontract and purchase scope still uncommitted, of which specialties and equipment is $568,000 and communications, security, and nurse call is $460,000. | Ray |
| Dec 18 | Contingency drawdown against percent complete added to the monthly report permanently, and to Nadia's page. | Wei Chen |
Did the field fix work? Partly. The last three decks ran near $2.90 per square foot against the $3.27 that had been running:
Cost to complete at $2.90/SF = 41,580 SF × $2.90 = $120,582
Forecast at completion = $188,000 + $120,582 = $308,582 → about $309,000
Recovery against the $324,000 forecast ≈ $15,000
A $15,000 recovery on a $60,000 problem. Under the savings split that $15,000 is worth $3,750 to Kestrel and $11,250 to Meridian. And that ratio — a quarter of the still-manageable exposure, recovered by a competent superintendent making two sensible changes — is the real lesson of the case. By the time a productivity overrun is visible enough to be certain of, most of the damage is behind you. The money is made by people who act on a soft signal early, not by people who act on a hard signal late.
Discussion questions
- The $210,000 turned out to be the net buyout variance and nothing else. Design a single line that could have been added to the report summary to make that fact visible on the first page. What would you call it, what would it contain, and where would you put it?
- Three of the four concrete codes carried a negative implied cost to complete. Should a cost system be permitted to display a negative cost to complete, or should it block the entry? Argue both sides, then say what you would actually configure and why.
- The Cardinal relocation was Kestrel's coordination miss, so its $34,000 is Kestrel's cost rather than Meridian's. Under an open-book GMP with an owner audit right, what is the argument for accruing it immediately and visibly? What would happen to Kestrel's credibility if an auditor found it later, uncharged, in a general code?
- At month nine the $340,000 of buyout savings sat on $15,818,000 of unperformed work. Write the two sentences you would put in the variance narrative to describe that exposure honestly, without sounding like you are apologizing for having bought the job well.
- Ray called Pri Sethi before the report went out. What does he gain by doing that, what does he risk, and would your answer change on a lump-sum contract where the owner has no audit right and no share of the savings?
Your turn
Take the corrected month-nine Northgate report in §28.4 and produce a one-page exception report for Nadia Haddad — the only page she reads.
It must contain, and nothing else:
- Every code whose forecast changed since the prior month, the amount, and the reason in fewer than fifteen words each.
- Every code where budget minus committed exceeds $250,000, with the scheduled buyout date.
- Contingency drawn as a percentage, against percent complete, with the gap stated in points.
- The two self-perform productivity factors, and what changed in the production system this month.
- One sentence naming the single largest thing that could still go wrong, and whether it is in the forecast.
Hold it to one page. The discipline of fitting it on one page is the exercise: it forces you to decide what a project executive actually needs to make a decision, which is a different list from what you happen to know.