Turn Your Quote History Into an AI Estimator (The Full Method)
TL;DR
Your pricing logic is real IP. It is sitting in old quote spreadsheets and in the head of whoever does your estimates. An AI estimator pulls that logic out into a system anyone on your team can query.
The method is six steps: define your job types, define your cost rates, extract past jobs, clean the data, compile it into a knowledge base, then build a skill that reads it. We did this for a dev agency using 29 historical quotes.
Compile once, keep current. You do not run AI over your raw files every time. You build a structured knowledge base, query that, and feed every finished job back in so the next estimate is sharper.
Most service businesses keep their most valuable asset in the worst possible place: one person's head.
That asset is your pricing logic. The instinct for how long a job takes. What pushes a simple job into a complex one. What you can charge and still win the work. It took years to build. And it walks out the door every time that person is on leave, busy, or gone for good.
There is a better home for it. Your old quotes already hold the pattern. This post shows how to pull that pattern out and turn it into an AI quote estimator: a tool that gives a grounded cost range for a new job in minutes, built from work you have already done.
We did exactly this for a software agency. The same method works for an electrician. I will use both as examples.
The full step-by-step build, with every prompt to copy and paste, lives in the companion guide: How to Turn Your Quote History into an AI Estimator. This post is the why and the shape of it.
What an AI quote estimator actually does
You describe a job in plain English. The estimator returns:
- The job type it maps to, or how to break a combined job into known parts
- A complexity tier: simple, medium, or complex, and why
- Labour hours by role
- A materials estimate
- Your internal cost, using your real cost rates
- A client price at your standard margin, plus a cheaper and a fuller option
- A confidence level, and what is driving any uncertainty
It does this in the time it takes to read a job brief. Not because it is clever, but because it is reading a structured record of your own history instead of guessing.
What it does not do is replace your formal quote. That distinction matters, so let us make it clean.
Estimating is not quoting
An estimate is a fast range before the job is fully scoped. It is what you give a client on the first call when they ask "roughly, what are we looking at?" It will not be exact. It is not meant to be.
A quote is the formal price after full scoping. Line by line. Signed off.
This method builds the estimator, not the quoting tool. That is on purpose. The estimate is where most businesses are slow and inconsistent, because it depends on the one person who can do it in their head. A good estimate gets you a defensible number in front of the client fast, while their attention is hot. It is the same play as turning a discovery call into a proposal in 15 minutes: put AI on the repeatable 80% and keep your judgment for the rest. The full quote follows once the scope is locked.
Get this clear up front and you will set the right expectation with your team and your clients.
The worked example: 29 quotes into an estimator
The agency, Devwiz, builds custom software. Years of quotes were sitting in Google Drive as spreadsheets. Useful once, then forgotten.
Here is what the build looked like, in order:
- Pulled 37 old quote spreadsheets out of Google Drive and converted each one to a clean data file.
- Removed 8 of them during a quality pass: blank templates with no real numbers, duplicates, and drafts where the estimates were never filled in. That left 29 usable jobs.
- Defined the job types. Across those 29 projects, the same blocks of work kept appearing: authentication and onboarding, admin portals, payments, notifications, and so on. Each became its own page.
- Built a page per job type. Each page holds the hours by complexity tier, what pushes a job from simple to complex, and two or three real past jobs as anchors.
- Built the estimator. It reads those pages and produces a cost range with a confidence note.
Now anyone at the agency can get a defensible range on a new project without waiting for the one architect who used to hold all of it.
The pricing logic stopped being a person. It became a system.
Why a knowledge base beats re-reading your old files
Here is the part people get wrong. They think the trick is to point AI at a folder of old quotes and ask it to estimate each time.
That is slow and expensive. The AI re-reads everything, every time, and quietly draws different conclusions on different days.
The better pattern has three layers, each with one job:
| Layer | What it is | Who maintains it |
|---|---|---|
| Raw sources | Your historical quotes, exactly as they were. Never edited. | Nobody. They are frozen records. |
| Knowledge base | A compiled, structured summary: one page per job type with hours, materials, and tiers. | AI, kept current as new jobs come in. |
| The skill | The estimator itself, which reads the knowledge base to answer. | You, lightly. It just reads. |
The principle is compile once, keep current. You do the synthesis once, into a clean knowledge base. Then you query that. Every new job you finish gets fed back in, so the base gets sharper over time. You are not re-deriving your pricing from scratch on every estimate. You are reading a living summary that improves with use.
This is the same idea behind the way modern AI agents are built to specialise. Anthropic describes Agent Skills as "organized folders of instructions, scripts, and resources that agents can discover and load dynamically." A skill stays lean and pulls in the detail only when it needs it. Your estimator is exactly that: a small skill that reads a structured knowledge base on demand. The official Claude Code skills documentation shows the format, and it is plain Markdown with a short header. You do not need to be an engineer to read it.
The six steps
You run the whole thing in Claude Cowork, the no-terminal option, or Claude Code if you want more control. There is a quick setup before the six steps. The companion guide gives you the exact prompt for each one, starting with a kickoff prompt that pulls all your quotes into one folder, plans the build before it touches anything, and asks you questions to fill the gaps. Here is the shape:
- Define your job taxonomy. Before touching any data, list the types of jobs you do. Repeating categories, not individual line items. Aim for 10 to 30 categories that cover 80% of your work. Genuine one-offs go in a "custom" bucket.
- Define your labour and materials. Who does each job, and what it costs you internally. Not what you charge. For trades, add materials categories with typical cost ranges.
- Extract historical data. Pull past jobs from wherever they live: accounting software, a job-management app like ServiceM8, Tradify, or simPRO, Excel, Google Drive, even handwritten job sheets.
- Clean it. Remove incomplete records, true one-offs, mates-rates jobs, and anything from a pricing era that no longer applies. What is left is your usable dataset.
- Build the knowledge base. One page per job type: hours by tier, materials range, what pushes the job up a tier, and a few real examples as anchors.
- Set your margin model and build the skill. Internal cost times a multiplier equals client price. Set three levels and default to the middle one. Then wire up the estimator.
Six steps. The order matters. Skipping the cleanup step is the most common way to end up with an estimator that is confidently wrong.
Will this work for your business?
Be honest about three prerequisites before you start.
- Enough data. Your common job types each need to show up a few times. As a floor, 20 to 30 past jobs across your main categories. Three or more comparable jobs for a type means you can estimate that type with confidence.
- Repeatable work. This works when similar jobs recur. If every project is genuinely one of a kind, there is no pattern to compile.
- Real cost visibility. You need to know what jobs actually cost you to deliver, not just what you charged. If you do not track internal cost, start there first.
If you tick those three, you are ready.
The trades version: an electrical business
The method does not care what industry you are in. Picture an electrical business that does a lot of lighting work.
The job types are not software epics. They are the jobs a sparky books all week:
- Downlight install, retrofit
- LED strip install
- Light fitting replacement
- New lighting circuit
- Switchboard or safety switch upgrade
The labour roles change too: electrician, apprentice, and sometimes a subcontract electrician for overflow. Each with its own internal cost per hour.
And here is the trap that costs trades the most. An electrician is hired out at $100 or more an hour. That is the charge-out rate, the price to the client. It already has margin in it. It is not your cost.
Your cost is what the person actually costs you. For an employee, that is their loaded hourly rate, wage plus super plus tools plus vehicle, often $45 to $60. For a subcontractor, it is what you pay the sub, which can be $100 or more because that already includes their margin. Feed cost into the estimator, never charge-out, or you mark up margin twice and price yourself out.
And because this is trades, materials get their own categories, each with a typical cost range. Not every SKU. Categories.
The complexity tiers work the same way. A downlight retrofit is simple when it is a like-for-like swap into an existing hole. It becomes medium when a new position needs fresh cabling. It is complex when there is no roof access, asbestos, or a switchboard that needs work first. The estimator learns those triggers from your past jobs and asks about them.
A tradie who has never heard the word "epic" in their life can run this. The vocabulary is theirs. The method is identical.
Every estimate states its confidence
The feature that makes this trustworthy is that every estimate tells you how sure it is.
| Confidence | What it means | What to do |
|---|---|---|
| High | Three or more directly comparable past jobs | Use the range as is |
| Medium | Built from known job types, fewer direct matches | Use it, note the assumptions |
| Low | Novel work, no real comparable | Add a buffer and flag it to the client |
Low confidence is not a failure. It is the system being honest about where your history runs out. That is exactly when you want a human to look closer and when you should price in a margin for the unknown.
It gets better every job
The last point is the one that compounds.
Every job you finish is a new data point. Feed the actuals back in: the real hours, the real materials cost, what you actually charged. The knowledge base updates, and the next estimate for that job type is sharper than the last.
Most tools decay. This one improves with use. The longer you run it, the more of your business it understands, and the less it depends on any single person to hold the logic.
That is the real win. Not faster estimates, although you get those. The real win is taking the pricing instinct that lived in one head and turning it into an asset the whole business owns. Most owners never see how much value is locked in how they deliver, and this is one of the clearest examples.
Ready to build it? The full walkthrough, with every Claude Cowork or Code prompt to copy and paste, is here: How to Turn Your Quote History into an AI Estimator.
This is one slice of a bigger idea: IP monetisation through AI. If you want to know which parts of your business are sitting as untapped IP like this, take the IP Assessment. It takes a few minutes and shows you where the leverage is.
Frequently Asked Questions
James Killick
Founder
The AI Orchestrator. 10+ years building digital products and 200+ apps shipped, now helping $1M+ educators and consultants turn their IP into AI-powered delivery systems.
James Killick founded and runs The AI Orchestrators.
More from James Killick