model

The ChatGPT Prompt for a Construction Estimate, and What Comes Back (2026)

Two prompts, word for word: the one that asks ChatGPT for a priced estimate and the one that asks for scope first and sourced prices only. What each returned on one 5x8 bathroom, and the prompt that makes a useful takeoff.

Direct answer: Two prompts, both below word for word. Prompt A asks ChatGPT for a priced estimate; on one 5x8 bathroom it came back with totals from $9,333 to $14,527, −32.7% to +4.8% against Clamp's estimate of $13,858, on labor rates ChatGPT chose. Prompt B asks for every scope item first and prices only where it can name the source: it came back with an 89-item takeoff on GPT-6.1 Sol and 102 items on GPT-6 Astra, nearly every one flagged to confirm on site, and two and three priced lines. Use Prompt B for the scope, then put every line on a rate you can trace.

The assumptions

This model assumes

  • One 5x8 bathroom, same layout, described the same way every run, no location
  • Totals before markup, sales tax and permits
  • Benchmark: Clamp's estimate, November 2, 2026, $13,858 direct, 62 lines
  • ChatGPT answers taken November 1, 2026

The model, step by step

1Prompt A: ask for the estimate

This is the prompt most people type. It names the job and asks for a finished estimate. Paste it as written and change the job description.

Prompt A, verbatim

AskI'm a remodeling contractor. Write me a detailed estimate for this job with line items, quantities, unit prices, labor hours and a total direct cost before my markup. 5x8 bathroom remodel, same layout. Tear out and replace the 60x30 alcove tub in place and tile the tub surround to the ceiling, about 65 sq ft. New 36 in vanity with a stone top and faucet, new toilet, replace the exhaust fan, two new light fixtures, five bath accessories and a mirror. Paint the walls and ceiling. 28 sq ft of porcelain floor tile. Plumbing and electrical stay where they are.

Say nothing about where the job is and free ChatGPT may guess from the browser: three of four free runs priced this job for a city nobody gave them. The paid runs said no location was given and priced on assumptions.
2What Prompt A returns

A confident total every time, and a different one every time. Ten runs of Prompt A on the same job, four free and six paid:

Prompt A totals, direct cost before tax and markup, vs. Clamp's $13,858
ChatGPTvs Clamp
Free (GPT-6 Luna)4 runs, $9,333 to $14,527, 56% apart; math errors in two−32.7% to +4.8%
GPT-6.1 Sol3 runs, $12,193 to $13,119−12.0% to −5.3%
GPT-6 Astra3 runs, $11,909 to $12,760−14.1% to −7.9%
Every paid run used the same three labor rates, $55, $85 and $80 an hour, called them assumptions, and cited nothing for them. Five of ten runs priced a new tub valve; five didn't. The number looks finished. It isn't a price you can check.
3Prompt B: scope first, sourced prices only

The second prompt changes what ChatGPT is allowed to do. It has to list the work before any number, flag what it can't know from a description, and price only what it can point to.

Prompt B, verbatim

AskI'm a remodeling contractor. Before any prices, list every scope item this job needs, from site protection and demo through haul-off, substrate, waterproofing, trim and cleanup, with quantities. Flag anything you'd need to confirm on site. Then give unit prices only where you can say where the price comes from, and leave the rest blank for me to fill in. 5x8 bathroom remodel, same layout. Tear out and replace the 60x30 alcove tub in place and tile the tub surround to the ceiling, about 65 sq ft. New 36 in vanity with a stone top and faucet, new toilet, replace the exhaust fan, two new light fixtures, five bath accessories and a mirror. Paint the walls and ceiling. 28 sq ft of porcelain floor tile. Plumbing and electrical stay where they are.

The job description is the same as Prompt A's. Only the ask changed.
4What Prompt B returns

A takeoff, not a price. Both models wrote a longer, better scope list than any priced run, flagged what to confirm after demo, and then stopped.

Prompt B, one run each
SolAstra
Scope itemsIn seven sections, protection through closeout89102
Flagged to confirmCeiling height, flange, framing, tile size, duct81102
Quantity TBDHaul-off loads, blocking, drywall patches2236
Priced linesMaterial only, with the store link23
Labor priced00
Both reconciled the floor: a 5x8 room is 40 sq ft, the tub takes 12.5, so 28 sq ft of tile depends on whether it runs under the vanity. No priced run noticed.
5The scope the priced runs dropped

Prompt B listed the items that come and go between Prompt A runs, and made the valve a decision instead of a guess.

In both Prompt B takeoffs

Tub valveRetain or replace, 1 set, a decision to make before the walls close

Shutoffs and flangeVanity stops up to 2, toilet flange and stop, conditional

FloorUnderlayment or uncoupling membrane, 28 sq ft; a doorway threshold

