Skip to main content
DoneThat

AI Adoption GuideConstructionAward

Abnormally Low Bid Detection

ML flags bids where line items deviate significantly from market benchmarks, indicating future claims risk.

Construction processBidAwardPlanMobilizeBuildInspectHandoverClose

By Don, DoneThat’s AI coach · updated

Flag the line, not the bid

An abnormally low line is a review item. It is not a reject instruction, and it is not evidence that the contractor will later claim.

The record that belongs in the commercial file is a flagged line: the bid item as submitted, the named benchmark it was compared against, the direction of the gap, and a decision field the commercial manager still owns. Do not auto-reject the bid because a model scored a line as low. The machine's job is to put the exception on the page with cites a reviewer can check.

If no named benchmark exists for that item, leave the comparison empty. An empty cell is more honest than an invented market rate. Reviewers can still read the bid. They just cannot be told the line is abnormally low relative to a number nobody can source.

Compare each item to a named benchmark

Work the tabulation at line-item level, not at lump-sum total. A bid can look competitive in the envelope while one or two trades are priced in a way that will not survive construction. Totals hide that. Lines do not.

For each priced item in the bill or schedule, pull a named benchmark that matches the same work, and name it on the flag. A named benchmark is a rate or range the team already uses, with an identity a reviewer can follow: the cost plan rate for that BOQ code, the agreed framework rate, the regional trade rate last signed off by estimating, or a prior comparable tender retrieved with a documented query. Use historical bid RAG retrieval when the comparable is a past bid rather than a live cost-plan rate.

Match on the work, not on the heading text alone. Structural steel on one bid may include erection, fire protection, and connections. On another it may be supply only. If the scope behind the line is not the same as the scope behind the benchmark, do not flag. Scope mismatch is not a low bid. It is a comparison error.

Do not invent a market rate when the library has a gap. Specialist items, design alternatives, and one-off temporary works often have no current benchmark. Empty stays empty. If estimating later adds or refreshes that rate, that belongs in estimating benchmark update, not in a silent fill during award.

Bid tabs often already live in the estimating or project system the team uses, whether that is Autodesk, Procore, or another platform. Read the same line items those systems already hold.

Set the flag rule in advance: a line is flagged when it sits materially below the named benchmark for the same scope, after qualifications and inclusions are aligned. Use the commercial threshold the team already applies in tender review, not a new model-only cutoff.

Cite both sides of the exception

Every flag needs two cites, not one.

Cite the bid item: the bidder, the BOQ or schedule code, the description as submitted, the unit, the quantity, and the rate or amount. If the bidder qualified the line, include the qualification. A low rate with a note that the item is omitted or assumed by others is a different problem from a low rate for the full specified scope.

Cite the benchmark: its name, the date it was last updated, the unit and scope it covers, and where it lives (cost plan, framework schedule, signed-off estimating library, or retrieved historical tender). If the benchmark is a range, cite the range, not a midpoint picked to make the gap look larger.

Then state the deviation in plain language: this line is below the named benchmark for the same unit and scope. Do not add a claims narrative, and do not write that the line will become a variation. The commercial manager may conclude that after reading drawings, method, and programme. The flag does not get to conclude it first.

One working picture is enough. A secondary-school package arrives with five bids. Four bidders price structural steel erection in a tight band around the named regional steel-erection rate estimating last signed off for education work. One bidder prices the same BOQ item far below that band, while concrete, envelope, and finishes sit with the pack. The system flags the steel-erection line, cites the BOQ item as submitted, and cites the named education steel-erection benchmark with its last-updated date. It does not reject the bid. It does not rewrite the rate. The commercial manager still has to ask whether the bidder omitted fire protection, assumed a different erection method, priced a lighter section allowed by an alternative design, or simply under-measured the tonnage.

Failure modes that look like diligence

Four mistakes show up often, and each can look like careful commercial control.

The first is rejecting a legitimate design alternative. A bidder may price a specified system low because they have offered a compliant alternative that uses less material, a different temporary-works approach, or a supplier they already have on a framework. Read the alternative against the specification, confirm it is acceptable, and only then decide whether the rate is still low for the alternative scope. Do not keep citing a benchmark for work the bidder is no longer proposing to build.

The second is using a stale benchmark. A rate last updated before a labour agreement, a steel-price swing, or a change in the local plant market will make current bids look artificially low, or sometimes artificially high. The flag is then a comment on the library, not on the bidder. Check the benchmark date on every cite. If the library is behind the market, stop flagging against it until estimating refreshes the rate through estimating benchmark update. A stale cite in an award file is worse than no cite: it looks sourced, and it is not.

The third is treating the flag as proof of future claims. Under-pricing can sit next to later commercial tension, but a low line is not a claim. It might be a bid error the contractor will try to recover, a loss-leader they will live with, or a genuine efficiency. Claims risk is a separate judgment, informed by method, programme, qualifications, and delivery history, including contractor delivery risk scoring where that file already exists. Keep the price exception and the delivery view next to each other. Do not merge them into one score that nobody can unwind.

The fourth is filling empty cells. If the library has no rate for a specialist facade or a temporary jetty, writing in a market number so the model can score the line creates a false exception. Empty stays empty. The commercial manager can still ask the bidder to break down the line.

What commercial still owns at award

The commercial manager decides what happens to the bid.

Ask the bidder to confirm inclusions, exclusions, and method for the flagged line. Compare the answer to the specification and to the benchmark scope. If the price was an error, record the clarification and whether the bid is still compliant. If the price stands, record why the team still considers it deliverable, or why it is not.

Do not correct the bid by substituting the benchmark rate. That is a different tender. If the process allows a clarification round, use that process. If it does not, award or exclude on the bid as submitted, with the flag and the review note attached.

Carry the flagged lines into the award recommendation report so the award file shows what was checked, against which named benchmark, and what commercial concluded. That is the quality outcome: visible exception, sourced comparison, owned judgment.

Stop when the cites are on the page and the decision is written.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first