Skip to main content
DoneThat

AI Adoption GuideConstructionAward

Vendor Past Performance Retrieval

RAG over the internal project database surfaces prior defect rates, claims, and delivery outcomes for each bidder.

Construction processBidAwardPlanMobilizeBuildInspectHandoverClose

By Don, DoneThat’s AI coach · updated

What retrieval is allowed to return

Past performance retrieval answers one question for the awards file: what did this legal entity deliver on our jobs, according to our records, with a cite a commercial lead can open. It does not score this tender, invent a defect rate, or supply a substitute history when the file is empty.

The packet is a set of retrieved outcomes. Typical contents are completion against the contract date, punch items at handover if recorded, NCR or quality-hold logs, claim and variation register lines, and close-out notes. Every line names the project, the record type, and the identifier in the project database.

That boundary is the quality outcome. A retrieved NCR is evidence that an NCR existed on a prior job. It is not a finding that this bid is defective. A retrieved claim file is a record that a claim was lodged, withdrawn, or settled. It is not a deduction from this tender.

If you need a scored view of late finish, run contractor delivery risk scoring later.

Match the bidding entity before you search

Start with the bidding entity on the forms, not the trading name on the cover.

Take the legal name, company number, and any stated parent or joint-venture structure. Search the internal project database for jobs where that same entity was contractor, trade contractor, or named subcontractor. Project platforms in the Autodesk and Procore class usually hold the job list, quality records, punch lists, and correspondence you will cite. Treat those systems as first-party storage. Do not replace them with brochure claims or third-party scorecards.

Wrong-entity matching is the failure that looks like a complete file.

A trading name can cover more than one company. A parent can share a mark with a subsidiary that never contracted with you. A joint venture can have a clean close-out while one member, bidding alone, has no jobs of its own. If retrieval collapses those into one vendor, the commercial read attaches someone else's NCRs, claims, or completions to the bidder.

Work the match in this order:

  1. Legal name and company number against vendor master and the parties named on prior contracts.
  2. Aliases already linked in vendor master. Do not invent aliases from similar spellings.
  3. Project role. The same company can appear as main contractor on one job and as a trade on another, and the records are not interchangeable without saying so.

If two candidates remain, do not merge them. Return both with their cites and flag the ambiguity. A commercial lead can resolve a flagged pair. They cannot unwind a blended history once it has been treated as the bidder's past performance.

Retrieve first-party records and cite them in the commercial read

With the entity locked, retrieve. Do not summarize into a score first.

For each matched project, pull the outcome fields your organization already stores: practical completion versus contract completion, punch volume at handover if recorded, NCR or quality-hold logs, claim and variation registers, and any close-out note. Keep original identifiers. The cite is the product.

Write the commercial read so another person can open every line. Group by delivery, quality, and claims. Under each, list project number, record ID, and one sentence that restates the source, not your inference. If a field is missing on a project, leave it blank. Missing is not zero, and it is not a license to average the other jobs into a defect rate.

A commercial lead is comparing three HVAC tenderers for a hospital plant replacement. Retrieval runs against the internal project database.

Tenderer A matches two completed jobs under the same company number. The packet cites Project 18-441, NCR log entries NCR-204 and NCR-219, and the claims register line for a delay claim that was later withdrawn, plus the completion certificate. The read states those facts and does not compute a defect rate from two NCRs or apply NCR-204 to the hospital plant specification.

Tenderer B's cover name matches a joint venture that finished a laboratory job. The bidding entity on this tender is one member of that JV, bidding alone. Retrieval returns the JV records with a mismatch flag and does not attach the laboratory NCRs to the member. The commercial lead either confirms a vendor-master link or discards the JV file.

Tenderer C has never contracted with the organization. The packet is empty. The lead does not paste a sister-company history or a typical HVAC quality figure into the blank.

That is what quality retrieval looks like: outcomes with cites, or an honest empty file.

If you later need the wording of those NCRs grouped by cause, send the cited texts to defect root cause classification. Classification does not replace the cite, and it does not turn a prior NCR into a defect on this job.

Read NCRs and claims as prior records, not as this bid's defects

A retrieved quality record describes a prior contract, spec, and site, not this tender.

Do not treat a retrieved NCR as this job's defect. The NCR may have been closed, disputed, or raised against a package that is not in this scope. It may concern a system the current spec does not include. Dropping it into the award file as if it were an inspection finding converts a historical record into an unmade site observation.

The same rule applies to claims. A past claim can record late information, a client-instructed variation, delay by the contractor, or a position that was withdrawn at settlement. Retrieval should surface the claim file and its close-out note. It should not label the bidder claims-heavy unless your organization already has a written rule that a human applies after reading the cites. This page does not create that rule and does not invent a claims ratio.

If lessons or close-out files exist, retrieve them as records too. They often hold the context a raw NCR ID cannot. That work sits next to lessons learned knowledge base extraction. The award packet still needs the source ID, not only a distilled lesson.

Put retrieved items in an appendix with cites. Keep the recommendation memo to what a person verified with the record open. If an NCR or claim is material to this award, a human says why, in this context.

Leave empty files empty, then hand the packet to award

Empty stays empty.

A new vendor, a first-time trade in this region, or a company that only supplied materials will often return no project outcomes. That result is complete. Filling the blank with a modeled defect rate, a parent company's file, or an industry figure turns retrieval into fiction and hides the real decision: you are awarding with no first-party file.

The commercial sentence in that case is: no matching first-party project records for this legal entity. The award team then uses bid quality, references they choose to verify, and any other step your governance already allows.

Do not widen the match until something appears. That is how the wrong entity gets a history. A thin file with a correct cite is usable. A thick file attached to the wrong party is not.

When the packet is ready, it does not write the recommendation. It supplies cited outcomes so the write-up can separate known history from unknown. Attach it as an evidence appendix in award recommendation report.

If delivery risk scoring runs later, it should consume the same cited records, not a second unmatched search. Otherwise the award memo and the risk view will disagree about who the vendor is.

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