Level
Job Costing

Quoted vs Actual: Why Contractor Jobs Go Over Budget

Sam Young·2026-04-08·11 minute read
Quoted vs Actual: Why Contractor Jobs Go Over Budget — Level CFO

The Budget Variance Nobody Talks About

Every contractor has jobs that go over budget. Scope changes. Surprise conditions. A tech who takes twice as long as estimated. That's normal. What's not normal is having no idea how often it happens, by how much, or which types of jobs are the worst offenders.

From analyzing operational data across 2,200+ contractors and $13.25 billion in job revenue, I've seen exactly how the industry performs on budget accuracy. The results were surprising — in both directions.

Industry Benchmarks: Budget vs. Actual Cost

Here's the distribution of cost variance across 430+ companies that track both budgeted and actual costs:

PercentileCost VarianceWhat It Means
Top 10% (P10)-61% under budgetExtremely conservative estimates — padding too much
Top 25% (P25)-38% under budgetComfortably under budget
Median-20% under budgetMost contractors estimate conservatively
Bottom 25% (P75)-7% under budgetTight but still under
Bottom 10% (P90)+11.5% over budgetConsistently blowing budgets

The first thing that jumps out: the median contractor comes in 20% under budget. That's not a sign of great performance — it's a sign of conservative estimating. They're winning jobs at higher prices than they need to, which means they're either losing bids they could have won or leaving money on the table on cost-plus work.

The second thing: the bottom 10% consistently overshoot budgets by 11% or more. And the worst offenders aren't even close to that floor.

The Worst Budget Blowouts

Some of the numbers are genuinely alarming. Across the dataset, I found contractors consistently running:

  • +179% over budget — average budgeted cost of $837 per job, actual cost of $2,339. Over 6,500 jobs with this pattern. Not a one-off. A systemic estimating failure.
  • +552% over budget — budgeting $12K per job and spending $80K. Smaller volume (143 jobs), but the gap is catastrophic.
  • +205% over budget — $5,700 budgeted, $17,200 actual. Consistently, over 137 jobs.

These aren't edge cases. These are companies that run hundreds or thousands of jobs per year at multiples of their estimates. And in most cases, they didn't know — because they weren't tracking budget vs. actual at the job level.

Where Budget Overruns Actually Come From

After reviewing thousands of jobs across the over-budget companies, the sources of variance cluster into four categories:

1. Labor Hours — The Biggest Variable

Labor is where most budgets break down. The data shows it clearly: companies that run within 90-100% of budgeted hours are consistently the most profitable. Companies running 150-800% of budgeted hours have a structural problem.

The best-run operations in the dataset budgeted 228,000 labor hours across 10,000+ jobs and came in at 210,000 actual hours — 92% of budget. That's tight. Compare that to companies logging 7x their budgeted hours across thousands of jobs.

The problem is usually one of three things: the estimate doesn't account for travel time, the estimate assumes a journeyman and the job gets staffed with an apprentice who takes longer, or the scope wasn't clear and the tech runs into surprises.

2. Scope Creep Without Change Orders

This is the silent margin killer. The tech is on site, the customer asks for "one more thing," the tech does it because it's faster than arguing. No change order. No additional billing. The job budget stays the same, the cost goes up, and the margin shrinks.

The contractors with the tightest budget adherence all have the same process: any work outside the original scope generates a change order before the work begins. Not after. Not when invoicing. Before.

One company in the dataset processed 8,747 change orders across their jobs, with a 99.6% approval rate. That's not bureaucracy — it's revenue capture. Every additional task gets priced and approved. Their budget variance? Tight.

3. Material Cost Increases Between Quote and Execution

The gap between quoting and starting work can be weeks or months on project work. In a rising-cost environment, the material prices at time of quote and time of purchase can diverge significantly.

This is less of an issue for service and repair work (small parts, same-day) and a bigger issue for project work (equipment orders, large material purchases). The fix: build an escalation clause into project quotes, or requote if the start date slips beyond 30-60 days.

4. Rework and Callbacks

Every return trip to fix something from the original job is invisible cost that hits the job margin. If the callback isn't tracked as a new cost against the original job, it shows up as a separate expense — or worse, gets buried in overhead.

