| Score | Listing | Community | Type | Bd / Ba | Price | DOM | Status | Confirmed |
|---|
| Score | Listing | Community | Type | Bd / Ba | Price | DOM | Status | Confirmed |
|---|
Parsing is regex-based and shown for review before anything is saved. Fix anything wrong on the right. Identity is the MLS® number when present, otherwise the normalized address.
Preference feeds the community score (1 = tolerable, 5 = ideal). With "Only my communities" on, listings outside this list are filtered out.
Feeds the property-type score. The hard filter (which types show at all) lives on the Listings page.
Days on market accrues only while a listing is active, from the moment it entered this tracker. The leverage curve is 1 − e−DOM / scale; at 45 days it's ~0.63.
Stored, not fetched. The seam is Ingest.upsert() plus FeedAdapter.mapRecord() in the script; every listing, pasted or fed, enters through the same path.
Everything: listings with full history, communities, weights, settings. Price history is the part you can't rebuild, so keep a copy.
Merges by listing id: new ids are added, existing ids get their histories unioned and the newer field values kept. Communities are unioned. Nothing is deleted.