Construction bid spread report: what public bid tabs show estimators

Public bid tabulations show low-to-high spreads often in the teens to tens of percent. How bidder count, project size, and delivery method shape the gap, and how GCs should use spread as a health check on coverage and carry.

Research5 min read

Published

Tower crane above steel reinforcement
On this page
  1. Key findings
  2. Methodology
  3. Illustrative data
  4. Analysis
  5. Spread distribution
  6. Effect of bidder count
  7. Project size and delivery
  8. What GC estimators should do with this
  9. How to reproduce locally
  10. Sources

Bid spread (the gap between the lowest and highest (or next) competitive bid) is one of the simplest signals of how much "room" the market left on the table. Public bid tabulations from major U.S. jurisdictions show that gap is usually material: median low-to-high spreads on general construction often land in the low-to-mid teens as a percent of the low bid, with long right tails into 40-60%+ on outliers. Very few competitive jobs sit under 10%.

This report synthesizes patterns from public bid-opening data (NYC, Cook County, and published DOT analyses such as Texas) and industry guidance on competition risk. Summary tables are illustrative aggregates for estimator planning, not a claim of a single audited national study. Use them as a scaffold, then build local norms from your own market's tabs.

Related workflow: bid tabulation vs leveling vs evaluation, coverage, and carry number methodology.

Key findings

  • Typical spreads are substantial. Half of competitive public projects often show spreads below ~12-15% of the low bid, and half above. Medians near zero are rare. In one published Texas DOT-style analysis, median construction low-to-high spread was on the order of ~40%, a reminder that "substantial" can mean very large in some markets and sectors.
  • More bidders, tighter spreads. Moving from 2-3 bids to 7+ usually compresses the median gap. Abundant competition pinches prices; thin lists leave room for scope and risk divergence.
  • Outliers imply risk. Unusually large spreads (e.g. >30-50%, or well above your peer norm) often signal missing scope, unclear docs, or uneven risk pricing. Very small spreads (<10%) can mean real consensus, or identical exclusions everyone shared.
  • Benchmarks help the carry. If similar $10-20M hard-bid jobs in your city historically show ~20% median spread, a 40% gap on the current pursuit is a reason to investigate before you celebrate the low number.

Methodology

Public bid-opening (tabulation) data from major jurisdictions:

  • Sources: NYC Open Data bid tabulations (City CSB / sealed bids); Cook County IL procurement bid tabs (public bids ≥$25K); TxDOT and similar DOT tabs reviewed for context
  • Selection: Recent competitive IFB/CSB construction records (illustrative window: ~2020-2024); exclude negotiated/RFQ-only sets; drop projects with fewer than two valid bids or clear data errors
  • Definitions
  • Spread (abs) = high bid − low bid
  • Spread (%) = 100 × (high − low) / low
  • Grouping: By jurisdiction, size bucket, and delivery when available (hard-bid vs negotiated/GMP)
  • Limits: Public-sector skew; prime GC bids to owners, not interior sub-to-GC leveling; tabs may include addenda, alternates, or later revisions; distributions are right-skewed

Negotiated CMAR/GMP and design-build proposals rarely produce a classic high-low tab; where dual price proposals appear, gaps are often smaller than open IFB spreads. Primary analysis centers on competitive sealed bids. Delivery-method context: hard-bid vs CMAR vs design-build.

Illustrative data

Sample tab rows (fictionalized shape of public records):

JurisdictionDeliveryContract valueBiddersLow bidHigh bidSpread %
NYCHard bid$15M5$12.0M$15.6M30%
Cook CountyCMAR / GMP$25M4$22.0M$26.4M20%
Texas (DOT-style)Hard bid$8M7$7.2M$10.1M40%

Directional summary pattern from public-tab style aggregates:

DatasetProjects (approx)Median spread %IQR (25th-75th)Median bidders
NYC CSB-styleThousands~12%~5-25%~5
Cook County-styleThousands~15%~8-30%~4
Combined picture-~13%~6-27%~5

Read these as order-of-magnitude norms, not a guarantee for your next IFB. Local market, trade mix, and document quality move the median more than any national average.

Analysis

Spread distribution

Spreads are right-skewed: a minority of jobs cluster under 10%; many sit in the teens to thirties; a long tail reaches 50-100%+. In published multi-bidder samples, only a small share (sometimes ~5-15%) land under 10% low-to-high. Mean spread exceeds median because of outliers. The 90th percentile often sits around 40-60%.

Industry practice treats spread as a competition-risk metric. Gaps above ~10% between low and next (or low and high, depending on your house rule) usually deserve a second look, not because 10% is magic, but because that is where "left on the table" starts to look like scope or risk disagreement rather than normal noise.

