---
title: 'Construction bid spread report: what public bid tabs show estimators'
url: 'https://piper-ai.com/resources/construction-bid-spread-report'
description: '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.'
contentTypes: [research]
publishedAt: '2026-08-06T19:00:00.000Z'
updatedAt: '2026-10-14T08:02:14.365Z'
author: 'Ido Gedanken, CEO'
readingTime: 6
---

# Construction bid spread report: what public bid tabs show estimators

1. Median low-to-high spreads on competitive public construction often land in the low-to-mid teens of the low bid, rarely near zero
2. More bidders usually tighten the spread; two or three bids often mean 25-40% median gaps
3. Spreads above ~30-50% (or well above your local norm) are a signal to re-check scope, exclusions, and coverage
4. Use historical spreads by size and market to pressure-test your carry, not a fixed contingency habit

**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](https://piper-ai.com/resources/bid-tabulation-vs-bid-leveling-vs-bid-evaluation), [coverage](https://piper-ai.com/resources/construction-bid-coverage-guide), and [carry number methodology](https://piper-ai.com/resources/carry-number-methodology-construction-bids).

## 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](https://piper-ai.com/resources/hard-bid-vs-cmar-vs-design-build-estimating-workflows).

## Illustrative data

Sample tab rows (fictionalized shape of public records):

| Jurisdiction | Delivery | Contract value | Bidders | Low bid | High bid | Spread % |
| --- | --- | --- | --- | --- | --- | --- |
| NYC | Hard bid | $15M | 5 | $12.0M | $15.6M | 30% |
| Cook County | CMAR / GMP | $25M | 4 | $22.0M | $26.4M | 20% |
| Texas (DOT-style) | Hard bid | $8M | 7 | $7.2M | $10.1M | 40% |

Directional summary pattern from public-tab style aggregates:

| Dataset | Projects (approx) | Median spread % | IQR (25th-75th) | Median bidders |
| --- | --- | --- | --- | --- |
| NYC CSB-style | Thousands | ~12% | ~5-25% | ~5 |
| Cook County-style | Thousands | ~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 count | Typical 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](https://piper-ai.com/resources/construction-bid-coverage-guide) 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](https://piper-ai.com/resources/review-subcontractor-exclusions-and-qualifications) and [scope-gap](https://piper-ai.com/resources/spot-scope-gaps-before-you-carry) 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](https://piper-ai.com/resources/carry-number-methodology-construction-bids)).
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.

## Where Piper fits

A wide spread is a question, not an answer. It usually means the bidders priced different scopes, and the only way to know which is to compare every proposal against the package rather than against the low number.

Piper is the AI operating system for preconstruction. It reads the proposals you received against the trade scope built from the drawings, specifications, addenda and your company's standards, and shows where the differences actually sit: what one bidder excluded, what another qualified, what nobody carried. A spread that looked alarming is often three different scopes, and a tight spread sometimes hides the same gap in all of them.

Piper does not maintain historical spread data for your market and it does not set your contingency. It tells you what is behind the spread on the package in front of you.

### 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
