CMA (Comparative Market Analysis)

Overview

The CMA system allows agents to create data-driven market analyses for clients. CMAs pull live MLS data, generate statistics, and can be enhanced with AI-generated commentary. CMAs can be shared via public links, attached to clients, or printed as PDFs.

Creating a CMA

There are multiple entry points for creating a CMA:

From Property Details: Every property listing has a "CMA Builder" button. Clicking it pre-populates the search with criteria derived from the subject property:

  • Square footage: +/- 15% of subject
  • Circle polygon: 1-mile radius from subject address
  • Zip code: same as subject
  • Year built: +/- 10 years
  • Pre-selected statuses: Active, Pending, Sold (0-365 days)

From Search Results: Agents can select properties from any search and generate a CMA from the selection.

Quick CMA: A streamlined CMA creation flow that allows agents to modify search criteria directly within the CMA window, attach to clients, and send via email.

Subject Property

The Subject Property feature allows agents to designate a specific property as the focus of the CMA. The subject property data is sent to AI features and displayed prominently in the report.

Subject property search supports:

  • MLS property search (up to 10 results)
  • Google Places address lookup (displayed with Google logo)
  • When a Google Place result is selected and no MLS match exists, the system creates a reference entry.

Fields sent to AI for subject property context: Status, Levels, List Date, Sold Date, Sold Price.

CMA Statistics

Each CMA includes market statistics calculated from the selected comparable properties:

  • Sold Units by Month
  • New Listings by Month (based on ListingContractDate)
  • Median Sold Price per Square Foot
  • Average/Median Days on Market
  • Price range analysis

CDOM vs DOM: The system uses CumulativeDaysOnMarket (CDOM) throughout the CMA, not DaysOnMarket (DOM). CDOM accounts for re-listings and provides a more accurate picture of total market exposure.

Statistics are generated monthly on the 6th via cron job. A "Resale Only" filter is available to exclude new construction.

AI Features in CMA

AI Analyze: Conversational AI that generates content for CMA sections (Overview, Buyer Insights, Seller Insights). The workflow is iterative -- agents can ask follow-up questions, request revisions, and refine the output. After generation, agents can edit the text, copy to clipboard, print, or copy to CMA notes.

  • The original prompt is hidden from the UI (it is often long and not useful to display).
  • Placeholder text: "Would you like to know more? Just ask!"
  • Comments added to individual CMA properties are sent to the AI for additional context.

AI Compose: Generates client-facing email content about the CMA. Supports custom prompts, a "Revise" button for iterating, and response streaming for real-time output.

PDF Generation

CMAs are generated as PDFs on the server side (not via browser print). This ensures:

  • Consistent styling regardless of the agent's device or screen size.
  • Correct page orientation handling (landscape vs. portrait).
  • Proper rendering of charts and Google Maps (including markers, paths, and polygon drawings).
  • Agent contact information (name, phone, email) displayed on the report. Headshots are not included.

Public Links

CMAs can be converted to public links for sharing with anyone (no login required). Public CMAs support:

  • Viewing all selected properties and statistics.
  • Editing and attaching properties from the public view.
  • The "0 properties" state is handled gracefully (never shown as empty).

Sharing with Clients

CMAs can be attached to specific clients and sent via email. The email includes a link that opens the CMA in the client's portal view. Agents can customize the email subject and content before sending.

When selecting a client to email a CMA, contacts without an email address are filtered out of the selection list. -e

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.