Chapter 28 — Key Takeaways
Cost Control: Budgets, Cost Codes, Tracking, Forecasting, and Knowing If You're Making Money
One page. Self-contained. Come back to it the day before your monthly cost review.
Key Takeaways
- 🚪 Cost-to-complete, not cost-to-date, tells you whether you are making money. Everything already spent is history — not manageable, not recoverable, not negotiable. The only number on the page that can still be changed is the one in front of you. A job 60 percent billed and 75 percent spent is already in trouble, and every figure on the page can look completely fine.
- Cost control is not accounting. Accounting looks backward and must be right; cost control looks forward and must be timely. Same data, same software, two people six feet apart, two different obligations. A forecast within five percent on Friday beats an exact one on the twentieth of next month, because on Friday you can still change the crew, the sequence, the form cycle, or the pour size.
- Five numbers, and exactly one of them is an opinion. Budget is a controlled document. Committed is a stack of signed agreements. Cost to date is invoices, payroll, and accruals. Forecast at completion is arithmetic. Cost to complete is judgment, and it decides whether the report is useful or decorative.
- A cost code must correspond to a unit somebody can count, and the same structure must appear in five places: the estimate, the control budget, the field time cards, the accounts payable coding, and the schedule of values. Break one link and the report is fiction.
- A favorable variance early is a report about work that has not happened yet. Northgate's $210,000 turned out to be the net buyout variance and nothing else — $340,000 of savings less $130,000 of buyout overruns. It carried no information about production, accruals, or the $1,620,000 of scope nobody had bought. And the $340,000 sat on top of $15,818,000 of unperformed work in the same six packages: a 2.1 percent cushion.
- Committed cost is the most under-used column. A subcontract converts a productivity risk into a price you already know. The corollary is the diagnostic: budget minus committed on an unbought code is naked exposure — a wish with a dollar sign in front of it.
- Accruals are not optional, and there are two kinds. A Type 1 timing accrual raises cost to date and leaves the forecast alone — but it corrupts the evidence every unit rate is built from. A Type 2 unrecorded-commitment accrual raises cost to date and the forecast, dollar for dollar, because it is a change order that has not been written yet.
- Use the current actual unit rate, not the estimated one, once 20–25 percent of the quantity is installed and three consecutive periods agree. One period is an event, two is a coincidence, three is a system — and a system keeps producing that rate until somebody changes it.
- The asymmetry is the whole ethic of forecasting. To forecast the remaining work at the actual rate you owe no justification. To forecast it better than you are achieving, you owe a written, specific, mechanical reason with a date.
- Labor gets the tightest loop, because it is the only cost you can correct while you are incurring it. Weekly, not monthly. Subcontract, material, and equipment decisions were made at buyout; for those the cost report is a scoreboard.
- By the time an overrun is certain, most of the damage is behind you. On Northgate's elevated deck, two sensible superintendent changes recovered about $15,000 of a $60,000 problem. The money is made by people who act on a soft signal early, not by people who act on a hard signal late.
- Contingency drawdown against percent complete is the earliest reliable warning a job gives. Northgate at month nine: 54 percent drawn against 37 percent complete, a 17-point gap, every dollar nameable. Defensible is not the same as comfortable.
- The cost report is next year's estimate. Your own historical unit costs beat any published database for work you actually self-perform — and they exist only if the foremen coded accurately and the project manager checked. A project that codes its costs sloppily has stolen from its own future.
- A forecast you do not believe is a false statement, relied upon by your CFO, your surety, your bank, and your owner — and under percentage-of-completion accounting it becomes profit the company reports this quarter. You are entitled to be wrong. You are not entitled to state a number you do not believe.
- The pressure to hide bad news comes from how organizations react to it. A company that punishes early honest forecasts is manufacturing its own surprises, because an overrun caught at 25 percent complete is mostly preventable and one caught at 75 percent is mostly history.
Action Items
This week, on whatever job you are on:
- Count the lines on your last cost report where forecast equals budget. If it is most of them, stop reading the total — the report is unforecast.
- Subtract committed from budget on every code past 50 percent complete. That list is your risk register for the rest of the job. Put a buyout date next to each one.
- Compute one actual unit rate by hand. Cost to date ÷ quantity installed. Compare it to the budget rate. If you cannot find the quantity, you have found the real problem.
- Ask your project accountant for the accrual log — the sources, the amounts, the initials, and what reversed from last month. If there is no log, that is this week's assignment.
- Walk one self-perform pour or install before 7 a.m. Not a meeting. A walk. Watch a crew work for twenty minutes.
- Check three weeks of time cards for coding accuracy on your largest self-perform code. Miscoded hours are the most common cause of a phantom overrun and of a hidden one.
- Divide contingency drawn by contingency carried, and percent complete by the same method. State the gap in points, out loud, to somebody.
- Open your largest "miscellaneous," "general," or "other" code and sample twenty transactions.
- Find every code that has not moved in three months, then go look at whether the work is happening.
- Write one variance narrative for your worst code: the variance, the method that produced it, whether you believe the trend and why, and the dated change you are making.
Common Mistakes (and the Fix)
| Mistake | What it costs | The fix |
|---|---|---|
| Reading the report left to right and stopping at cost to date | You manage the only number you cannot change | Read it right to left. Argue about cost to complete; treat cost to date as evidence |
| Leaving the forecast at budget because nobody touched it | $190,000 on Northgate concrete labor, invisible for months | Add a method column. "I left it alone" is not one of the four methods |
| Forecasting by carrying the budget and plugging cost to complete | A forecast structurally incapable of ever delivering bad news | Unit rate on self-perform, committed cost on subcontracts |
| Not re-forecasting a code that is physically complete | Three Northgate codes showed a negative cost to complete | A complete code forecasts at its cost to date. Full stop |
| Forecasting a self-perform code at the estimated unit rate | Asserts the crew is about to improve for no stated reason | Use the actual rate. To use a better one, write the mechanical change and its date |
| Cost codes too coarse | A 16 percent footing overrun invisible inside a $4.2M "Concrete" bucket until 90 percent spent | Big enough for a foreman's attention, small enough for one countable unit and one crew |
| Cost codes too fine | A foreman splitting a day across eleven codes invents data that looks precise | ~200–400 MH minimum per self-perform code; 6–10 codes on a foreman's day |
| Different code structures in estimate, budget, time cards, AP, and SOV | Two years of production data unusable at closeout | The five-place rule. Reconcile the lists once, before notice to proceed |
| Skipping accruals | The report tells the truth about the wrong month, and unit rates are understated | Accrue from the field's record of what was performed; source it, initial it, reverse it |
| Missing a cost on a self-perform code | Hides the missed amount ÷ percent complete — $10,500 at 42 percent hides $25,000 | Cut-off memo by the 20th; superintendent's quantity report as the source |
| Transferring budget to bury a variance | Deletes two true facts your estimators and your executive need | Ask: did the work move, or did only the overrun move? |
| Drawing contingency to cover an overrun | Turns a priced reserve into a slush fund | An overrun is not a risk event. Poor productivity is not a differing site condition |
| Using percent complete on the code that worries you | The "90 percent done" plateau arrives when nothing can be recovered | Never use it on a worry code. Get a second method; the gap between them is the size of the problem |
| Running labor on a monthly cycle | Northgate's deck overrun was visible at 25 percent placed, when $32,000 was still preventable | Weekly: coded time cards, quantities, PF by code Monday morning, 5 percent triggers an investigation |
| Telling the field "we need to make it up" | Finding #3 of the week-34 scaffold near-miss | Communicate a change to the production system, never a demand for more output from the same one |
| Carrying a forecast you do not believe | It becomes revenue, then profit, then bonding capacity, then work bid on a false position | Carry the number you believe and write the recovery as a dated, measurable test alongside it |
Decision Framework
Reading any cost report — seven moves, in this order
- Count the lines where forecast equals budget. If most, stop; the report is unforecast.
- Budget minus committed on every code past 50 percent complete. That is your unbought exposure.
- Cost to date against percent complete, code by code. A gap is a productivity problem, an optimistic percent complete, or front-loaded billing. All three are bad.
- Contingency drawn against percent complete. The earliest warning the job gives. Can you itemize every draw against the risk register?
- Any code that has not moved in three months — go look at the work. The money is going somewhere.
- Open the "miscellaneous" code and sample twenty transactions.
- Look for round numbers in the forecast column. Real forecasts are ugly. $462,197 rounds to $462,200, not to $460,000.
Choosing a forecasting method
| If the scope is… | Use | Formula | Watch for |
|---|---|---|---|
| Subcontracted or purchased | Committed cost | Executed value + executed changes + pending changes | Pending changes not carried · backcharges you will not collect · a distressed subcontractor |
| Self-perform with a countable unit | Unit rate | CTC = quantity remaining × current actual rate | Applying it before 20–25% installed · a quantity that grew and nobody noticed |
| Early-stage, small, or a roll-up | Percent complete | CTC = budget × (1 − % complete) | Cannot detect an overrun in its lazy form · the "90 percent done" plateau |
| Materially changed conditions | Judgment / re-estimate | A fresh estimate of the remaining work | Optimism · and it takes real time, so it gets skipped. Write the assumptions or it is a mood |
Before you sign the forecast — five questions
- Which codes changed since last month, and can I say why in fifteen words each?
- How many lines are forecast exactly at budget — and did I decide that, or default to it?
- What is in the accrual log, what reversed, and is any directed work still uncarried?
- On every code I am forecasting better than actual, have I written the mechanical change and its date?
- Do I believe this number? If not, it is not a forecast. It is a statement other people will rely on and act upon.
The arithmetic worth memorizing
| Relationship | Formula |
|---|---|
| Actual unit rate | cost to date ÷ quantity installed |
| Cost to complete (unit rate) | quantity remaining × actual unit rate |
| Forecast at completion | cost to date + cost to complete, or cost to date ÷ percent complete |
| Variance | budget − forecast at completion (positive is favorable) |
| Productivity factor | earned MH ÷ actual MH, where earned MH = quantity installed × budgeted MH/unit |
| Man-hours at completion | total budgeted MH ÷ PF |
| Error from a missed cost | missed amount ÷ percent complete |
Northgate, for reference
| Item | Value |
|---|---|
| GMP, original / revised by nine change orders | $47,500,000 / $48,015,000 |
| Direct cost of work — original / current control budget | $40,000,000 / $41,200,000 |
| Month-9 cost to date + cost to complete = forecast | $15,239,000 + $26,001,000 = $41,240,000 |
| Month-9 variance / percent complete | ($40,000) / 37% |
| Contingency — carried / drawn / remaining / projected unused | $1,320,000 / $712,000 / $608,000 / $520,000 |
| Savings split at 75% owner / 25% Kestrel | $390,000 Meridian / $130,000 Kestrel |
| CM fee (revised) — and the $190,000 as a share of it | $1,824,800 — 10.4% | |
| Extended general conditions / liquidated damages / total daily exposure | $5,150/CD / $5,500/CD / $10,650/CD |