Methodology
QWHPI is a hierarchical hedonic time-dummy index — it measures price movement, never composition movement.
Data
~745,000 residential transactions across 1,100+ Quebec municipalities, January 2021 to present, geocoded and spatially joined to the official SDA 1/20 000 boundaries (municipality → MRC → 17 administrative regions). Non-arm's-length transfers (price far from municipal assessment), duplicates, and portfolio-scale conveyances are excluded with a fully documented exclusion table (~3.5% of records). The indéterminé property type never enters any published index.
Stage 1 — pooled hedonic
A single pooled regression over the full sample explains log price with structural characteristics (log floor area with explicit missingness indicators, building age bins, building type), fine location fixed effects (forward sortation areas), and week × property-type fixed effects. Those time effects are the province-level weekly price paths, fully quality-adjusted. R² ≈ 0.60 on 626,000 transactions.
Stage 2 — hierarchical weekly state
Each region's (and municipality's) weekly deviation from its parent path is a latent random walk observed through the weekly mean regression residual, whose noise variance scales as σ²/nₜ. A Kalman filter/smoother estimates the deviation: liquid weeks speak for themselves; thin weeks shrink toward the parent trend. The published index is the raw weekly estimate; index_smoothed is the one-sided (real-time, no lookahead) filtered path.
Validation
- Repeat sales: a BMN index on 63k+ same-unit pairs confirms relative city/province paths within ~1 point; hedonic levels sit a few percent above repeat sales (standard depreciation bias).
- Downsampling: thinning Montréal condos from 145 to 5 tx/week raises path RMSE only from 0.3% to 1.6% — the basis for the A–E reliability grades.
- Composition shock: removing 70% of small-dwelling sales moves the raw median +11.7% but the hedonic index only −0.7%.
- Seasonality: no stable weekly seasonality is detectable — all series are published NSA.
Reliability grades
| Grade | Meaning | Typical liquidity |
|---|---|---|
| A | Very strong; tight CI | ≥ 50 tx/week |
| B | Strong weekly signal | 20–49 |
| C | Moderate; partial shrinkage | 10–19 |
| D | Thin; heavy shrinkage | 5–9 |
| E | Model-implied only | < 5 |
Conventions
Base: 2021 average = 100. Monday-labeled weeks; zero-transaction weeks stay on the grid. The latest week is flagged is_partial_week while registrations are still arriving. Every observation ships with a 95% interval, transaction count, effective sample size, and shrinkage weight. Full details in the methodology paper (see repository paper/).
Author: Simon-Pierre Boucher — contact@spboucher.ai