Market Data

How to Do a CMA With AI (Without It Making Up Comps)

By Jerad · Updated · 11 min read

Can AI do a CMA for real estate?

Yes, but only with data you give it. For an AI CMA in real estate, export sold, pending, active, and expired comps from your MLS as a CSV, upload it to Claude, and ask for price per square foot, list-to-sale ratio, days on market, and a price range with reasoning. You review it and own the final opinion.

I hear some version of this in almost every class. An agent types a seller's address into an AI chat and asks what the house is worth. Back comes a confident number, a few "recent sales" with addresses, and a nice paragraph about the area. Then the agent checks the MLS and the sales either don't exist or sold for something else entirely.

That's the trap. The tool can't see your MLS, so when you ask it to value a home with no data, it fills the gap with something that sounds right.

The fix is to change who brings the data. You pull the comps, Claude does the math and the writing, and you make the call. Done that way, an AI CMA saves real time on listing appointment prep and gives you a sharper story for the seller.

Can AI do a CMA for real estate?

AI can do the analysis part of a CMA well, but only on data you give it. Claude, ChatGPT, and the rest can't see your MLS, so any comps they "find" on their own should be treated as made up until proven otherwise. Every AI tool can make mistakes, and pricing is the last place you want an unchecked guess.

Here's how I split the work when I teach this:

TaskWho does it
Pick the search criteria (radius, time window, property type)You
Export the comps from your MLSYou
Price per square foot, ratios, days on market, spreadsClaude
Adjustment discussion and active competition readClaude drafts, you judge
Final price opinionYou
Seller talking points and one-page summaryClaude drafts, you edit

An AI CMA is only as good as the export you hand it.

Why does ChatGPT or Claude make up comps?

They make up comps because you asked a question they can't answer from real data, so they predict what an answer usually looks like. A chat tool knows what a CMA reads like. It doesn't know what sold on the subject's street last month. You get plausible addresses that aren't real sales, invented prices, and confident ranges with no rows behind them.

The cure is two rules in every pricing prompt: use only the attached file, and show which rows you used. Once Claude has to cite its rows, invented comps have nowhere to hide.

How to export comps from your MLS for an AI CMA

Run the same search you'd run for a normal CMA, then export the results as a CSV instead of printing them. You download the data out of your MLS, then upload that file to Claude. Claude only sees the file you upload.

Pick your search criteria

