Field notes8 min read

AI CMA generator for real estate — how Alma builds a CMA in 90 seconds

A 5-step walkthrough of an AI CMA generator for real estate agents — from address paste to seller-ready PDF in 90 seconds — and what we learned tuning the comp model across two very different markets.

Marco NahmiasFounder, Action Agent
A real estate agent reviewing an AI-generated CMA on a phone before walking into a listing appointment

A comparative market analysis used to take an agent two hours: pull comps, throw out the bad ones, run square-foot adjustments, write the seller-friendly narrative, drop the photos in, export the PDF, send it. Most of the agents we talked to put the CMA off until the night before the listing appointment. A few admitted, off the record, that they walked into appointments with a half-finished one and faked the rest.

That’s the problem we started with when we built this part of Alma. The CMA is the artifact that wins or loses the listing. The seller decides whether you’re the agent partly based on it. And the agent is doing it at 11pm. Anything you can do to move the CMA from “done in a panic” to “done in the parking lot” is leverage that compounds across every listing presentation that agent does for the rest of their career.

The CMA is the artifact that wins or loses the listing. And the agent is doing it at 11pm.

the path alma walks

Five steps from address paste to seller-ready PDF

Here’s the path Alma walks, start to finish, in plain English. We tested every step against five agents in two markets before we shipped it, and we’re still tuning it.

Step 1 — Address goes in

The agent pastes a street address or drops a pin on a map. Alma resolves it against the MLS feed, grabs the subject property’s data — beds, baths, square footage, lot, year built, condition, last-sale data where available — and pulls every active, pending, and sold listing within a 6-month window, 1-mile radius, ±20% square footage. That filter is configurable per agent; we landed on those defaults because they capture roughly 90% of usable comps in suburban markets without bleeding into noise.

Step 2 — Comps get scored

Each candidate gets a similarity score against the subject across bed/bath/sqft/year/lot/condition. Alma proposes the top six by default and shows the agent why each was picked — and which ones she rejected and why. The agent can swap any of the six for another option in the long list with one click. Agents almost never override more than one or two. The model is right most of the time, but the override exists because the agent knows things the data doesn’t — the seller next door is a hoarder, the corner lot floods, the kitchen photos online are from before the renovation.

Step 3 — Adjustments run automatically

Standard $/sqft, garage, pool, view premium, lot premium, condition adjustment. The agent can override any number live; the math updates as they type. Default adjustment values are tuned per market — we’ll get to that in a minute, because it’s where the most interesting engineering work has been.

Step 4 — The narrative writes itself

Alma drafts the seller-facing paragraph: what the data says, what the local trend is, what range to list in. Plain English. No buzzwords. No “motivated buyers in your area.” The agent edits it or accepts it. Agents tend to edit the first three CMAs and then start accepting them as-is once the model has dialed in on their voice.

Step 5 — PDF exports

Branded with the agent’s logo, photos pulled live from the MLS, comp grid clean, suggested list price + range, narrative in the agent’s tone. Sent to the seller by email or WhatsApp in one tap, or downloaded for the listing presentation. The whole cycle, address to sent, runs in about 90 seconds for a typical comp set.

90 secmedian time from address paste to seller-ready PDF
6comps proposed by default — agent can swap any in one click
2 marketstuned per-market: SD tract homes vs. Guanacaste lot-driven listings
The same AI CMA model running across two very different real estate markets — Costa Rica and southern California

Same model. Different weights. Two very different markets.

What worked for San Diego tract homes was useless in Guanacaste, where lot size and ocean proximity dominate. We split the comp scorer into market-aware modules — same Alma, different weights per zip / canton.

what we learned across markets

Why we tuned the comp model in two markets at the same time

We tuned the comp model in two markets at the same time on purpose. The contrast surfaced assumptions we’d have baked in if we’d only built for one. If we’d started in southern California, we’d have shipped a model that worked great there and silently failed everywhere else. If we’d started in Guanacaste, the inverse.

San Diego — square footage and beds dominate

Tract homes, repeatable floor plans, dense MLS coverage, predictable lot sizes. Square footage, beds/baths, and condition explain most of the price variation. The default comp model worked. Adjustment weights barely needed tuning. Agents in this market got good CMAs on day one without much override.

Guanacaste, Costa Rica — almost none of the above

Listings are heterogeneous. Lots range from 200m² to 5 hectares. Comps are sparser. Floor plans are mostly bespoke. The price drivers are different: lot size, ocean proximity, gated-community status, finish quality, paved-road access, water rights, view orientation. The North-American sqft-driven model produced laughable comps — it would match a 2-bedroom condo in town with a 3-bedroom estate on a hillside because the square footage was similar.

