Metrics
- Months of Inventory (MOI): active listings ÷ that month's sales. Lower = tighter market. Under ~4 is a seller's market.
- Absorption / Sell-Through: sales ÷ active listings for the month. Higher = faster-moving. Over 100% means more sold in the month than were standing at month-end.
- Sale-to-List: sold price ÷ original list price. Over 1.0 = selling above ask.
- Active vs Sold $/sqft: asking $/sqft of current supply vs achieved $/sqft of sales.
Segments
- Competitive (Single Family): Residential, PropertySubType Detached/Attached, 3+ beds — mirrors the competitive listing reports.
- All Listings: every property type, no filter.
- Detached (House): Residential sales where BuildingType = "House".
- Townhome: Residential sales where BuildingType = "Row/Townhouse".
- Semi-Detached / Duplex: Residential sales where BuildingType = "Semi-Detached (1/2 Duplex)" or "Duplex (both units)".
Property-type segments come from the sold feed's BuildingType field. The coarse Detached/Attached PropertySubType used by "Competitive" can't tell a townhome from a house — BuildingType can, which is why these segments are separate.
Garage
- With Garage: the sale's parking description names a private garage (e.g. "2 Car Attached", "1 Car Detached").
- No Garage: everything else — "No Garage", surface "Parking Spaces", "Underground Parking" (parkade), or a blank parking field.
- Any: both combined (With + No always reconcile to Any).
Limitations — please read
- Property-type & garage segments are sold-side only. The supply/active feed (CREA DDF) is single-family-only and carries no BuildingType or garage breakdown, so for any segment other than "Competitive"/"All Listings" — or any garage filter other than "Any" — Active supply, Months of Inventory and Absorption are blank (–). Sold-side metrics (median price, DOM, sale-to-list, sold $/sqft, sold count) are always shown.
- Thin cells. Semi-detached/townhome volumes are small (city-wide, tens per month; far fewer per area/price band). Treat single-digit medians and ratios as directional, not precise.
- BuildingType coverage. A minority of sold rows have a blank BuildingType and won't fall into any property-type segment (they still appear in "All Listings").
- Garage inference. "With/No Garage" is inferred from free-text parking descriptions, not a dedicated flag; unusual phrasings may misclassify.
Supply from CREA DDF (weekly snapshots); sales from SK MLS sold records. Joined at City × Area × Price Band × Month. The 400k–500k band and Active $/sqft are available for recent months only.