Use the radius, time window, and property type you'd defend in front of a seller. Pull all four statuses:

  1. Sold (the backbone of the opinion)
  2. Pending (where the market is heading)
  3. Active (the seller's competition)
  4. Expired and withdrawn (what didn't work)

Agents skip expireds, but they're often the most persuasive evidence with a seller who wants to overprice.

Choose the right export fields

Here's the field list I recommend. If your MLS doesn't track one, skip it and tell Claude it's missing.

FieldWhy it matters
Address and MLS numberLets Claude cite rows and lets you check them
StatusSeparates sold, pending, active, expired
Original list priceShows price cuts and starting strategy
List priceCurrent or final ask
Sold priceThe number the opinion rests on
Close date or status change dateRecency
Days on market (and cumulative DOM if available)Speed and pricing accuracy
Above-grade and total square footagePrice per square foot math
Beds, baths, year built, lot sizeBasic comparability
Property type and styleFilters out wrong product
Garage and basementCommon adjustment drivers
Concessions or seller credits (if your MLS has a field)True net price
Public remarksCondition clues

Before you upload anything, check your brokerage and MLS rules on data use and sharing, and follow your broker's guidance on what goes into seller-facing materials. Never put client Social Security numbers, bank details, or anything your brokerage forbids into any AI tool.

Clean the file before Claude sees it

Spend two minutes scanning the CSV for duplicate rows (the same home relisted), wrong property types, missing square footage, and typo prices. The main prompt below also asks Claude to flag these.

The AI CMA analysis prompt (copy and paste)

The best CMA prompt tells Claude exactly what data it has, what it's not allowed to do, and what format you want back. Upload your CSV, then paste this with your details in the brackets.

You are helping me prepare a comparative market analysis (CMA) for a listing appointment. I am the agent and I will make the final pricing decision. Your job is analysis, not appraisal.

DATA RULES
- Use ONLY the attached CSV. Do not use outside data, online estimates, or general knowledge about prices.
- If a number you need is not in the file, say "not in the data" instead of guessing.
- Every comp you mention must be cited by address and MLS number from the file.

SUBJECT PROPERTY
- Address: [ADDRESS]
- Property type and style: [e.g. 2-story single family]
- Beds / baths: [X bed / X bath]
- Above-grade sq ft: [SQ FT]  Total sq ft: [SQ FT]
- Year built: [YEAR]  Lot size: [LOT SIZE]
- Garage / basement: [DETAILS]
- Condition and upgrades: [e.g. kitchen updated 2022, original baths, new roof]
- Anything unusual: [e.g. corner lot, backs to a busy road]

STEP 1: DATA CHECK
Before analyzing, list any rows that look like problems: duplicates, different property types, missing square footage, prices that look like typos, or homes far outside the subject's size range. Tell me which rows you excluded and why. Then list every row you are using.

STEP 2: SOLD AND PENDING ANALYSIS
For sold and pending comps:
- Price per square foot (above-grade and total, if available): low, high, median
- List-to-sale ratio (sold price / final list price) and, if available, sold price / original list price
- Days on market: low, high, median
- Concessions or seller credits, if the file has that field, and the net price after them
- Which 3-5 comps are most similar to the subject, and why

STEP 3: ADJUSTMENTS DISCUSSION
For the 3-5 closest comps, describe how each is better or worse than the subject (size, beds/baths, condition, garage, basement, lot, age) and the direction of each adjustment. Do not invent dollar adjustment values; if you suggest one, explain the reasoning.

STEP 4: ACTIVE COMPETITION
List the actives the subject would compete against with price, price per square foot, days on market, and price reductions. Tell me where the subject would sit among them at different list prices.

STEP 5: EXPIRED AND WITHDRAWN
Summarize what did not sell and at what price, and what that suggests about the ceiling.

STEP 6: SUGGESTED PRICE RANGE
Give a suggested list price range with reasoning for the low, middle, and high end, tied to specific comps. Tell me how confident you are and what would change your answer.

FORMAT
Use short headers and tables. Keep the writing plain. End with a list of open questions I should answer before the appointment.

When I teach this in class, the first thing agents ask is why Step 1 matters so much. Bad rows are where AI CMAs go sideways. One duplicate or mislabeled condo can drag the median, and you'd never notice in a wall of numbers. Making Claude list what it used and threw out gives you an audit trail.

Put this prompt in a Claude Project's instructions and you only upload the CSV and subject details each time. My guide on how to use Claude for real estate agents walks through setting up Projects.

How to challenge the AI's price before you trust it

Ask Claude to argue against its own range. A good analyst can tell you where their own case is weak.

Now act as a skeptical listing manager reviewing this CMA before I take it to a seller.

1. Argue for a LOWER list price than your range. Which comps and facts support that?
2. Argue for a HIGHER list price. Which comps and facts support that?
3. Which comps in your analysis are the weakest matches to the subject, and how much do they move the range?
4. What would the range be if you removed the two least similar comps?
5. What is missing that an appraiser or buyer's agent would bring up?
6. Based on all of this, would you change your suggested range? Explain in three sentences or fewer.

Use only the attached data. Cite comps by address.

Then you decide. You know things the CSV doesn't, like the seller's timeline or the house down the street about to list. Claude's range is an input to your opinion, not the opinion. And a CMA or BPO is not an appraisal. It's a broker's opinion of price, you own it, and your materials should label it per your brokerage's rules.

How to turn the CMA into seller talking points

Once you're happy with the numbers, have Claude turn them into plain-language points for the kitchen table. Sellers don't remember medians. They remember "the two homes that started too high both sat and ended up lower."

Using the CMA analysis above and the price range I've chosen of [YOUR CHOSEN RANGE], write seller talking points for a listing appointment.

- 6-8 short talking points in plain English, no jargon
- Lead with what buyers in this price range are actually paying, based on the sold comps
- One point on the active competition and where we'd sit at my recommended price
- One point on homes that started too high (expired, price cuts, long DOM), if the data shows it
- One point on what the seller can control (condition, prep, timing)
- Do not promise a sale price or timeline
- Do not describe the neighborhood's residents or who the home is ideal for; talk only about the property and the data

Then write a one-page summary I can hand the seller: subject details, 3-5 key comps in a simple table (address, sold price, sq ft, DOM), the recommended list price range, and a one-line note that this is a broker's opinion of price, not an appraisal.

Check every number in that one-pager against your export before it leaves your hands. And keep talking points about the home and the data, never who lives nearby or who the home suits. NAR's guidance on avoiding fair housing violations in advertising is a good refresher.

How to prep for a price reduction conversation with AI

Use a refreshed export to show the seller what's changed since you listed. The hardest pricing conversation is the one three weeks in when showings are slow. Export current actives, new pendings, and recent solds, gather your showing feedback, then run this.

I need to prepare for a price adjustment conversation with a seller client. Attached is a fresh MLS export of the subject's competition and recent activity. Use only this data plus the notes I give you below.

LISTING DETAILS
- Listed at: [LIST PRICE] on [LIST DATE]
- Days on market so far: [DOM]
- Showings: [NUMBER] | Feedback themes: [e.g. price, small yard, dated kitchen]

PLEASE GIVE ME
1. What has changed in the competition since we listed: new actives, price cuts, new pendings, new solds. Cite by address.
2. Where the subject now sits on price per square foot versus the active competition and recent pendings.
3. Two or three adjustment options with the reasoning for each, tied to specific comps.
4. A calm, honest 2-3 sentence opener that focuses on the data, not blame.
5. The three likeliest seller objections, with a short, respectful response to each that points back to the data.

Keep it plain and kind. Do not guarantee results from any price change.

If you want a ready-made version of this, the Price Reduction Conversation tool is one of the three listing tools in the free Claude 101 kit. The reduction talk also goes better when the seller has seen the numbers all along, which is why I pair this with a seller weekly update written with AI.

How to write a market activity summary from the same export

A market activity summary is the short "here's what's happening around you" piece that sets up the price conversation. Build it from the same CSV or a slightly wider export.

From the attached MLS export, write a short market activity summary for the area around [SUBJECT AREA OR SUBDIVISION] covering [TIME WINDOW].

Include:
- Number of homes sold, pending, active, and expired in the file
- Median sold price and median price per square foot for sold homes
- Median days on market for sold homes
- Average sold-to-list-price ratio
- How many sold homes had a price reduction first, if the file has original list price
- Concessions trend, if the file has that field

Then write 3-4 plain-English sentences on what this means for a seller in this price range. Use only numbers from the file, and note the sample size.

The sample size line matters. A handful of sales is a small number, and saying so builds trust. For a monthly version of this you can send to your whole database, see my guide on building a market update from MLS data with AI.

What to do this week

Pick one upcoming listing appointment, or a past one you remember well, and run this start to finish:

  1. Export all four statuses from your MLS as a CSV using the field table above.
  2. Upload it and run the CMA analysis prompt.
  3. Run the "challenge my price" prompt and compare its range to your own gut call.
  4. Generate the talking points and one-pager, then check every number.

After the first run, save the prompt in a Project and the prep becomes upload, paste, review. For more prompts like these, I keep a running list in Claude prompts for real estate agents.

FAQ

Can ChatGPT or Claude do a CMA on its own?

Not reliably. Neither tool can see your MLS, so if you ask what a home is worth with no data attached, it may guess or invent comps and prices that look real. Give it an export of comps you pulled yourself, and it becomes a fast, useful analyst instead of a guesser.

Is there a free way to do an AI CMA?

Claude has a free plan with usage limits, and you can upload a CSV of comps and run the analysis prompts in this article on it. Heavier use and bigger files work better on a paid plan, so check your plan's limits. The MLS export itself comes from your MLS access, which you already have as an agent.

Is an AI CMA the same as an appraisal?

No. A CMA or BPO is a broker's opinion of price for marketing purposes, not an appraisal, and AI doesn't change that. The agent owns the opinion, and only a licensed appraiser produces an appraisal. Follow your brokerage's rules for how CMAs are labeled and presented.

What MLS fields should I export for an AI CMA?

At minimum: address, status, list price, sold price, close date, days on market, square footage, beds, baths, year built, lot size, and property type. Add original list price and concessions if your MLS tracks them, plus garage and basement fields if they matter in your market.

How do I stop AI from making up comps?

Only let it work from the file you upload, tell it in the prompt not to use outside data or guess, and ask it to list every row it used by address. If a number in its answer can't be traced back to a row in your export, treat it as wrong until you check it.

Get the free Claude 101 kit

The class replay, the cheat sheet, and 3 Claude tools for your listings. Free.

The kit lands in your inbox in about a minute. Use an email you actually check.

By clicking Email me everything, you agree to receive emails, calls, and text messages from Installed Agent at the email and phone number above, including marketing messages, which may be sent using automated technology. Msg and data rates may apply. Msg frequency varies. Reply STOP to opt out of texts, or unsubscribe from emails anytime.

Keep reading

Listings · Nov 1, 2026 · 11 min read

The Seller Weekly Update Email, Built With AI in 10 Minutes

Sellers don't want a pile of forwarded showing comments. They want five things every week. Here's the template, the Claude prompt that builds it from your real inputs, and how to handle the week the feedback says price.