The estimate-to-actual gap: why GC bids miss final cost and how to close the loop

Most projects overrun the original estimate. How to measure cost variance, where overruns come from by trade and phase, and how GCs tighten the feedback loop from bid to closeout.

Research4 min read

Published

Construction scaffolding interior
On this page
  1. How to measure the gap
  2. Illustrative patterns
  3. Common causes and when they hit
  4. Mitigation: tighten estimate → actual
  5. KPIs worth tracking
  6. Estimate → actual process
  7. Building your own dataset

The estimate-to-actual gap (cost variance) is the difference between the budgeted cost (the estimator's bid or internal takeoff) and final cost after construction. In practice, most projects come in over the original estimate. Industry analyses commonly report that roughly 85-90% of projects overrun, with average growth often in the high teens to ~20-30%. A large share of that gap traces to early estimating and scope assumptions, then to change orders and rework that land during construction.

General contractors narrow the gap with two habits: disciplined estimating before award, and a hard feedback loop that reconciles actuals back into the next estimate. That is the same institutional-memory problem described in why every construction estimate still starts too close to zero.

How to measure the gap

MetricFormula / definition
Cost variance ($)Final actual cost − original estimate
Cost variance (%)(Final actual − original estimate) / original estimate × 100
Change-order % of contractCumulative approved COs / base contract × 100
Contingency utilizationContingency used / contingency carried

Compute overall and by CSI trade (or your house trade map) and by phase (conceptual, schematic, bid, buyout, closeout). One study of hundreds of U.S. street projects found final costs averaging only a few percent above the low bid, while larger, more complex building work often sees much higher variances. Delivery method also matters (hard bid vs CMAR vs design-build).

Normalize older projects to constant dollars (BLS PPIs or similar) before you compare years. Align definitions: engineer's estimate vs GC bid vs GMP vs final approved cost are not interchangeable.

Illustrative patterns

Mock project-level rows (shape only, build your own library from closed jobs):

Project typeDeliveryEst. costFinal costVariance
SchoolHard bid$12.0M$14.0M+16.7%
HospitalCMAR$45.0M$47.5M+5.6%
OfficeDesign-build$25.0M$28.5M+14.0%

Mock trade rollup, finishes and sitework often run hotter than structure:

TradeAvg. estimateAvg. actualAvg. variance
Concrete$5.0M$5.4M+8%
Mechanical / plumbing$8.0M$9.2M+15%
Electrical$7.5M$7.9M+5%
Finishes$6.0M$7.2M+20%
Sitework$3.0M$3.6M+20%

If finishes routinely run 15-20% over, that is a scope and allowance problem to fix in scope generation and coverage, not a mystery for the next school job.

Distribution shape (directional). Most projects cluster in roughly +0-10% variance, with a long tail beyond +20%. That right skew is why averages look worse than "typical" jobs and why a few disasters warp company memory.

Common causes and when they hit

Industry research consistently points to:

DriverApproximate share / signalWhen it shows up
Design omissions and reworkOften cited as ~half+ of overrun dollars; many projects need rework from drawing/spec inconsistencyConstruction, missing scope surfaces as extra work
Estimating errorsOften cited ~30-35% of overruns, incomplete takeoffs, wrong quantities, missing allowancesBid and buyout; crystallizes later
Change ordersOwner changes, design clarifications, unforeseen siteMid-construction through closeout
Late actuals visibilityJob cost lags the fieldVariance accumulates before anyone reacts
Market factorsLabor/material volatility; thin bidder listsBid day through buyout ([bid spreads](/resources/construction-bid-spread-report))
Coordination failuresDuplicate work, unbilled scope, interface gapsBuyout and construction ([scope gaps](/resources/spot-scope-gaps-before-you-carry))

Most overrun dollars crystallize during construction and closeout, not on bid morning. The original bid can be directionally right while pending COs and omissions still add up. Studies that find final cost highly correlated with the low bid are consistent with that: the base is real; the gap is mostly measurable adds.

Mitigation: tighten estimate → actual

  • Thorough scope definition: complete trade scopes, allowances, alternates, exclusions; use coverage matrices (bid coverage)
  • Consistent estimating standards: master assumptions, carry rules by delivery method and stage (carry methodology)
  • Contingency with eyes open: higher early; thin coverage or incomplete design gets an explicit risk factor, not silence
  • Estimate QA before bid: peer review; quantities and rates vs history; scope-completeness checks (final bid review)
  • Mandatory closeout reconciliation: final costs, CO log by cause, and actual unit costs written back to the estimate library
  • Change-order discipline: every extra cost documented and approved; unauthorized scope is how overruns hide
  • Connect systems: when budget, buyout, and actuals live in disconnected spreadsheets, variance arrives as a surprise at closeout

The contractors who improve are the ones who compare the bid to early job-cost and buyout results while the project is still alive, not only in a postmortem nobody reads.

KPIs worth tracking

KPIWhy it matters
Project cost variance %Overall and by trade, the core gap metric
Change-order % of contractSplit by cause (owner, design, unforeseen, GC)
Estimate accuracy by phaseConceptual vs schematic vs bid vs final
Contingency utilizationWere you carrying theater or risk?
Planned vs actual marginDid the estimate protect the business?
Time to close booksSlow closes delay learning
Top overrun tradesWhere to invest checklist and coverage effort next

Useful dashboard views: share of projects within ±5% / ±10% / ±20% of estimate; average variance by trade; CO mix by cause; one sample project's estimate trail from schematic → bid → final.

Estimate → actual process

The six stages between a submitted number and a closed job. Only the last one feeds the next estimate, and it is the one most often skipped.
  1. Estimator's bid / internal estimate: documented assumptions and carry
  2. Award: base contract locked
  3. Buyout: trade prices vs estimate; first hard signal of gaps
  4. Construction: job cost and COs accumulate
  5. Closeout: final actuals
  6. Analysis: variance by trade and cause written into the next pursuit's standards

Skip step 6 and every new bid starts near zero again.

Building your own dataset

You do not need a national study to run this loop. Start with closed projects you control:

FieldWhy collect it
Project ID, delivery method, regionSegmentation
Original GC estimate (and engineer's estimate if known)Baseline
Final approved cost (incl. COs)Actual
Trade breakdown (est. vs actual)Where the gap lives
CO total and % by causeWhy the gap grew
Bid date and closeout dateCycle time and market context

Supplement with public capital-project reports where agencies publish budget vs actual, and with bid tabs for award-price context. Adjust older dollars with PPIs. Publish or share only aggregates if confidentiality matters, the learning is in the pattern, not the named job.

How to read the mock tables. They show the shape of a useful analysis (project-level variance, then trade rollups), not Piper's audited national results. Replace them with your last 20-50 closed jobs and the hot trades will usually declare themselves.

FAQ

Should variance use the low bid, the engineer's estimate, or our internal estimate?

Pick one baseline and stay consistent. For GC learning, the internal estimate (or GMP) you actually managed to is usually the right denominator. Engineer's estimate vs low bid is a different question (owner competition), closer to [bid spread](/resources/construction-bid-spread-report) analysis.

Why do finishes and sitework often overrun more than structure?

Higher owner-driven choice, allowances, late decisions, and boundary ambiguity. Those trades reward early scope matrices and explicit allowances more than a bigger blind contingency.

Is a small average overrun "good enough"?

A company average of +5% can hide a long tail of +25% disasters. Track the distribution and the top overrun trades, not only the mean.

When should we run the reconciliation?

At buyout (early signal) and again at closeout (full actuals). Waiting until the next similar pursuit is how the gap becomes folklore.

How does delivery method change the gap?

Hard-bid gaps often show up as COs against a frozen set. CMAR/DB gaps show up as GMP growth, allowance burn, and design drift. Measure against the price commitment that method actually used.

ShareLinkedInX

Related reading

Article12 min

Why every construction estimate still starts too close to zero

Most estimating groups rebuild scope, quantities, and assumptions from scratch on every bid, then let the work evaporate when the job closes. What that actually costs, where the knowledge leaks, and what a system that keeps it looks like.

Tower crane against an overcast sky
Research4 min

Where do preconstruction teams spend their time?

Bid leveling and scope assembly dominate precon hours (often 40-50 hours of leveling and 30-40 hours of MEP scope work per project), leaving little capacity for judgment. A synthesized view of where the time goes.

Tower crane and reinforcement steel
Guide6 min

How to set a carry number you can defend

The method for getting from a submitted subcontractor bid to the number that actually goes in the estimate, including evaluated cost, expected-value risk pricing, and the duplicate-contingency trap.

Construction scaffolding interior

Piper removes manual review from the critical path and brings project data, company knowledge, and expert checks into every preconstruction decision and workflow

See Piper on your project

Bring a current or completed project and see how Piper saves review time, surfaces scope gaps, and applies your company's knowledge.