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

  1. 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?
  2. 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.
  3. 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?
  4. 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.
  5. 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.