- Write the scope checklist before the bids arrive.
- Price every exclusion with a plug so bids cover the same scope.
- Level alternates and allowances too.
- Carry the leveled number, not the base bid, into the budget.
Start from one scope list
Before the bids arrive, write the scope checklist for the trade: the items every bidder must carry, taken from the drawings, specifications and the scope of work. Then read every bid against it — inclusions, exclusions, qualifications and assumptions — and mark each item carried, excluded or unclear. Unclear items get a call before bid day, not an assumption after it.

Price the gaps with plug numbers
Where a bidder excludes something the scope requires, add the estimator's value for it — a plug — so their total reflects the full scope. Plugs come from the estimate, from the other bidders' prices for the same item, or from a quick quote.
| Bidder | Base bid | Exclusions (plugged) | Leveled total |
|---|---|---|---|
| A | $1,184,000 | Firestopping $18,500; hoisting $24,000 | $1,226,500 |
| B | $1,212,000 | Permits $6,500 | $1,218,500 |
| C | $1,203,000 | Temporary protection $9,000; cleanup $7,500; testing & balancing $14,000 | $1,233,500 |
Bidder A was lowest by $28,000 on the page. Leveled, Bidder B is the real low bid by $8,000, and the spread between the three is only $15,000 — a sign the scope is now understood the same way by everyone.
Alternates, allowances and unit prices
- Alternates — price each one separately and level them too; the owner may take some, and the low base bidder is not always low with alternates in.
- Allowances — make every bidder carry the same allowance amounts, or the comparison is distorted by whoever guessed lowest.
- Unit prices — compare them at the expected quantities, not just the rate; they drive change order pricing later.
- Qualifications — schedule, retainage, payment terms and insurance exceptions have a cost even when they have no line item; note them beside the leveled total.
From leveled bid to award
The leveled total is not automatically the award. Weigh it against the bidder's capacity and backlog, safety record (see construction safety metrics), past performance on your jobs and schedule commitment. Then carry the leveled number — not the base bid — into the bid-day total and the job budget, so the cost forecast starts from the price you will actually pay, and buyout savings or losses are measured against the right baseline.

Bid day, step by step
- Before bids arrive: the scope checklist per trade, with the plug number for each item already estimated.
- As each bid lands: read it against the checklist — carried, excluded or unclear — and write the question for every unclear line.
- Scope calls: ask each bidder the same questions and get the answers in writing, as a revised bid or a signed clarification.
- Level: apply plugs for exclusions, equalise allowances, and level alternates separately.
- Carry and document: the leveled number goes into the estimate, and the scope checklist becomes the subcontract's scope exhibit — so what was leveled is what gets bought.
The last step is the one most often skipped. A bid leveled on a checklist and then bought on the bidder's own proposal letter reopens every exclusion the leveling closed. The awarded value becomes committed cost against that scope's budget.

Each scope item with the estimator's plug and every bidder's number, with the low bid, the spread between bids and the low bid against the plug calculated.
8 columns: 5 you fill in and 3 calculated by formula and filled down 200 rows, so nothing is worked out by hand. In the Excel version, 4 columns reject entries of the wrong type (a date column only takes dates, an amount column only numbers), the header row stays frozen with filters on it, and the workbook opens on an Instructions sheet that lists every column below.
Every column, and how it is captured
| Column | Type | What goes in it |
|---|---|---|
| Scope item | Text | Free text. |
| Estimator plug | Amount ($) | Enter the amount in dollars. |
| Bidder A | Amount ($) | Enter the amount in dollars. First row: enter it. Every later row is calculated: SUM([Bidder A]:[Bidder A]). |
| Bidder B | Amount ($) | Enter the amount in dollars. First row: enter it. Every later row is calculated: SUM([Bidder B]:[Bidder B]). |
| Bidder C | Amount ($) | Enter the amount in dollars. First row: enter it. Every later row is calculated: SUM([Bidder C]:[Bidder C]). |
| Low bid | Calculated | Calculated — the lowest of the bidders' numbers (= MIN([Bidder A]:[Bidder C])) |
| Spread % | Calculated | Calculated — gap between the highest and lowest bid as a percent of the lowest — a wide spread usually means a scope gap (= IF(MIN([Bidder A]:[Bidder C])=0, blank, (MAX([Bidder A]:[Bidder C]) − MIN([Bidder A]:[Bidder C])) ÷ MIN([Bidder A]:[Bidder C]) × 100)) |
| Low bid vs plug | Calculated | Calculated: [Low bid] − [Estimator plug] |
See it on real-looking numbers
Constructelligence is a construction intelligence platform: it reads your ERP, project and field systems read-only and does this arithmetic every week, for every job. The demo runs it on a sample eight-job portfolio.
Try the demoJoin the private betaFrequently asked questions
What is bid leveling in construction?
Adjusting subcontractor bids so they cover the same scope — adding the value of anything a bidder excluded and normalizing allowances and alternates — so the bids can be compared fairly and the real low bid identified.
What is a plug number?
An estimator's value for a scope item a bidder excluded or did not price, added to that bid during leveling so every bid reflects the full required scope.
Is the lowest bid always the best bid?
No. After leveling, the lowest base bid often is not the lowest price for the full scope, and even the lowest leveled bid should be weighed against capacity, safety record, past performance and schedule.
How many bids should you level for each trade?
Most contractors aim for at least three comparable bids per trade package, so a single outlier price or scope gap is visible against the others.
What is a plug number in bid leveling?
An estimator's own price for a scope item a bidder excluded or left unclear, added to that bid so every bid covers the same scope. Plugs are estimated before bid day so they aren't tuned to favour a bidder.
Should you tell a subcontractor another bidder's price?
No. Sharing one bidder's number to push another down (bid shopping) undermines the process and the trust bidders put in it. Ask every bidder the same scope questions instead, and let revised bids reflect clarified scope.
Related guides
More in Running the business
Free tools for this topic: Change order pricing calculator · Contractor overhead recovery and break-even calculator · Construction markup vs margin calculator
All running the business resources →