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

Reliability grades

GradeMeaningTypical liquidity
AVery strong; tight CI≥ 50 tx/week
BStrong weekly signal20–49
CModerate; partial shrinkage10–19
DThin; heavy shrinkage5–9
EModel-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