Closeout reconcile. The next bid is sharper.
Bid vs Actual is the Trueleveler engine that, at project closeout, reconciles the awarded bid line-by-line against final job cost. CSI-by-CSI variance with root-cause attribution — was it the field, the buyout, the COs, or the estimate itself? Patterns feed back into Cost Estimating so the next bid prices reality, not assumption.
Try it now
Bid vs Actual runs on your original bid and PO log and needs a free account (no card). It has no sample data yet, and the no-signup demo only levels bids.
The loop that never closes.
Bid-vs-actual reconciliation is the most-skipped step in construction. Everyone knows it should happen. Nobody does it consistently. Three reasons:
The data lives in 4 places
Original bid in the estimator's spreadsheet. Buyout numbers in the PM's tracking sheet. Actuals in accounting. COs in a folder somewhere. Reconciling means cross-referencing four systems that don't speak the same language.
Closeout is exhausting
The team that ran the project is already three jobs deep into the next ones. Going back to do BvA the right way means budgeting a week of senior estimator time on a job that's already in the rearview.
Nobody likes the answer
BvA exposes patterns that are uncomfortable. The estimator routinely under-prices Division 16. The PM routinely over-spends on changes. Surfacing these is politically delicate — better to just bid the next job.
This engine runs the reconciliation automatically at closeout because the data is already in the project's memory. It surfaces patterns calmly — not finger-pointing, just data — and feeds the Cost Estimating engine so the next bid carries the lessons forward.
One row per CSI division. One root cause per row.
The output is a structured variance report. Each CSI division gets a row showing bid, buyout, actuals, COs, and the delta — with a root-cause attribution for divisions flagged as significant overruns (variance above +15%) or significant wins (below -10%).
Estimate gap (under-priced takeoff) · Owner scope (CO-driven, not estimator fault) · Field condition (site reality differed from drawings) · Buyout swing (vendor pricing moved between bid and award) · Execution (sub over-ran their own bid). Each variance is tagged with the dominant cause — sometimes more than one applies and we weight them.
Project N teaches project N+1. Automatically.
The variance report is interesting but not transformative on its own. What changes the trajectory is the FEED back into Cost Estimating — the firm's next bid carries the lessons of the last one.
Estimator drift
"Division 15 plumbing under-priced by avg 8% over the last 6 jobs." Cost Estimating engine carries a +8% adjustment forward for that estimator until the variance closes.
Sub reliability
"HVAC Pros came in at -2% vs bid on last 4 jobs." Bid-leveling next time gives HVAC Pros a confidence boost. Vendor profile aggregator records the reliability score.
Scope blind spots
"Utility relocations recur on this submarket." Cost Estimating flags Div 16 site-investigation costs as a required line item on future projects in the same geography.
CO-prone owners
"Owner-X averages 12 CO line items per job, mostly finishes." Negotiation Intelligence carries that pattern into the next bid's contingency analysis.
Trade swap cost
"Spec called PEX. Spec actually required Type L copper." Submittal Reviewer learns to flag the substitution as material-cost-affecting on future projects.
Year over year
After 8–12 jobs run through the engine, estimate accuracy on average jobs tightens from typical industry ±7% to ±3%. Not magic — just the loop closing.
The same data. Two audiences.
BvA is sensitive. GC internal view shows root cause + estimator name + sub margins. Owner-facing view shows totals + scope-driven variances only.
Estimator + sub + root cause
Full variance report including which estimator priced each division, which sub executed, and the root-cause attribution. Used in post-project reviews and bid-team retros. Senior estimator name attached when relevant.
Scope variances only
Strips internal margins, estimator attribution, and sub-vendor cost details. Shows owner-directed CO impacts + site-condition variances + final cost vs GMP. The view your owner-rep takes to the project owner meeting.
It works alone. It's better in a chain.
Bid vs Actual is the engine that closes the construction learning loop. Inputs from every other engine; output flows back to estimating + vendor profiles.
- Cost Estimating — receives estimator-drift patterns + scope-blind-spot patterns + trade-swap cost data for next-bid calibration.
- Bid Leveling — sub reliability scores from variance feed back into vendor confidence ratings at next bid.
- CO Review — CO totals + verdicts feed the "owner scope" root-cause attribution.
- Closeout Builder — BvA report is included in the owner closeout package (the redacted view).
Things everyone asks first.
What if our project didn't use Trueleveler from the start?
BvA still works — you import the bid, the final cost report, and the CO log; the engine builds the variance report from those three. The root-cause attribution loses precision (it can't cross-check against Procurement deliveries or Schedule Risk for field-condition flags) but the basic CSI variance + 5-bucket categorization is intact.
How is "final cost" defined? Including or excluding GC fee?
Configurable per project. Default is "cost of work" (sub costs + materials + GC labor; excludes fee and contingency). Some firms run a parallel report including fee for internal margin analysis. Owner-view always uses cost-of-work to avoid surfacing margin details.
Does this surface individual estimator performance?
Yes — in the internal view only. Configurable: some firms anonymize the estimator field for sensitivity, especially when running BvA in post-project retros. Default is named; can be toggled to "Estimator A / B / C" for blind reviews.
What if the bid was a GMP and the final cost was under GMP?
Same engine, just additional outputs. Surfaces the shared-savings allocation (per the GMP contract), the contingency utilization, and which divisions delivered the savings. Useful for both owner negotiations and internal post-project reviews.
Run BvA on a closed job in 15 minutes. See the patterns.
Bring a recently-closed job to a call. We'll process bid + actuals + COs live and produce the variance report on screen. The patterns that surface usually surprise even the senior estimators.
Try Free for 14 Days →