Compare every subcontractor bid side-by-side — and see who actually wins.
Five to fifteen bids land for one package, in five different formats. Bid Reasoner puts them all in one ranked comparison matrix — bidders in columns, scored on price, scope, schedule, and risk — ranked under the decision mode you choose, so the winner is visible instead of buried in PDFs.
You can't compare bids you can't see next to each other.
The bids for one package arrive in whatever shape each sub felt like sending: a tidy line-item PDF, a two-line email quote, a marked-up spec, a spreadsheet export. To compare them you build the same leveling spreadsheet you build every time — retyping line items, guessing which bidder's "site work" matches which, and squinting at totals that aren't measuring the same scope.
By the time the spreadsheet is readable you've dropped half the field, and the only column anyone trusts is price. The questions that actually decide the award — who's missing scope, whose schedule holds, which low number is a front-loaded outlier — never make it into the same view, so they don't make it into the decision.
From a folder of bids to one ranked matrix.
Three steps. Drop the bids in; the comparison view builds itself.
Read & normalize
Bid Reasoner reads each bid — PDF, Excel, Word or CSV — extracts the line items, and maps them to your scope of work — so a row in the matrix means the same thing across all 5 to 15 bidders.
Score & rank
Bidders are scored across six dimensions — price, scope, schedule, compliance, performance, risk — and dropped into one ranked matrix.
Rank & decide
Re-rank the field under any of 7 decision modes. The recommended winner surfaces with page-cited evidence — and if you pick differently, the award page marks it as an override and asks for a category and a reason.
One view. Bidders ranked by what matters.
This page owns the side-by-side view and the ranking. The normalization math that makes the columns comparable lives in bid leveling software.
The matrix puts all 5 to 15 bidders across the top and the comparison axes down the side. Price is one row — not the whole table. Next to it sit the scope-coverage gaps and the deterministic risk flags, which add up to a separate rule-based risk score for each bidder (the six-dimension scores and the ranking are on the Decision Workbench), so a number that looks low because it's missing scope or front-loaded on mobilization shows that the moment you scan the column.
Pick a decision mode and re-run Analyze Package to re-rank the field: Lowest Responsible Bid puts price first; Best Value weighs the six dimensions together; Lowest Risk, Schedule Priority, Scope Completeness, Budget-Constrained, and Custom Weighting each re-rank the same field to the question you're actually answering. For PDF bids, the bid's extraction page shows the page each line was read from, when the reader recorded one, and saved AI findings cite the document and page — not an opaque score.
What's in the comparison, concretely.
Scoring dimensions
Price, scope, schedule, compliance, performance, risk — the bidders are scored on all six.
Decision modes
Re-rank the same field by Best Value, Lowest Risk, Schedule Priority, and four more.
Pricing rules
Deterministic flags for unbalanced unit prices, peer and total-bid outliers, and front-loaded mobilization.
US states supported
Every bidder normalized against the peer median of your own bids — works in any US state, no government data required.
A leveling spreadsheet shows numbers. It doesn't rank.
| Excel / manual leveling | Generic bid software | Bid Reasoner | |
|---|---|---|---|
| Bids read & normalized to your scope | Retyped by hand | Filing & invites only | Automatic — PDF, Excel, Word, CSV |
| All 5-15 bidders in one ranked matrix | If you don't drop any | List, not ranked | Bidders ranked |
| Rank on more than price | Manual re-sort | Price only | 6 weighted dimensions |
| Re-rank under decision modes | No | No | 7 modes |
| Scope gaps shown next to price | Caught by eye, if at all | No | Gap analysis built in |
| Line items & findings trace to the bid page | No | No | Extraction page (PDF bids); saved AI findings cite the page |
Comparison is the start of the decision, not the end.
The ranked matrix answers "who wins." The next two questions follow straight from it. Scope gap analysis drills into what each bidder did and didn't quote — the items in your SOW they skipped, and the items they bid that you never asked for. And once you've picked, award memo software turns the comparison into the documents that defend the pick, each AI finding cited back to the source bid.
Same data, three views: level it, compare it here, then award and document it — without re-entering a single line item between steps.
Comparing & ranking subcontractor bids — answered.
What is the best way to compare multiple construction bids?
Put every bid in one apples-to-apples matrix before you compare prices. Bid Reasoner reads each subcontractor bid, normalizes the line items to your scope of work, then lays the 5 to 15 bidders side-by-side in a single ranked matrix scored on price, scope, schedule, compliance, performance, and risk. You compare the bidders against each other in one view instead of flipping between PDFs and spreadsheet tabs.
How do you compare subcontractor bids that are not the same scope?
You map every bid to a common scope first, which is what Bid Reasoner does automatically. It extracts each bidder's line items and matches them to your scope of work by pay-item code, then runs scope-coverage gap analysis: items in your scope the bidder did not quote, and items the bidder bid that were not in your scope. The comparison matrix shows those gaps next to the price, so a low number that is missing scope does not look cheaper than it is.
Can I rank bids on more than just price?
Yes. Bidders are scored across six dimensions — price, scope, schedule, compliance, performance, and risk — and the overall ranking weighs all six. You can re-rank the field under 7 decision modes, including Best Value, Lowest Risk, Schedule Priority, Scope Completeness, and Custom Weighting, so price is one input rather than the only one.
Is this a bid comparison spreadsheet replacement?
Yes. It replaces the hand-built leveling spreadsheet you rekey for every package. Bid Reasoner reads the bid PDFs, normalizes the line items, scores the bidders, and builds the ranked comparison matrix automatically — no formulas to maintain, no rekeying, and changing the decision mode or weighting re-ranks the field on the next Analyze Package run.
How does it decide which bidder wins?
It recommends a winner under the decision mode you choose, then shows the reasoning: the six-dimension scores, why it did or didn't go with the low bid, and the saved AI findings, each citing the document and page. The rule-based risk flags and scope gaps sit beside the prices on the Compare page. You can re-run the analysis under a different decision mode to re-rank the field, and when your pick differs from the recommendation, the award page marks it as an override and asks for a category and a reason — both go into the award memo.
Does it do quantity takeoff or estimating from scratch?
No. Bid Reasoner is not takeoff or quantity-estimating software. It analyzes the subcontractor bids you receive — leveling, comparing, and ranking them — rather than generating quantities or your own estimate from drawings. It complements estimating tools like HeavyBid and B2W.
How many bids can I compare at once?
The comparison matrix is built for the 5 to 15 subcontractor bids a heavy-civil GC typically receives per package, with each bidder in its own column. There is no need to drop bidders to keep a spreadsheet readable — every bid that has been read stays in the matrix.
Does it work in any state, without DOT data?
Yes. Bid Reasoner works in any US state by normalizing each bidder against the peer median of your own bids — no government data is required. The ranked comparison and six-dimension scoring run the same way in every state.
See your own bids in one ranked matrix.
Bring one package's bids. We'll read them, normalize them, and rank them side-by-side on the call.