We've written about how callbacks affect margins in the context of job costing setup. The key point: if your system doesn't link a warranty callback to the original job, you'll never see the true cost of that job.

Over Budget vs. Under Budget: Both Are Problems

Most people only worry about jobs that go over budget. But consistently landing 30-60% under budget is its own problem:

You're overpricing. If the typical job comes in 40% under budget, your estimates are padded by 40%. That's margin, but it's also potential lost bids. In competitive markets, that padding is the difference between winning and losing the job.

Your estimating team can't be trusted. If estimates are consistently 40% off — in either direction — you can't use them for capacity planning, cash flow forecasting, or staffing decisions. An estimate that's always wrong by the same factor is usable (you can adjust). An estimate that swings between -40% and +50% is chaos.

You're hiding problems. If every job shows a comfortable buffer, nobody investigates the ones that barely broke even. The aggregate looks fine, but the portfolio has some disasters hidden by the padded winners.

How to Close the Gap

Track budget vs. actual at the job level. This is the prerequisite for everything else. If you're running QuickBooks, use estimates or budgets on every job above $5K. If you're in a field service platform, use the budgeting module. No budget = no variance analysis = no improvement.

Review the top 5 and bottom 5 jobs every month. The top 5 (most under budget) tell you where your estimates might be too conservative. The bottom 5 (most over budget) tell you where your process broke down. Both are useful.

Separate labor variance from material variance. "This job went $8K over budget" doesn't help. "Labor ran $10K over because we staffed two apprentices instead of one journeyman, and materials came in $2K under because we sourced a cheaper condenser" — that's actionable.

Set guardrails. Flag any job that hits 80% of its budgeted cost before 60% of the work is complete. That early warning gives the PM time to adjust scope, have the conversation with the customer, or at minimum, document why the overrun is happening.

When Budget Accuracy Doesn't Matter

T&M work by definition can't go over "budget" in the traditional sense. You're billing every hour and every part at markup. The risk is different: it's utilization and billing accuracy, not estimate accuracy. If you're heavy T&M, focus on billing speed instead of budget variance.

Very small jobs (under $1K) aren't worth budgeting. The tracking overhead exceeds the potential savings. Set standard pricing for common service calls and move on.

Emergency and after-hours work follows different economics. Premium rates, expedited parts, overtime labor — the margins are different and the "budget" is whatever the customer agrees to pay. Don't mix emergency work into your budget variance analysis or it will skew everything.


The Bottom Line

The median contractor budgets conservatively and comes in 20% under estimate. That's fine as a starting point. But if you're in the bottom 10% — consistently going 11%+ over budget — your estimating process needs a fundamental reset. And if you're in the top 10% — coming in 60%+ under budget — you're probably overpricing and losing bids you could win.

The goal isn't perfection. It's visibility. When you know which jobs went over, by how much, and why, you can fix the estimating process, adjust staffing, and stop the margin leaks before they compound across your whole portfolio.

Q: How does Level help with budget tracking? A: We build a budget vs. actual dashboard connected to your QuickBooks and field service software. Every job shows estimated vs. actual cost in real time, broken out by labor, materials, and subs. We flag jobs trending over budget before they finish — not after. The first audit is free.

Q: What's a reasonable budget variance target? A: For most $3-30M contractors, landing within +/- 15% of budget on 80% of jobs is a strong target. The best contractors in our data run within 10%. Getting there requires consistent estimating methodology, realistic labor hour estimates, and disciplined change order processes.

Q: Should I budget every job? A: Every job above $2-5K should have at least a labor hour estimate and materials budget. Below that threshold, standard pricing by job type is more efficient. The key is consistency — if you only budget some jobs, your variance analysis is skewed by selection bias.

About the author

Sam Young

Founder of Level. Former PE investor at Vector Capital and investment banker at Credit Suisse. Built AI-powered accounting products at BuildOps, working directly with over 1,000 contractors across HVAC, plumbing, electrical, and mechanical trades. Co-founded Overline, where his team has analyzed over $1B in real estate assets. Currently advises PE-backed contractor portfolios. Stanford MBA.

LinkedIn

Ready to see where your money is going?

Get a free job profitability audit in 48 hours.

Get Your Free Audit