# Listing Comp Research

Pull comparable sales (comps) from public real estate portals, normalize the raw listings into a structured data set, and produce a clean comp sheet an agent can use for pricing discussions.

## When to use

- A listing agent needs recent comparable sales for a subject property before setting or defending a list price.
- A buyer's agent wants a quick comp sheet to support an offer strategy.
- Someone asks for a refreshed comp set because prior research is more than a few weeks old.

## Tools

- `browser-search`
- `browser-navigate`
- `browser-extract`
- `shell-execute`
- `write-file`

## Playbook

1. Confirm the subject property's address, property type, bedroom/bathroom count, square footage, and the comparison radius or neighborhood boundary before starting research.
2. Use `browser-search` to find public listing portal search results for recently sold and active comparable properties near the subject address (e.g. a query like "site:redfin.com sold homes [neighborhood] last 6 months").
3. Use `browser-navigate` to open each relevant portal search results page or individual listing page returned by the search.
4. Use `browser-extract` to pull the structured fields from each listing page: address, sale price or list price, sale date, square footage, bed/bath count, lot size, and days on market.
5. Repeat steps 3-4 until you have at least 5-8 comparable properties, favoring the most recent sales and the closest geographic and physical matches to the subject property.
6. Use `shell-execute` to run a normalization script that converts the extracted raw records into a consistent format (standardized units, price-per-square-foot calculation, de-duplication by address).
7. Review the normalized data for outliers (e.g. distressed sales, non-arm's-length transfers) and flag any that should be excluded or weighted differently, noting the reason.
8. Use `write-file` to save the final comp sheet as a document listing each comparable, its key stats, price-per-square-foot, and a summary range (low/median/high) for the subject property.
9. If a portal blocks automated access or required data (such as MLS-restricted fields) is unavailable through public pages, stop gathering that field and note the gap in the comp sheet rather than guessing at a value.

## Failure modes

- Portal search results return listings outside the requested radius or property type; verify each comp actually matches the subject property's criteria before including it.
- Extracted sale prices may reflect list price rather than closing price on some portals; confirm the field is a true closing price before using it in calculations.
- Small comp sets (fewer than 5 properties) produce unreliable price-per-square-foot ranges; widen the radius or time window rather than reporting from too few data points.
- This research is informational only — it is not appraisal, legal, or financial advice, and any pricing or offer terms drawn from it require human review and approval before being used with a client.

## Done when

- A comp sheet with at least 5 normalized, verified comparable properties and a price-per-square-foot summary range has been saved via `write-file`.
- Any excluded outliers or data gaps are documented with the reason for exclusion.
- The comp sheet is handed off for human review before any pricing or offer decision is made.