Effect of bidder count

Bidder countTypical median spread (directional)What it usually means
2-3~25-40%Thin competition; large room for omitted scope and uneven risk
4-6~15-25%Usable competition; still expect material gaps
7+~10-15%Prices pinch; outliers still happen on complex or unclear packages

This matches both bidding theory and coverage practice: invitation volume is not enough, but usable bidder count is one of the few levers that reliably compresses the gap.

Project size and delivery

Larger jobs ($30M+) often draw more firms and show relatively tighter medians than small packages, until complexity (hospitals, heavy specialty) widens the gap again. Hard-bid IFBs produce the classic high-low tab. Negotiated work does not; when dual CMAR proposals are published, gaps of ~5-10% are more common than 20-30% open-bid spreads, but public CMAR price data is sparse.

Regionally, the shape (skewed, material medians, bidder-count effect) is consistent even when the level differs. Texas DOT-style figures with ~40% median construction spread show how high the level can run; NYC/Cook-style teens show a tighter urban sealed-bid picture. Build the norm from your tabs.

What GC estimators should do with this

  1. Use spread as a health check. If peers for similar jobs sit near 15% and your current gap is 30%, re-run exclusions and scope-gap review before you lock the carry.
  2. Chase competition early. Moving a package from three usable bids to six or seven historically compresses spread and reduces upside risk if you win, the same goal as coverage follow-up.
  3. Set carry with market shape, not habit. If local tabs show a typical high-low band near 20%, a default 5% contingency may be theater. Conversely, carrying far above historical spreads may mean you are pricing fear, not evidence (carry methodology).
  4. Escalate high-spread pursuits. Early signals above ~30% vs peers → coverage matrix, clarification cycle, maybe addendum or re-solicit if docs are ambiguous.
  5. Keep a library. Archive bid tabs and spreads by size, sector, and delivery so "what is normal here?" is a query, not a memory. Spreads without documentation become folklore; folklore does not survive buyout.

A tight spread is not automatically a good estimate; it can mean everyone missed the same item. A wide spread is not automatically a bad low bid; it can mean one firm priced risk others ignored. Spread is a prompt to investigate, not a verdict. Pair it with leveling, not with tabulation alone.

How to reproduce locally

Any team can rebuild these norms from open data:

  1. Export bid tabs from your jurisdiction's open-data portal (or request award tabs)
  2. Keep competitive IFBs with ≥2 valid bids; drop obvious typos
  3. Compute `spread_pct = 100 * (high - low) / low`
  4. Group by year, size bucket, and agency; report median, IQR, and median bidder count
  5. Refresh annually, markets move; a 2020 median is not a 2026 carry rule

Pseudocode shape:

```
load bid tabs
filter to bids >= 2
spread_pct = 100 * (high_bid - low_bid) / low_bid
summarize median(spread_pct), IQR, median(bidder_count) by jurisdiction / size
```

Limitations to remember: published tabs may revise; bonds and addenda can change payable amounts; your sample may not match private negotiated work.

How to read this report. Treat jurisdiction medians as directional. The durable findings are the shape of the distribution, the bidder-count effect, and the habit of comparing your current gap to a local library, not any single percentage printed in a national blog.

FAQ

Is low-to-high the same as low-to-second?

No. Low-to-second measures how much the low left vs the next competitor; low-to-high measures the full market range. Many estimators watch both. A tight low-to-second with a huge high often means one aggressive low and a wide risk band above.

Why can a very small spread be a red flag?

Consensus can be real, or every bidder shared the same exclusion. When spread collapses under ~10%, still run the exclusions and coverage check before you assume the number is clean.

Do these public-tab medians apply to my subcontractor buyout?

Only loosely. Owner-level GC tabs are a different market layer than trade-level buyout. The method transfers; the percentage levels may not. Build a sub-level library from your own leveling sheets.

How should CMAR or design-build teams use this?

Classic high-low tabs are scarce. Use dual proposals, conceptual vs GMP deltas, and trade buyout spreads inside the GMP as your analogs, and still escalate when gaps blow past your house norms.

What spread should trigger a formal review?

House rules vary. A practical default: investigate when spread exceeds ~10% low-to-next, or when low-to-high sits well above your local median for that size and sector (often ~30%+ as a hard escalation). Always pair with a scope and exclusions pass, not with panic markup alone.

Sources

  • Public bid-opening data from New York City, Cook County, and published Texas DOT analyses, as cited in the body
ShareLinkedInX

Related reading

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
Article5 min

Why bid leveling eats estimator time

Manual quote comparison hides exclusions, scope gaps, and carry risk. Here is where the hours actually go before judgment even starts, and how to measure it on your own projects.

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.