Pull your last five finished jobs and put the estimate next to what you actually spent, category by category. Labor hours, materials, subs, disposal. Two hours at a kitchen table and you will know which line you are short on, and it is almost never the line you would have guessed. This is the only fix, because nothing else tells you that you were wrong. Angi's 2026 State of Home Spending Pulse found 43% of homeowners who hired a pro in the past year saw the final cost pass the original quoted estimate, and slightly more than a third of those went over by at least 30%. On a $20,000 bathroom, 30% is $6,000 — more than the $5,980 of gross profit that job carried at the 29.9% margin NAHB reports for remodelers.
Why do you keep underestimating the same jobs?
Because nothing ever tells you that you did. You finish, you invoice, you load the truck, and the next walkthrough is Tuesday. The only signal you get is the bank balance, and that lags by two months and blends nine jobs together, so a bathroom that lost $1,400 disappears inside a deck that made $4,000.
That is a measurement problem, not a skill problem. The trade seems to half-know it. Over the twelve months to September 2026, "job costing" averaged 61 on Google Trends in the US against 18 for "cost overrun" and 19 for "construction contingency" — contractors are searching for the instrument, not the symptom. "Job costing software for construction" was a breakout rising query at +250%.
Look at when they search, though. That series peaks at 100 in the first week of February and bottoms near 23 the week after Christmas. February is tax season. Which means most contractors only examine a job's true cost when their accountant makes them, fourteen months after the job closed, when nobody alive remembers why the tile took three extra days.
Do it now instead. September, while the jobs are still fresh enough to explain themselves.
How do you job-cost a job you already finished?
Take the estimate, take the actual spend, and put them in two columns broken into the same categories. Then write one sentence next to every gap explaining what happened. The sentence matters more than the number, because the number tells you that you were short and the sentence tells you whether it will happen again.
Here is the shape of it. These figures are illustrative — a worked example, not a benchmark — but the pattern in them is the one that shows up over and over.
| Line | Estimated | Actual | Difference |
|---|---|---|---|
| Demo and haul-off | 8 hrs | 14 hrs | −6 hrs |
| Tile setting | 24 hrs | 27 hrs | −3 hrs |
| Tile and setting materials | $1,850 | $2,240 | −$390 |
| Plumbing sub | $2,400 | $2,400 | — |
| Dumpster and landfill | not quoted | $385 | −$385 |
| Punch list return trips | not quoted | 7 hrs | −7 hrs |
Notice where the damage is. The plumbing sub came in exactly on the number, because a sub gives you a written price and you copy it across. Materials were off by 21%. And then there are two rows that were never on the estimate at all, which no amount of careful pricing was going to catch, because you cannot price a line that is not there.
Here is where this step usually goes wrong: you do not have the hours. Most one- and two-man shops run no timesheet, so the labor column is blank and the whole exercise stalls. Reconstruct it. Your calendar says which days you were there. The timestamps on your job photos say when you arrived and when you stopped. Your texts to the homeowner say when you told them you were coming back. Round up when you are unsure, because the bias in your memory runs the other way — everybody remembers a job as shorter than it was.
Which lines actually get missed?
The ones with no name. Start with the scope changes, because they are the largest share and they are not really an estimating failure at all. Of homeowners who went past their budget in the 2026 Houzz & Home study of 10,176 renovating households, 35% had consciously chosen higher-end materials than they first planned and 31% had expanded the scope mid-renovation.
Read that from your side of the truck. A third of the overrun is a homeowner upgrading the tile after you priced the job. That is work you performed and it is billable. It only turns into your loss when nobody re-prices it before it is built, which is a change-order problem rather than an estimating one — the mechanics are in how to handle change orders.
The genuine estimating misses are a short list, and they are the same list on nearly every residential bid:
- Haul-off and disposal. A bathroom gut is two or three trailer loads plus a landfill ticket. Most estimates price the demo labor and stop there.
- Protection and cleanup. Floor paper, plastic, the daily sweep, the final clean before the walkthrough. Real hours, no line.
- The punch list. The job "ends," and then three half-days happen across two weeks — a touch-up, a sticking door, the trim piece that came in wrong.
- Mobilization. Loading, driving, unloading, and the parts run. Forty minutes a day on a ten-day job is a full unbilled day, and it belongs in your overhead rate if it is not on the estimate.
- Second layers. "Demo existing tile — 8 hours" quietly assumes one layer. In a 1962 bathroom it is ceramic over a mud bed over the original floor, and the 8 hours becomes 14 about ninety seconds after the first chisel goes in.
How far has your price book drifted since you wrote it?
Further in some places than others, which is the part that catches people. Inputs to new residential construction rose 6.2% in the twelve months to June 2026 on NAHB's reading of the BLS Producer Price Index. That single number hides a spread wide enough to wreck a bid.
| Input | 12 months to June 2026 |
|---|---|
| Diesel fuel | +65.7% |
| Roofing asphalt products | +9.2% |
| Softwood lumber | +7.0% |
| Ready-mix concrete | +1.9% |
| Gypsum building materials | −1.1% |
| All inputs to residential construction | +6.2% |
So the annual 5% bump across the board — the thing almost everyone does — underprices a roof by four points and overprices drywall by six. Re-quote from live supplier numbers on whatever you actually buy in volume, and leave the rest alone.
Diesel is the cruel one. It is up two thirds and it appears on nobody's estimate, because it is not a material, it is the drive. It comes straight out of your overhead, invisibly, on every job you ran this year.
Should you just add a contingency instead?
On unknowns, yes. On scope you can see, no, and I would argue this fairly hard.
A contingency against what is behind a wall or under a floor is honest pricing of real risk. A contingency stacked on measurable scope is something else: it makes you more expensive than the contractor who did the arithmetic, and it hides the error rather than correcting it, so next January you are still carrying the same wrong number with a bigger cushion on top.
There is a selling cost too. A visible "contingency: 10%" line on a residential bid reads to a homeowner as a man who does not know what the job costs. Use written exclusions and a dollar allowance instead. "Allowance $8/sf for tile. Excludes subfloor repair — if we find rot, we stop, photograph it, price it, and nothing proceeds until you sign."
What this misses
Both surveys ask homeowners, not contractors. A homeowner who signed two change orders and paid for them reports going over budget. The contractor on that job may have made money on every hour. Angi and Houzz measure the customer's experience of the number, which overlaps your P&L without matching it.
NAHB's margins describe member remodelers averaging $2.7 million in revenue. A two-man shop doing $340,000 has a different overhead structure entirely, and 29.9% gross is a reference point rather than your number.
Five jobs is not a sample. It is a direction. If four of the five ran long on demo, price demo higher. Do not build a spreadsheet model out of it.
Job costing cannot fix a labor rate that was wrong before you started. If your billed hourly rate never covered payroll tax and insurance, every job will show a loss and the fix is upstream in what your labor actually costs.
The line you cannot job-cost is the one you never wrote down, and those get lost in the forty minutes between the homeowner's bathroom and your truck. BidWalk records the walkthrough by voice so the disposal, the second layer of tile, and the return trip end up on the estimate while you are still standing in the room.