Decision Workbench

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 — every bidder in a column, scored on price, scope, schedule, and risk — sortable by any dimension or decision mode, so the winner is visible instead of buried in PDFs.

Live private beta · onboarding founding heavy-civil GCs
The problem

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 scanned fax. 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.

How it works

From a folder of bids to one ranked matrix.

Three steps. Drop the bids in; the comparison view builds itself.

1

Read & normalize

Bid Reasoner reads each bid PDF in any format, extracts every line item, and maps it to your scope of work — so a column in the matrix means the same thing across all 5 to 15 bidders.

2

Score & rank

Each bidder is scored across six dimensions — price, scope, schedule, compliance, performance, risk — and dropped into one ranked matrix, every bidder a column, ranked against the rest.

3

Sort & decide

Sort by any dimension, or re-rank the whole field under 7 decision modes. The recommended winner surfaces with page-cited evidence — and you can override, with the reason logged.

The comparison matrix

One view. Every bidder. Sortable 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 six-dimension scores, the scope-coverage gaps, and the deterministic risk flags, so a number that looks low because it's missing scope or front-loaded on mobilization shows that the moment you scan the column.

Click a column header to sort the whole field on that dimension. Switch decision mode and the ranking re-orders live: 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 matrix to the question you're actually answering. Every cell traces back to a page-cited quote from that bidder's PDF — not an opaque score.

By the numbers

What's in the comparison, concretely.

6

Scoring dimensions

Price, scope, schedule, compliance, performance, risk — every one a sortable column in the matrix.

7

Decision modes

Re-rank the same field by Best Value, Lowest Risk, Schedule Priority, and four more — live.

4

Risk rules

Deterministic flags for unbalanced unit prices, peer and total-bid outliers, and front-loaded mobilization.

50

US states supported

Every bidder normalized against the peer median of your own bids — works in any US state, no government data required.

Why not the status quo

A leveling spreadsheet shows numbers. It doesn't rank.

 Excel / manual levelingGeneric bid softwareBid Reasoner
Bids read & normalized to your scopeRetyped by handFiling & invites onlyAutomatic, any PDF
All 5-15 bidders in one ranked matrixIf you don't drop anyList, not rankedEvery bidder, ranked
Sort & re-rank by dimensionManual re-sortPrice onlyAny of 6, live
Re-rank under decision modesNoNo7 modes
Scope gaps shown next to priceCaught by eye, if at allNoGap analysis built in
Every cell traces to the bid PDFNoNoPage-cited
What this is not: Bid Reasoner is not takeoff or quantity-estimating software. It compares and ranks the subcontractor bids you receive — it doesn't generate quantities or your own estimate from drawings. It complements HeavyBid and B2W.
Where it leads

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

Questions

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 PDF, normalizes every line item to your scope of work, then lays all 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 aligns them to your scope of work, 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. Every bidder is scored across six dimensions — price, scope, schedule, compliance, performance, and risk — and the matrix is sortable by any of them. You can also re-rank the whole 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 each bidder, and builds the ranked comparison matrix automatically — no formulas to maintain, no transcription errors, and the ranking updates the moment you change the decision mode or weighting.

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, the scope gaps, the risk flags, and page-cited quotes from each bid PDF backing the call. You can sort and re-rank the matrix yourself, and if you override the recommendation, a category and reason are logged to the audit trail.

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 ranked against the rest. There is no need to drop bidders to keep a spreadsheet readable — every bid stays in the matrix and in the ranking.

Does it work outside New York, without DOT data?

Yes. Built-in DOT baselines for select states are available, but Bid Reasoner works in any US state by normalizing each bidder against the peer median of your own bids — no government data is required to start. The ranked comparison and six-dimension scoring run the same way whether or not a public catalog exists for your state.

See your own bids in one ranked matrix.

Bring one package's bids. We'll read them, normalize them, and rank all of them side-by-side on the call.