Compare insurance and utility quotes with AI

Two renewal quotes on the table, and the cheaper-looking one turns out to be priced on a different term and a different amount you pay before cover starts. Here is the prompt that forces them into the same shape, and makes the AI quote the exact line it read for every figure.

Skill

Quotes are not written to be compared, so the work is making them comparable before you look at the money.

What makes two quotes non-comparable

The traps differ by what you are buying, so check the ones that apply to you.

Insurance renewals: car, home, travel, pet, health

The usual mismatches: a different excess or deductible, sometimes with a separate one for glass or for a named item. Cover limits written in different shapes, one quote splitting them into two figures and the other giving a single combined limit.

Also: one priced for six months and the other for twelve. Add-ons quietly in or out, such as roadside help or replacement cover. A new-customer discount that will not be there next year.

Ask: is this an estimate or has it been through underwriting, because an estimate can move before you sign.

Electricity and gas

The usual mismatches: the fixed daily fee, whatever it is called where you live, against the rate per unit. A plan with the lowest rate per unit can lose over a year once that fee is counted.

Also: rates that change by time of day or by usage band, so the winner at high usage loses at low usage. Separate charges for things on their own meter such as hot water, membership fees, and a different rate for anything you export back.

Ask: what this costs at my actual usage, not at an average household's.

Broadband and mobile

The usual mismatches: an introductory rate and the price it reverts to, which is the number that matters over a two-year contract.

Also: fees quoted as a range or as an "up to" figure rather than a fixed amount, so the advertised totals rest on different assumptions. Equipment rental. Exit fees if you leave early.

Ask: what the total is over the whole contract, with every "up to" fee costed at its maximum.

Set it up, step by step

  1. Give it every page. The figures usually live on a different page from the description of what you are buying, often a schedule or summary page. A quote missing that page means the AI cannot see the numbers, and it may not warn you that it cannot.
  2. Get the documents in as text where you can. A downloaded PDF beats a photo of a letter. If you only have paper, photograph each page flat and in full. Claude and ChatGPT both read PDFs and images.
  3. Run the prompt and read the extraction table first. It produces a side-by-side before it produces an opinion. That table is the part you check.
  4. Verify it in a second, fresh chat. A model grading its own answer tends to agree with it, so the check goes somewhere clean. Attach the same documents again and paste the table in.
  5. Then say exactly this. "This table was produced by someone else from these documents. For each figure, find the quoted wording in the source and mark it found and supports, found but does not support, or not found. Do not correct anything, just mark it."
  6. Switch code execution on, then check the sums anyway. The prompt asks for the arithmetic to be run in code rather than in the model's head, and that setting has to be on or you get a confident number with nothing behind it. Read the working line by line.

The prompt: force two quotes into the same shape

Fill in the four lines at the top, then attach every page of every quote.

PromptForce two quotes into the same shape
You are helping me compare quotes that have been written so they cannot easily be compared. I am attaching every page of each one. I am going to sign one of these and live with it for a year, so a wrong figure you sounded sure about is expensive. Every number you give me must come with the exact line you read it from, and anything not stated has to be called not stated rather than filled in.

ABOUT THIS DECISION (I fill this in once)
- What I am buying: [e.g. "car insurance renewal", "home and contents", "travel insurance", "pet cover", "an electricity plan", "gas", "broadband", "a mobile plan"]
- Currency and how prices are written here: [e.g. "US dollars, $1,250.00", "euros, 1.250,00 EUR". Use my format throughout]
- My own usage or situation, if it changes the price: [e.g. "about 900 units of electricity a month, most of it in the evening", "two drivers, one under 25", "I work from home so daytime internet matters", "we travel twice a year". Write "not relevant" if it is not]
- What I actually care about: [e.g. "the lowest total over twelve months", "the lowest amount I would have to pay if I claim", "never being cut off", "flexibility to leave". Be honest, it changes the answer]

BEFORE ANYTHING ELSE
Count the pages you have for each quote and tell me. If a quote looks like it is missing a page, or a sentence runs off the end of one, say so and stop before you extract anything. A missing page is the usual reason a comparison comes out wrong.

STEP 1: PULL THE FACTS OUT, WITH RECEIPTS
Build one table. One row per thing that matters, one column per quote. Put only the figure in each cell, followed by a marker like [1], [2]. Then, underneath the table, give a numbered list where each marker carries the exact wording you read it from and the page it was on. Keep the quotes out of the cells so the table stays readable. If a page is not identifiable, write "page not shown" rather than guessing a number.
Include, where they apply to what I am buying:
- The headline price, and whether that is per month, per year, or for a fixed term. Say which.
- The length of the term being priced.
- Every fixed or standing charge, however it is named.
- Every rate that varies, and what makes it vary.
- Every excess, deductible or amount I pay before cover starts, including any that applies only to one kind of claim.
- Every limit on what I would get back.
- Every extra that is included, and every one that costs more.
- Any price that changes after an introductory period, and what it becomes.
- Any charge for leaving early.
- Anything the quote excludes or will not cover.
For anything that is genuinely absent from the document, write "not stated" in the cell. Never infer it from the other quote, from what is typical, or from what you know about this industry. "Not stated" is a useful answer and a guess is not.
Where a fee is given as a range or as an "up to" figure, record it as written, then use the highest number in every calculation, and say you have done that.

