Quire Paper / Notes / How to level construction bids
Notes · Construction

How to level construction bids: the lowest number is often just the emptiest one

Four bids come back on the same drawings and the totals land thousands of dollars apart. The temptation is to circle the cheapest one and call it competition working. But those four totals are almost never prices for the same job — one bidder excluded roofing ("by others"), one never priced the windows, one is quietly carrying an allowance nobody noticed. Until every bidder carries the same scope, the totals aren't comparable, and the lowest number is often just the one with the most missing from it.

Fixing that is called bid leveling (you'll also hear bid tabulation, or just "the bid tab"). It's a standard step in professional preconstruction, it isn't complicated, and it regularly changes the answer. Here's the whole method, with the math.

Why raw totals lie

A bid total is a sum of line items, and every bidder makes different decisions about which lines to include:

None of this is necessarily bad faith — subs no-bid lines they can't cover and exclude work they don't self-perform all the time. But it means comparing raw totals is comparing four different jobs.

The method: one grid, line by line

Bid leveling is a spreadsheet discipline. Down the left side, the scope items — general conditions, demolition, foundations, framing, roofing, and so on. One column per bidder. Then:

  1. Enter every bid line by line from each bid letter, not just the total.
  2. Flag every hole. A blank cell on a line others priced is a scope gap — an exclusion, a no-bid, or a "by others." Mark it so it can't hide.
  3. Carry each gap at a plug value. A plug value is the number you insert so the missing scope is represented — typically your own estimate for that line, or the highest price actually received for it (the conservative choice). The plug isn't a real bid; it's your carrying assumption, and you should be able to say where it came from.
  4. Compute the leveled total: raw total + plugs = leveled total. Now every bidder carries the same scope, and the comparison finally means something.
  5. Log the paper trail. Every exclusion, allowance, clarification, and substitution goes in a log — who said it, where (bid letter, page), and how you carried it. On bid day, that log is what makes your recommendation defensible.

A worked example — where leveling flips the ranking

A residential addition, four bidders, sixteen scope items. The raw totals, cheapest first:

BidderRaw totalScope gapsPlugs carriedLeveled total
Dray & Sons$117,8002$16,400$134,200
Corestone Contracting$118,4002$14,900$133,300
Beacon Builders$122,6001$10,200$132,800
Alder Construction$131,0000$0$131,000

Read that twice, because it's the whole argument. On raw totals, Dray & Sons "wins" by $13,200 over Alder. But Dray excluded paint ("by owner per proposal p.2") and never priced the windows — $16,400 of real scope you'd still have to buy. Once every bidder carries the full job, the raw low bidder becomes the leveled high bidder, and Alder — the only bid with no holes in it — comes out lowest at $131,000.

Just as telling: the apparent spread between cheapest and most expensive was $13,200 on raw numbers. Leveled, the four bids sit within $3,200 of each other — about 2.4%. These four contractors mostly agree about what the job costs; the raw totals only disagreed about what the job was.

The question the exercise answers: "does leveling change the low bidder?" Sometimes it doesn't — and now you know your low number is real. When it does, the grid just saved you from signing with the emptiest bid and meeting the missing scope later as change orders, at post-award prices, with no competition in the room.

Where the judgment stays yours

Leveling makes the numbers comparable. It doesn't make the decision. Plug values are your own assumptions — flag them, source them, and revisit any line where a plug is doing a lot of work. Per-line spreads matter too: if framing prices range from $17,900 to $19,600, the bids agree; if one line shows a 40% spread, somebody misread the drawings, and a phone call is worth more than a formula. And an unreconciled note in the exclusions log — an allowance you haven't confirmed, a substitution you haven't accepted — is an open item, not a footnote. Award decisions, scope verification, and contract terms stay with you and your own judgment.

The bid-day grid, already wired

The Bid Tab / Bid Leveling Sheet

Compare 4–6 bids line-by-line across 30 scope items: empty cells flag red as scope gaps and are carried at your plug value automatically, so leveled total = raw + plugs on every bidder. Per-line low/high/spread, per-bidder plug exposure and leveled rank, an exclusions & clarifications log that rolls unreconciled notes up to the dashboard — and the verdict that matters: does leveling change the low bidder? Pure Excel & Google Sheets formulas, sample bid package loaded.

Instant download · Excel & Google Sheets · a comparison & documentation tool, not procurement or legal advice

Both sides of bid day

Leveling is what you do with bids coming in. If you're also the one sending bids out, the same discipline applies in reverse: knowing your hit rate and where your bidding time actually goes tells you which invitations deserve the estimating hours, and once you win the work, job costing tells you whether the number you leveled to was any good. Same spreadsheet habit, three moments in the life of a job.

This is general preconstruction guidance, not procurement, contracting, or legal advice. Plug values are carrying assumptions, not prices; verify every bidder's actual scope, qualifications, and terms directly, and make award decisions on your own judgment. Sample figures are illustrative.