A 12-chart visual narrative surfacing what city-wide aggregate reports miss — neighbourhood-level divergence, the real spring premium, the affordability threshold crossing, and why days-on-market predicted the 2022 correction two months before prices moved.
Avg across 20 neighbourhoods × 4 property types · Phase shading: red=COVID, amber=Frenzy, purple=Rate shock, green=New Normal
Average seasonal index 2020–2024 · % above/below annual mean · Spring premium: +5–6%
All property types averaged · Bridle Path excluded from chart for scale clarity
Index = median household income ÷ min qualifying income · Below 1.0 = median household cannot qualify
The complete Jupyter notebook with all 12 charts, a data generator calibrated to real TRREB market dynamics, and a findings summary. Runs end-to-end without any external data download.