Skip to content

Home services and trades

How to test an AI estimating tool against your past jobs

By SourceX Editorial · Updated

Short answer

To test AI estimating software, run it blind on closed jobs you already priced: give it only what your estimator had on bid day, hide the final estimate and job costs, then compare line items, quantities and totals against both. Log every miss by type. A tool that matches totals but misses line items is not ready for unsupervised use.

Key takeaways

  • Test on your own closed jobs, because only they come with known answers: your estimate and the actual cost.
  • Give the tool only bid-day inputs; leaking invoices or job costs into the test makes any result meaningless.
  • Compare line items and quantities, not just totals, since offsetting errors can make a total look right.
  • Export test data rather than giving an AI tool access to your field service account, and read its data use terms.
  • Keep the test set and rerun it whenever the vendor updates the tool.

Why test on past jobs instead of a vendor demo?#

Past jobs are the only test where you already know the right answer. A vendor demo uses jobs the vendor chose, priced with assumptions that may not match your labor rates, pricebook, suppliers or local code requirements. Your closed jobs carry all of that, plus the actual cost of doing the work.

A past-job test also measures the tool against two benchmarks instead of one. Comparing with your original estimate shows whether the tool drafts the way your estimators do. Comparing with actual job cost shows whether it would have priced the work more accurately, which is the question that decides margin.

Step 1: choose the test jobs#

Choose test jobs that look like the work you want the tool to handle, plus a few that should be hard for it. A set made only of simple jobs flatters every tool.

Exclude jobs with missing inputs. If the photos, measurements or plans your estimator used are gone, the tool cannot be judged fairly on that job, and a gap in the file will look like a tool error.

Step 1: choose the test jobs
Job groupWhy include itWhat it tests
Routine jobs of your most common typeThis is where the tool would save the most timeSpeed and consistency on standard scopes
Larger or unusual jobsErrors cost the most hereWhether the tool flags what it does not know
Jobs that needed change ordersScope grew after the estimateWhether the tool anticipates common add-ons
Jobs priced by different estimatorsEstimators price differentlyWhether results depend on one person's style
Bids you lostThey carry your price, though no actual costHow the tool's price compares with yours on work you did not win
  1. 01Your work records
  2. 02Personal details removed
  3. 03You approve the release
  4. 04Licensed to AI developers
How it works with SourceX: Your work records → Personal details removed → You approve the release → Licensed to AI developers.Illustrative

Step 2: rebuild bid-day inputs and hide the answers#

Bid-day inputs are whatever your estimator had before pricing: the customer's request, site photos, measurements, plans or takeoff files, equipment data plates and scope notes. Give the tool exactly those, and nothing created later.

Hiding the answers takes more care than it sounds. Final invoices, job cost reports, technician notes and change orders all reveal the outcome, so keep them in a separate folder the person running the test does not upload. Exports help here: ServiceTitan's guide to exporting Housecall Pro data says the jobs export includes invoice numbers, customers and line items and should be run in one-year batches if a report errors, and its FieldEdge guide says to set every Invoices filter to All so the export is not limited to the previous six months.

Do not hand the tool your field service login. ServiceTitan's terms of use bar customers from letting outside parties use its technology, and they name AI agents specifically. Read the AI vendor's data terms too: Procore's AI FAQ, for instance, notes that its own internal models may learn from what customers enter and receive in order to make Procore AI more accurate. Know where your test jobs go before you upload them.

Step 3: compare line items, quantities and totals#

Compare at several levels, because a correct total can hide offsetting mistakes. A tool that misses flashing but overprices labor can land near your number for the wrong reasons, and that luck will not repeat.

Step 3: compare line items, quantities and totals
ComparisonWhat to recordWhat it tells you
Total versus your original estimateDifference for each jobWhether drafts look like your estimators' work
Total versus actual job costIts gap next to your original estimate's gapWhether the tool would have protected margin
Line items presentItems missed and items added that were not neededHow well it understands scope
QuantitiesMeasurement and takeoff errors by itemHow accurately it reads photos, plans or measurements
Labor hoursHours estimated versus hours workedWhether it knows your crews' productivity
Material pricingUnit prices versus your supplier pricingWhether its price book can be kept current
Exclusions and assumptionsWhat it stated or failed to stateWhether a customer would get a clear proposal