We split the comp scorer into market-aware modules — same Alma, different weights per canton. The Guanacaste model now weighs lot size and ocean proximity at roughly 3× the sqft weight, deweights bed/bath ratios when the listing is >3,000m² total area, and applies a separate condition-adjustment ladder for unfinished construction (a real category in Costa Rica, almost unheard of in California).

The lesson generalized. Every agent we’ve onboarded since has gotten a market profile that gets refined as they use Alma. Boutique market in Aspen weighs the architect’s name. Coastal Florida weighs flood zone and elevation certificate. Dallas weighs school district. Manhattan weighs floor and view. The model is the same; the weights are local.

The 90-second number is the median. Some take three minutes when comps are sparse. Either way, the agent walks into the listing appointment with a CMA already on their phone.

What stays the agent’s job, and stays the agent’s job on purpose

The CMA is a starting point for the conversation with the seller. The numbers Alma proposes are accurate as far as the data goes; what the agent brings is the local, the human, and the strategic. The seller wants to list at $1.2M because that’s what they need to net to retire — Alma can’t weigh that. The seller’s relocating in 90 days and can’t afford to chase the market down — Alma can’t weigh that either. The agent reads the room, tunes the recommended range, and walks the seller through the decision.

What the AI CMA generator gives back is the two hours that used to disappear into mechanical work. Time the agent now spends on the conversation, the prep, or the next listing.

If you’ve got a listing appointment this week and you’d like to see what your CMA would look like at 90 seconds instead of 90 minutes, bring the address to a 20-minute call with the founder. We’ll run it live on your MLS — and you walk away with a real CMA you can take to the seller.

Frequently asked

Questions agents send us about this.

What is an AI CMA generator and how is it different from a traditional CMA tool?

A CMA — comparative market analysis — is the seller-facing report that prices a listing against recent comparable sales. Traditional CMA tools (RPR, Cloud CMA, MLS-bundled tools) require the agent to manually pick comps, run square-foot adjustments, write the narrative, and assemble the PDF. An AI CMA generator does the first draft of all of that: pulls candidates from the MLS, scores similarity, runs adjustments, drafts the narrative in the agent's tone, and exports a branded PDF. The agent reviews and edits — they don't start from scratch.

How long does Alma take to build a CMA?

About 90 seconds for a typical comp set on a typical home in a market with normal MLS density. Some take 45 seconds when the listing is on a street with five recent sales. Some take three minutes when the comps are sparse and Alma has to widen the radius. The timer is from the moment the agent pastes the address to the moment the PDF is ready to send — that's start to finish.

Can the agent override the comps Alma picks?

Yes, every step. Alma proposes the top 6 comps by default and shows the agent why she picked each one — including the ones she rejected and why. The agent can swap any comp out for an alternate from the long list, override any adjustment number, edit the seller-facing narrative, or change the suggested list-price range. Most agents override one or two on the first few CMAs and then start accepting them as-is.

Does the AI CMA generator work outside the United States?

Yes — we built the comp model with two markets in mind from the start: southern California and Costa Rica. The default U.S. tract-home model uses square footage, beds, baths, and condition as the primary drivers. The Costa Rica model is split into market-aware modules that weigh lot size, ocean proximity, gated-community status, and finish quality much more heavily. Same Alma, different weights per zip / canton.

What MLS feeds does the AI CMA generator support?

Any RESO Web API or RETS-compatible IDX feed. Most U.S. MLS systems and the Costa Rica MLS (CCCBR) are pre-mapped. Bringing your own MLS / IDX feed takes about an hour during onboarding — we map the field schema once, your listings refresh on schedule, and Alma uses it as the comp source from day one.

Is the CMA suitable for a real listing appointment, or is it just a draft?

It's suitable for a listing appointment. Branded with the agent's logo, photos pulled live from the MLS, comp grid clean, suggested list price + range, narrative in the agent's tone. Most agents we onboarded use the AI-generated CMA verbatim by their third or fourth one — the model gets dialed in fast on a given market. The earlier CMAs typically get edited for nuance the agent knows that the data doesn't.

see it on a real listing

Bring an address you have a listing appointment for. We'll run the CMA live on the founder call.

Twenty minutes. We plug your MLS in, paste an address, and you walk away with a real CMA you can take to the seller. No pitch deck.

Apply for early access