Skip to main content
2,200+ service businesses benchmarked. How does your cash flow stack up? See where you stand →
Level
Job Costing

Quoted vs Actual: Why Contractor Jobs Go Over Budget

Sam YoungEx-CFO across trades, SaaS & services · $2.5B in service-business transactions · Stanford MBA
Updated April 8, 2026·Originally published August 9, 2025·11 minute read
Share

From Level's proprietary contractor research

Only 523 of 2,200+ contractors in our dataset even track budget vs. actual. Among those who do, the median comes in 11.7% under. The other ~80% are flying blind — running jobs where 'profitable' just means 'we didn't run out of cash before invoicing.'

Pattern across 2,200+ contractors, $13.25B in job revenue analyzed

11 minute readJob Costing

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. But the first finding is the most important one: only 523 of 2,200+ contractors even track budgeted vs. actual job costs. The other 80% have no budget data at all.

Industry Benchmarks: Budget vs. Actual Cost

Methodology note: The "cost variance" metric in our benchmarking data specifically measures the gap between estimated and actual labor hours per job — not total dollar cost including materials and subs. Labor hours are the largest controllable variable in most contractor jobs, so this is the most actionable way to measure estimating accuracy. Material and subcontractor costs are tracked separately.

Here's the distribution of cost variance across the 523 companies that actually track both budgeted and actual labor hours:

PercentileCost VarianceWhat It Means
P10 (Most Under)-61% under budgetExtremely conservative estimates — significant padding
P25-38% under budgetComfortably under budget
Median-11.7% under budgetIntentionally conservative estimating
P75-7% under budgetTight but still under
P90 (Over Budget)+11.5% over budgetConsistently blowing budgets

How to read the sign: In this dataset, negative variance means actual labor came in under the estimate (you estimated high vs. what happened). Neither chronic overruns nor chronic padding is "winning." Under-estimating wins fixed-price work you cannot deliver profitably. Over-estimating pads bids, loses work in competitive markets, and leaves revenue on the table. The operational goal is calibration toward ~zero on labor hours — tight variance — not maximizing how far under budget you land. A slight cushion (e.g., low double digits under) can be healthy on fixed-price work; heavy padding (think 50% under / extremely negative tails) is the same class of failure as blowing budgets — you are mis-scoping the job, just in the opposite direction.

The first thing that jumps out: the median contractor in this group comes in 11.7% under budget. But this is survivorship bias at work — the 523 contractors who bother tracking budget vs. actual are already the most disciplined estimators. They often pad intentionally because going over budget on fixed-price work means eating the cost. Coming in modestly under can be the intended outcome — but "negative = good" only when the miss is slight. If the median for your own book were something like -50%, you would be pricing yourself out of wins, not demonstrating excellence.

The 1,770+ contractors who don't track it? Those are the ones where budget blowouts happen constantly and nobody knows until year-end when the P&L doesn't match expectations.

The second thing: even among the disciplined group, 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 hours are the core of what the cost variance metric captures. Across 311,000 jobs with both estimated and actual hour data, 40% of jobs exceeded their budgeted labor hours. 18.3% blew past 150% of their budgeted hours. The median actual-to-budget ratio is 99.4% — right on target — but the average is 119%, dragged up by the long tail of overruns.

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.

Proper job costing setup in QuickBooks is the foundation for tracking these costs. 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.

Free cash flow audit

Find out which jobs are actually making money.

We benchmark your books against 2,200+ service businesses and tell you exactly where the money is going.

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 — symmetric to chronic overruns in the sense that both mean your estimated labor hours are not a reliable forecast: under-estimating wins jobs you cannot execute at quoted economics; over-estimating pads bids and leaves revenue on the table.

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 estimated vs. actual labor hours 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 labor hour estimate = 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 real finding isn't that most contractors come in under budget. It's that 80% of contractors don't track budget vs. actual at all — and the 523 who do are already the disciplined ones. Among those who track it, the median comes in 11.7% under — a moderate cushion that is not the same thing as a target to chase ever-larger negative variance. The goal is a tight distribution around accurate hours, not a scoreboard where the "winner" is whoever pads the most. But even in this disciplined group, the bottom 10% blow budgets by 11%+, and the worst offenders run 179-552% over across thousands of jobs.

The goal isn't perfection. It's visibility. If you're not tracking budget vs. actual at the job level, you're in the 80% who don't know whether they're over or under. Start there. When you can see 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 budgeted labor hours 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 by role, 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.

Q: What causes the biggest budget blowouts? A: Three things: missed scope changes that should have been formal change orders, unbounded T&M work without controls, and stale jobs that sit open past 90 days accumulating costs nobody notices. The worst overrun in our data — +552% on 143 jobs — was a combination of all three. Fix the process, and the variance follows.

Share

Get the next one

Want next week's benchmark in your inbox?

One email a week. Real numbers from 2,200+ service businesses. No fluff. Unsubscribe anytime.

Sam Young

About the author

Sam Young

Founder & Fractional CFO

Founder of Level — fractional finance and operations for service businesses, startups, and SMBs. Ex-CFO across trades, SaaS, and service businesses. 4 years as Director of Growth Product at BuildOps, building financial tooling used by 1,000+ commercial contractors. Four years in PE and investment banking rolling up and acquiring service businesses — $2.5B in total transactions including M&A and IPOs. Stanford MBA, Brown undergrad. Level operates its own proprietary benchmark research (2,200+ companies, $13.25B in revenue analyzed) which informs every client engagement.

LinkedIn

Find out which jobs are actually making money.

We connect to your books and rank every job by real margin — not what your software shows. Free audit included.

2,200+ service businesses benchmarked$13.25B in revenue analyzed24-hour response

No credit card. 15-min audit. We only follow up if we can actually help.

No commitment. Real numbers, not generic advice.