Step 4: log every miss and set decision rules#

A miss log turns impressions into a decision. Record each miss with the job, the item, the type of error and whether your estimator would have caught it on review.

Write the decision rules before you see results. For example: the tool may draft routine jobs if its misses are all ones an estimator catches on review; it is not used on larger jobs until missed-scope errors stop appearing; and it is retested on the same set after every major vendor update.

  • Missed scope: an item the job needed that the tool left out.
  • Unneeded scope: an item the tool added that the job did not need.
  • Quantity error: the right item in the wrong amount.
  • Price error: the right item and amount at the wrong unit price.
  • Labor error: hours that do not match how your crews work.
  • Unflagged uncertainty: a guess presented as fact.

Illustrative: a roofing contractor tests an AI takeoff tool#

Illustrative: a fictional residential roofing contractor considers an AI tool that reads aerial measurements and photos and drafts reroof estimates. Its estimator selects closed reroof jobs of different sizes and roof types, gathers the measurement reports and photos from each file, and moves invoices and job cost reports into a locked folder.

The tool comes close on squares and shingle quantities. It regularly misses decking replacement found during tear-off, extra flashing around chimneys and skylights, and permit and disposal costs that vary by town. Totals for simple roofs land near the original estimates; totals for complex roofs do not.

The contractor uses the tool for first drafts on simple reroofs only, adds a review checklist covering the items it misses, and keeps the test set to rerun when the vendor releases an update.

Your test set has value beyond the pilot#

A test set of closed jobs with bid-day inputs, the original estimate and the actual cost has the same structure AI developers look for when they license operational records: a real decision, the information behind it and the outcome. Keep it organized after the pilot; it is also your benchmark for the next tool you evaluate.

SourceX helps contractors license records like these without selling them outright, through the SourceX five-step transaction of Supply, Rights, Preparation, Approval and Delivery. The fit check uses metadata only, and Preparation removes customer names, addresses and photos that identify homes before anything is released.

Frequently asked questions

How many past jobs do I need for a fair test?

Enough to cover each job type you plan to use the tool on, with several examples per type and a few hard cases. A handful of easy jobs proves little. If your job mix is broad, test one job type thoroughly before widening the pilot to others.

Should my estimators know which jobs are in the test?

The person preparing inputs must know, so they can hide the answers. Have someone other than the original estimator score each job, or review results as a group, so nobody feels the test is a judgment on their own past estimates.

Can I upload customer photos and addresses to an AI tool?

Check the vendor's data terms and your own privacy commitments first. Many tests work with addresses removed and photos that do not show house numbers or people. If the vendor may use uploads to improve its models, decide whether that is acceptable before you send anything.

What if the tool beats my original estimate?

Check it against actual job cost, not only your estimate. If the tool lands closer to actual cost on a job type, look at why: it may use better labor assumptions, or it may be lucky. Several jobs of the same type showing the same pattern is a signal worth acting on.

Should we retest after vendor updates?

Yes. Vendors change models and price books, sometimes without much notice. Rerun the same test set after major updates and compare the miss log with the previous run, so you know whether the tool improved on your work rather than on the vendor's examples.

Sources

  • ServiceTitan's guide says the Housecall Pro jobs export includes invoice numbers, the customer for each job and line items, and that a report that errors should be run in one-year batches. Source
  • ServiceTitan's FieldEdge guide says to set every filter at the top of the Invoices tab to All before exporting, so the export includes all invoice data rather than only the previous six months. Source
  • ServiceTitan's terms of use say users must not let any third party, expressly including any AI Agent, access or use ServiceTitan Technology. Source
  • Procore's AI FAQ says Procore's internal models may use data collected from customer inputs and outputs to improve Procore AI accuracy. Source

Related resources

See if your company qualifies

A short company assessment. No data uploads are needed.

See if your company qualifies