CMA Presentations
Status: live
A CMA Presentation is the pricing story you put in front of a seller: the subject property, the comparable sales and the live competition around it, the market numbers, and a written narrative you can defend line by line. Realm builds it from your live MLS data, shows you exactly which comps it chose and why, and hands you a live web link you can revoke instead of a static file that goes stale in an inbox.
Open it from the left navigation, in the More menu, under CMA.
The 60-second version
- Type the address. Realm suggests matching MLS records as you type.
- Pick a suggestion and the subject fills itself in: type, beds, baths, size, lot, year, garage, HOA, MLS number, photos.
- EVE assembles a balanced comp grid around it: three closed sales (what the market actually paid) and three active or pending listings (what you are competing with today).
- Everything else in the search stays in the list, unticked, so you can swap a comp in with a click. The numbers rebuild the moment you do.
- Every figure carries its basis, its source, and its as-of date. Nothing below three qualifying comps is stated at all.
- Share it as a live link, print it to PDF for the kitchen table, or open a Transaction on the property when you win the listing.
A CMA is not an appraisal and Realm never presents it as one. It follows appraisal comp-selection practice because comps chosen the way an underwriter would accept keep your pricing story defensible. The rules and the guideline each one traces to are written down in CMA comp-selection standards.
Building one
Click New CMA. The dialog has one required field and four dials.
Subject address
Start typing and Realm searches the live MLS feed for matching addresses: any property, any status, any listing agent. A CMA subject is rarely your own listing, so the typeahead deliberately searches the whole feed rather than your inventory.
Pick a suggestion rather than typing the address freehand. The suggestion is the exact record the subject resolver matches, so picking it guarantees the subject auto-populates, and the property-type dropdown sets itself from the record's own type. You will see "Matched to an MLS record — beds, baths and size will auto-fill" under the field once you have.
A matched subject also anchors the comp search on the record's own coordinates, not on a geocode of the text you typed. That matters: a street-only address ("789 Chalice Creek Drive") can fail to geocode precisely, and a bad centre point produces a bad comp set.
The four dials
| Field | Default | What it does |
|---|---|---|
| Property type | All property types | Constrains comps to the same kind of property. Auto-set when you pick an address suggestion. |
| Target comps | 6 | The size of the grid you want. Six is the classic three-and-three. |
| Search radius (mi) | 10 | A preferred area, not a cap. The search starts at one mile and fans out only as far as the comps demand, up to a hard ceiling of 25 miles. |
| Sold within (days) | 90 | How recent a closing must be. Ninety-day closings are preferred; the search widens to 180 then 365 days only when fewer than three closings exist inside your window. Twelve months is the ceiling and is never exceeded. |
Presentation title is optional and defaults to the subject address.
Then click Build CMA.
When Realm refuses to build
If a real build cannot get live comps, it stops and tells you why rather than filling the page with sample data behind a real address. The four reasons, each stated in plain language:
- The address could not be located. Pick a suggestion from the dropdown, or include the city, state and ZIP.
- Demo listings mode is on for your account, so live MLS data is hidden. Turn it off under Settings, MLS.
- The address is not covered by your active MLS agreements. Verify an MLS credential for that market under Settings.
- No live listings were found near this address in the feeds connected to Realm. That area's MLS may not be connected yet.
How the comps are chosen
Three things happen in order, and every one of them is shown on the finished presentation.
1. The bracket
From the subject's own facts, Realm derives the band a comp has to fall in:
- Property type must match (only when the feed's type vocabulary is one Realm understands; an opaque class code is not used as a filter).
- HOA is a hard axis. An HOA subject comps only against HOA properties, and a non-HOA subject only against non-HOA. This is never relaxed. A comp whose HOA status the feed did not report still passes, because it cannot be judged, and you can untick it by hand.
- Size starts at plus or minus 25 percent of the subject's square footage.
- Beds start at plus or minus one.
Sale comps only: rental-class property types and "sales" under fifteen thousand dollars never enter a sale CMA. Closed leases ride some feeds as sold rows, and one of them in the grid wrecks a median.
2. Distance first, then variance
Realm widens distance before it loosens anything about the property. The radius grows from the one-mile seed toward your maximum and, if the balanced grid still is not there, on to the 25-mile ceiling. Only after that does the size band widen, in stated five-percent steps: 25, 30, 35, 40 percent, with beds opening to plus or minus two at 35. If even 40 percent cannot produce the grid, the size band is dropped entirely and the presentation says so.
If the sold side is still short, the time window widens next: 90 to 180 to 365 days. Widening time only ever helps closed sales, so when the solds are satisfied and only the live listings are thin, the search stops rather than pretending there is another lever, and the shortfall is stated.
3. The balanced grid, pre-ticked
Every comp the search found stays in the list. EVE pre-ticks the closest three sold and the closest three active or pending, ranked deterministically: nearer wins, closer in size wins, closer in beds and baths wins. There is no model and no black box in the ranking.
Sold comps carry one extra term. A closed sale whose price per square foot sits far from the group's median loses rank, weighted just above size, because ranking on distance and size alone has no idea whether a sale was arm's length. A distressed closing that happens to be the right size used to score well and get pre-picked, dragging the value down. It is a deprioritisation, not a filter: the comp stays in the list and you can tick it, because sometimes a fixer-upper comp is exactly the right call.
Realm also gathers extra sold candidates beyond the window and the settled radius, up to ten in total, and merges them in unticked. They never influence what EVE picked and never move a stated figure. They are there so you always have something to swap in when one of the three solds is poor.
Curating the comps
The Comparables table is the working set. The controls:
- The tick box on each row. Untick a comp and it leaves the numbers and the narrative. There is no Apply button: the change saves itself after a brief pause, and you will see "Recalculating…" while the figures and the narrative rebuild.
- Reset to EVE's picks puts the balanced three-and-three selection back. Use this when you have been experimenting and want the recommendation again.
- Selected only filters the table down to what is currently ticked, which is how you read the grid you are actually presenting.
Each row shows price, price per square foot, beds and baths, size with its percentage difference from the subject (amber when it falls outside the plus-or-minus-25-percent band), year, HOA, distance and days on market. A comp's address links out to its full listing page, and its photo opens a carousel.
Ticking and unticking never re-queries the MLS. It re-derives the numbers from the comp set that was frozen when the CMA was built, so the presentation cannot change under a seller who is looking at it. Only Regenerate pulls fresh comps.
The size adjustment, and why it is half
Comps are rarely the subject's size, so raw prices are not apples-to-apples. Realm adjusts each comp toward the subject automatically:
adjustment = (subject sqft − comp sqft) × marginal $/sqft
A smaller comp adjusts up toward the subject; a larger one adjusts down.
The rate is the part worth understanding. It is half the median sold price per square foot, not the whole thing. A home's average price divided by its total square footage overstates what one extra square foot is worth, because larger homes trade at a lower price per square foot. Applying the full average across a wide size gap over-corrects, and it did: a subject was pulled from a $415K median down to a $256K "value" on nothing but a size difference. Appraisal practice puts the contribution of gross living area at roughly half the average rate, and that is what Realm uses.
The rate and the reasoning are printed on every adjustment line, so a seller (or a broker reading over your shoulder) can see the arithmetic:
+420 sqft vs subject × $104/sqft (marginal size rate — 50% of the $209/sqft median of 4 sold comps, since larger homes carry a lower $/sqft)
Your own adjustment lines
Below the auto adjustment, add your own: a label and an amount, negative to subtract. Pool, garage, condition, dated kitchen, corner lot, whatever your market judgment says. Up to ten lines per comp. Manual lines are the only part of the adjusted view that is stored, so they need an explicit Save adjustments click; everything else recomputes on read.
Suggested value and the price band
- Suggested value is the median of the adjusted sold comps you included. It is the headline number on the page and the one to anchor on when comps differ in size.
- Supported price band is the 25th to 75th percentile of those adjusted sold prices, with the raw pre-adjustment span shown underneath for context.
The honesty floors
This is the rule that makes the presentation safe to hand over: any figure computed from fewer than three qualifying comps is omitted, not estimated. Median sold price, sold price per square foot, sold days on market, the asking-side equivalents, the price band and the suggested value all sit behind the same floor.
You will see it rather than guess at it. If the sold figures cannot be stated, one honest notice replaces the three empty boxes and tells you how many solds are included and what to do about it. If the suggested value is below the floor, its card stays on the page and says "Needs at least 3 sold comps — 2 included" rather than silently vanishing when you untick a sale.
Empty is also distinguished from unavailable. A days-on-market box that is blank because the feed did not report it says so, instead of reading as something you failed to do.
"Search used", and the skip and widen notes
Under the subject card is a one-line strip reading, for example:
Search used: within 3.4 mi · sqft ±30% · solds last 180d
That is the search that actually ran, not what you asked for. Automating the fan-out is fine; doing it silently is not. When anything widened on its own, an amber chip on the same line names it:
widened automatically — variance widened to ±30% — too few close matches in distance
The same discipline covers the comp choices themselves. The presentation states, in plain language:
- "Sold comps widened to the last 180 days" — fewer than three closings existed inside your window.
- **"Only 2 active/pending listings within 3.4 mi — current competition is thin."**
- "Sold comps reached beyond the 3.4 mi search" — there were not three qualifying closings inside it, so the selection reached into the wider candidate pool.
- **"Skipped 123 Elm St — sold at $124/sqft vs the group's $201/sqft (38% off); a closer-priced sale was used instead."** The ranking passed over a nearby sale on price. That is usually right, but it should never be invisible, so you can put it back deliberately.
EVE's review: is this price defensible?
Above the numbers, EVE runs a defensibility review over the comps you have included. It is deterministic, advisory, and every finding names its numbers and the concrete fix. It never changes anything; you do.
What it looks for:
| Finding | When |
|---|---|
| A sold price-per-square-foot outlier | An included sale sits more than 35 percent off the group's median rate. The finding gets a one-click Untick comp button. |
| A wide sold band | The top of the band is more than 1.75x the bottom, which usually means condition or feature differences the raw median is hiding. Work the Adjustments grid before presenting a single number. |
| The size band was dropped | Raw prices are not comparable, so present the Adjusted column and the Suggested value, not the raw median. |
| Suggested value diverges from the raw median | More than 15 percent apart means the size adjustments are doing real work, and it says which number to trust. |
| Every sold comp is 40 percent or more off the subject's size | Gaps that wide carry real uncertainty even at the marginal rate. Treat the adjusted number as a floor and lean on the same-size active listings, whose asking range the finding quotes. |
| Thin live competition | Fewer than three active or pending comps, so the asking-side figures may be omitted. |
The pricing narrative
EVE writes the narrative from the included comps and the aggregates, and from nothing else. No invented benchmarks, no industry averages, no numbers that are not on the page. When no language model is available it falls back to a deterministic write-up that says the same things in plainer sentences, so the presentation is never blank. The line above it tells you which you are looking at.
The narrative rebuilds whenever the included set changes.
Sharing it
Click Share. The first click mints the link; after that the button opens a menu:
- Copy link — the live URL.
- Email — opens your mail client with the subject and the link filled in.
- Text via Connect — sends through Realm's own texting rather than your phone, so it works from a desktop and the message lands in the contact's thread.
- Save as PDF — see below.
- More ways to send — your device's native share sheet, when it has one.
- Revoke link — kills it.
The menu header shows the URL, the view count, and a reminder that it is revocable at any time.
What the recipient sees is the presentation, not your working set: only the comps you included, the cited figures, the map, the narrative, your headshot, your contact details and your brand colour. They never see the comps you excluded, and they never see sample data.
Revoking is permanent for that link. Sharing again mints a fresh token and resets the view counter, so anyone holding the old URL is out. Every open is recorded, including attempts on a revoked or unknown link.
The PDF lane
There are two ways to a PDF, and they are honestly the browser's print dialog with a print stylesheet behind it:
- The PDF button in the header opens a print-ready copy of your own presentation and raises the print dialog for you. It reads your authenticated copy, so it does not need a share link to exist and it cannot be affected by one being revoked. Choose "Save as PDF" in the dialog.
- Print / save as PDF on the shared page itself, for anyone looking at the link.
The print stylesheet turns the page white, drops the map controls and the on-screen buttons, keeps headings attached to their sections, avoids splitting a card across two sheets, and forces the accent rules, status colours and photos to survive the printer's background stripping. It is built to be handed across a kitchen table.
Regenerate, rename, archive
- Regenerate is the only thing that re-queries the MLS. It replays the same search against fresh data, re-resolves the subject facts (the record may have gained fields, or the listing may only just have appeared), rewrites the narrative, and re-stamps the "data as of" date. It stays on the same record, so the share link you already sent keeps working and simply shows newer data. If the refresh cannot get live comps it refuses with the reason and leaves your existing presentation untouched.
- Regenerate starts the selection over: it comes back on EVE's balanced three-and-three pick of the fresh comps, not on the ticks you left behind (
regenerateCma). That is deliberate. Your unticked comps include the sold alternates sitting one size-band out, and those alternates are the next-best solds — held out of a fresh search, they took the sold count under the three-comp floor and the suggested value went quiet with it (operator, 2026-08-24). A refresh re-ranks against the new data, which is the point of refreshing; make your swaps again on the new grid, where Reset to EVE's picks is still the way back to the balanced selection. - Rename is on the row in the list.
- Archive shelves the CMA and revokes its share link. It is never a delete: Archived at the top of the list shows the shelf, and Restore brings one back. Sharing a restored CMA mints a new link.
Create a Transaction from a CMA
You won the listing. The Create Transaction button in the presentation header opens the Transaction create flow with the subject address already carried over, so the file starts from the property you just priced.
Related
- CMA comp-selection standards — the appraisal guideline each comp rule traces to.
- Connecting your MLS — no MLS credential, no live comps.
- Searching listings — the market view the comps come from.
- Home valuation reports — the recurring, homeowner-facing report, as opposed to the presentation you build for one listing appointment.
- Creating a Realm — what happens after Create Transaction.