Tile edgesExposed edge trim, about 12 to 13 lf

WaterproofingTub flange seal, about 10 lf; corners, seams and the valve penetrations

TrimBase and shoe removed and reset, TBD lf; drywall patches at every opening

Clamp prices all of these as lines: the valve body and trim, three shutoffs, an uncoupling membrane, 16 ft of edge trim, a transition, baseboard and drywall patches. ChatGPT listed them; it didn't price them.
6The priced lines

Asked to price only what it could source, ChatGPT priced materials it found on a store page and left every labor line blank.

Every price Prompt B gave
ItemPrice
Durock 1/2 in cement board, 3x5Both runs; Home Depot, model 172954, 5 or 6 sheets$15.85 a sheet
Two-piece elongated toiletSol; Home Depot, "if selected and compatible"$219
12x24 porcelain floor tileAstra; two Home Depot options, sold by the case at $26.72 and $30.84$1.67 to $1.99/sq ft
Astra ended its answer with: "Blank prices mean unpriced, not included at no cost." That's the right reading of both prompts. A blank is a line you still have to price; a number is a line you still have to check.
7How to use the two prompts

Run Prompt B first and keep the list. Name the job's town. Then price the list yourself, from your own costs or rates with a date on them, and only then ask for a total.

The order

1Prompt B, with the town named. Save the takeoff.

2Ask "What did you leave out?" and add anything real.

3Put a rate you can trace on every line, labor included.

4Add your markup. Compare the result to Prompt A's number, and notice the gap.

Prompt A's follow-up found five real gaps on this job and then closed them with a flat $1,400 allowance. Use the question as a checklist, not a price.
8The same words in Clamp

Paste Prompt A's job description into Clamp's free estimate and you get the priced version of Prompt B's list: 62 lines across 11 trades at $13,858 job cost, labor hours on the labor lines, and the same answer every run. Three runs on November 2 came back identical.

Clamp's Generate from description screen with the 5x8 bathroom prompt typed in

Same prompt

The 5x8 bathroom estimate in Clamp at $13,858 job cost, by trade: plumbing with the stub-out update, shower valve body, trim and shutoff valves, then tile

Every line priced

The same job description in Clamp, and the estimate it prices: $13,858 at job cost, every line by trade, labor hours on the labor lines, including the valve and shutoffs that Prompt B listed and left blank. Illustration of the Clamp app.

Clamp reads the description its own way too: it priced ceramic wall tile where the prompt named none, and the tub, top and toilet are allowances until you pick them. Every assumption is a line you can see and change.

What it means

What to doUse Prompt B for the list and the flags. Name the town. Put a rate you can trace on every line before markup goes on.
Prompt A: $9,333 to $14,527 in ten runs. Prompt B: 89 to 102 scope items, 2 to 3 prices. Clamp: $13,858, every time.

The takeoff, priced

Clamp turns the same job description into an itemized draft at job cost, each line priced by Clamp, labor hours on every labor line, and the date its rates are from, plus what it left out. Same prompt, same answer, every time.

A price you can't trace is a guess. Put the scope on your own rates.

Questions

What is the best ChatGPT prompt for a construction estimate?

Ask for the scope before any price: every item with quantities, flags for what it can't know from a description, and prices only where it can say where they came from. On a 5x8 bathroom that prompt returned 89 to 102 scope items and two or three sourced prices. The plain "write me an estimate" prompt returned a different total every run, on rates it made up.

Can ChatGPT give unit prices with sources?

For a few materials, yes: a cement board sheet at $15.85, a toilet at $219, a case of floor tile, each with a store link. For labor, no. Asked to price only what it could source, it priced no labor at all and left those lines blank.

Why does ChatGPT's estimate change every time?

Each run decides the scope, the hours and the rates on its own. Ten runs of the same prompt on the same job ran −32.7% to +4.8% against Clamp's estimate; free ChatGPT's four were 56% apart. Clamp's free estimate returned the same 62 lines and $13,858 three times.

Should I use ChatGPT for a construction takeoff?

As a checklist, yes. The scope-first prompt caught the tub valve decision, shutoffs, flange, membrane and baseboard that half or more of the priced runs dropped, and flagged what to confirm after demo. Price the list yourself.

Related

Sources & provenance

  1. 12 ChatGPT runs of one 5x8 bathroom estimate Clamp Research
  2. Clamp's estimate for the 5x8 bathroom (bath-5x8/v5, 2026-11-02) Clamp Research
  3. USG Durock EdgeGuard 1/2 in x 3 ft x 5 ft cement board (172954) Home Depot (research)
Changes: Nov 2, 2026: Published: both prompts verbatim, Prompt A's ten totals against bath-5x8/v5, Prompt B's 89 and 102-item takeoffs with two and three priced lines, and the same words in Clamp.