What is bid leveling? A step-by-step guide for GCs
How to compare subcontractor bids scope for scope, price what's missing, and find the real low number. Free Excel template included.
Bid leveling is the process of adjusting subcontractor bids so every price covers the same scope. You line the proposals up item by item, find what each sub left out, and add a plug number for each gap. The lowest leveled total is your true low bid, and it often isn't the lowest number on the page.
Why the lowest bid usually isn't the lowest cost
Subs price the job the way they read it. One includes firestopping, another excludes it in a line on page three, and a third never mentions it. All three totals look comparable, and none of them are.
If you carry a number with a gap in it, someone still pays for that work. It comes back as a change order, or it comes out of your fee.
How to level bids in 6 steps
1. Build your scope list from the documents
Start with the drawings and specs, not the first proposal you opened. If your list comes from a sub's proposal, it inherits that sub's blind spots. Add the sheet or spec section beside each item so you can point to it later.
2. Enter each base bid as submitted
Use the number on the proposal. Keep add alternates and unit prices separate so they don't blur the comparison.
3. Mark every scope item for every sub
Read the inclusions, exclusions and qualifications, then mark each item as included, excluded, missing or not stated. "Not stated" deserves its own label, because silence on a proposal doesn't tell you the work is covered.
4. Ask before you plug
Send each sub a specific question: "Your proposal doesn't mention firestopping at rated walls, spec 07 84 00. Is it included?" A clear answer is better than your estimate, and it puts the scope in writing.
5. Plug what's still open
For anything left uncovered, add your own number. Use another sub's breakout, recent pricing, or your estimator's judgment. Note where each plug came from so it holds up at bid review.
6. Compare the leveled totals
Add each sub's plugs to their base bid and rank the results. Then decide. Price is only part of the call, since capacity, schedule and track record matter too, but now you're comparing the same work.
A worked example
Three drywall bids on a sample tenant build-out (all figures made up). Sub B looks $9,150 cheaper than Sub C until the gaps are priced.
| Item | Sub A | Sub B | Sub C |
|---|---|---|---|
| Base bid | $184,200 | $162,750 | $171,900 |
| Shaftwall at elevator | Incl. | +$11,800 | Incl. |
| Firestopping | Incl. | +$6,200 | +$6,200 |
| Millwork blocking | Incl. | +$3,400 | Incl. |
| Leveled total | $184,200 | $184,150 | $178,100 |
After leveling, Sub B is $6,050 higher than Sub C. Carrying Sub B's original number would have left $21,400 of work unpriced.
Common bid leveling mistakes
- Comparing totals before reading exclusions. The exclusions are usually where the difference lives.
- Leveling only against other bids. If all three subs missed an item, comparing them won't show it. Check against the drawings and specs too.
- Treating silence as included. If a proposal doesn't mention it, ask.
- Plugging with no notes. A number nobody can explain is hard to defend on bid day.
- Waiting until the last hour. Late bids are often unavoidable, so build the sheet early and leave time for questions.
Questions estimators ask
What's the difference between bid leveling and bid tabulation?
A bid tab lists the numbers side by side. Leveling goes further and adjusts those numbers so each one covers the same scope. Many teams use the terms loosely, so it's worth confirming which one someone means.
What is a plug number?
Your own estimate for scope a sub left out, added so their bid can be compared fairly. It's set by your estimator, not the sub.
Can I level bids in Excel?
Yes, and many GCs do. The template on this page is built for it. The time goes into reading each proposal and typing it in, and that's the part software can cut down.
Want this done for you?
ArcSpecs reads your sub proposals, lines them up on one sheet, and flags what's missing against your drawings and specs. You still make every call.
Join the founder program