STEP 2: WATCH FOR THE SAME THING UNDER TWO NAMES
Before you report anything as present in one quote and missing from the other, check whether it appears under a different name, a different heading, or as part of a bundle. Two documents routinely describe the same thing in different words, and reporting a rename as a gap is the most common way this goes wrong. One document might list "replacement vehicle while yours is repaired" on its own line while the other buries the same thing inside a bundled extras heading, or one might call a charge a connection fee and the other a set-up cost.
So for every difference you are about to report, say which it is: genuinely absent from one document, or present under another name. If you cannot tell, say you cannot tell.

STEP 3: MAKE THEM COMPARABLE
This is the part I cannot do myself.
- Put everything onto the same period. If one is priced for six months and one for twelve, convert and say so.
- If the amounts I would pay before cover starts differ, say so plainly, and say what the cheaper quote would cost if it were set to match the other. If the document does not give that figure, write "would need to be requested from the provider" instead of estimating it.
- If the rates vary by time or by usage band, cost each quote against the usage I gave you. Do this calculation in code and show the working line by line. If I did not give you my usage, ask for it rather than assuming an average, unless I wrote "not relevant".
- Then give the total for each quote over the same period, with the calculation shown.

STEP 4: TELL ME WHAT YOU FOUND
- Which is cheaper over the period, by how much, and the one or two lines that account for most of the difference.
- Where the cheaper one gives me less, stated in what it would mean for me rather than in policy language.
- The three questions I should ask the provider before signing, each one about something you marked "not stated" or could not resolve.
- If the two are close enough that the difference is inside what you are unsure about, say that. Do not manufacture a winner.

NEVER
- Never state a figure without the line you read it from. If you cannot point at the line, do not give the number.
- Never fill a gap with a typical, standard or industry-normal value.
- Never do the arithmetic in your head. Use code and show it.
- Never resolve a contradiction between two parts of a document quietly. Quote both and tell me they disagree.
- Never tell me which one to buy as advice. Tell me what the documents say and what the numbers come to, and leave the decision to me.
- Never comment on whether I need this product at all.

BEFORE YOU SEND, CHECK YOURSELF
1. Does every figure in the table have the wording and page it came from?
2. Did I write "not stated" anywhere I was tempted to estimate?
3. Did I check every reported gap for the same thing under a different name?
4. Is every total calculated in code with the working shown?
5. Did I list every page or section I could not read?

The honest bit

  • The phantom gap is the failure to watch for. Match two documents by the names they use and the same thing written two ways reads as one item missing and one item new. Check any gap against the document before acting, which is why the prompt has to say which kind of difference it found.
  • Even a grounded answer has a tail. The quote-and-check design comes from one engineer's open project, read on 21 September 2026. On his own run, six test cases on commercial policy documents, graded by a test he also wrote, three to five percent of citations could not be traced back at all, which he flags as not yet looked into.
  • An introductory rate is the trap that survives the comparison. A broadband or energy offer can win on today's figure and lose badly over the contract. Make the totals run to the end of the term, at the price it reverts to.
  • An energy or phone plan has no single price. What it costs depends on how much you use and when, so a comparison run against an average household tells you nothing about yours. Give it your own usage or the answer is decoration.
  • It cannot ring anyone. Where a document is silent, the honest output is a question for the provider, and the prompt is written to hand you those questions rather than fill the gap.
  • Treat this as a reading exercise. For anything where getting it wrong is serious, take the comparison to someone qualified where you live. The value here is walking in knowing what the documents actually say.

Do it now

Take the quote sitting in your inbox with a deadline on it, download every page of both options, and run the prompt with one line added: stop after step 1 and wait. If the table comes back with more than one or two cells reading "not stated", you have your list of questions before you have a decision.

A few quick questions

Why run the check in a second chat?

Because a model asked to grade its own answer tends to agree with it. Starting a fresh conversation with just the documents and the table makes the check independent, and it is the design an engineer measuring this on real policy documents landed on.

What if I only have the quotes on paper?

Photograph every page flat, in full and in good light, and send them all. The most common cause of a wrong comparison is a missing page, since the figures often sit on a separate schedule from the description.

Can it find me a cheaper quote as well?

Keep those jobs apart. This one reads what you already hold and cannot check live prices, so anything it offers about what is available elsewhere is a guess. Shop separately, then bring the new quote back through the same prompt.