# External house price indices — Quebec, 2021-01 → 2026-10 Purpose: publicly available price-index series used only for **external validation** of the SHARP-HPI panel (CLAUDE.md §13). Nothing here enters the hedonic specification. All files were produced from actually downloaded data on **2026-10-21** (UTC timestamps in each row); no value was typed by hand. Raw downloads are kept in `raw/`, conversion scripts in `scripts/` (run with `python3 -I scripts/.py …`). Common CSV layout (long format): `source, series_name, geography, property_scope, frequency, period (YYYY-MM or YYYY-Qn), value, base_period, download_url, downloaded_at`. The window kept is 2021-01 … 2026-10; the actual last available period is given per series below. ## Files | File | Source | Frequency | Geographies | Period covered | |---|---|---|---|---| | `teranet_nb_hpi_monthly.csv` | Teranet–National Bank HPI | monthly | Composite 11 (Canada), Montréal CMA, Québec CMA, Sherbrooke CMA, Trois-Rivières CMA | 2021-01 → **2026-09** (69 obs./series) | | `crea_mls_hpi_monthly.csv` | CREA MLS® Home Price Index | monthly | Canada aggregate, Quebec province aggregate, Montréal CMA, Québec CMA, Estrie, Mauricie, Centre-du-Québec | 2021-01 → **2026-09** (69 obs./series) | | `statcan_18100205_nhpi_monthly.csv` | Statistics Canada, New Housing Price Index, table 18-10-0205-01 | monthly | Canada, Quebec (province), Montréal, Québec, Sherbrooke, Trois-Rivières, Ottawa-Gatineau (Quebec part) | 2021-01 → **2026-08** (68 obs./series) | | `statcan_18100169_rppi_quarterly.csv` | Statistics Canada, Residential Property Price Index, table 18-10-0169-01 (terminated) | quarterly | Montréal CMA, six-CMA composite | **2021-Q1 → 2021-Q4 only** (4 obs./series) | ## 1. Teranet–National Bank House Price Index (`teranet_nb_hpi_monthly.csv`) - **Method**: repeat-sales index estimated on property transfers recorded in provincial land registries (Quebec: Registre foncier), all residential property types pooled; see https://housepriceindex.ca/about/our-methodology/. Not a hedonic or benchmark method; no property-type breakdown is published. - **Geography**: census metropolitan areas (CMA). `Québec City` on the site = Québec CMA. Composite 11 = weighted composite of 11 CMAs (Montréal weight and Québec City weight are in the `profiles` block of the raw JSON). Sherbrooke and Trois-Rivières are also published monthly; Saguenay has no index series in the public feed. - **Base period**: June 2005 = 100. - **Series kept** (3 per market): `not seasonally adjusted` (NSA index), `seasonally adjusted` (SA index), `sales pair count` (number of repeat-sale pairs used that month; count, not an index). - **Vintage**: release of **2026-10-20** (September 2026 data; next releases 2026-11-18, 2026-12-17 per `raw/teranet_indx_data_releases_2026-10-21.json`). Teranet revises the whole history at each release, so this is the current-vintage series, **not** a real-time vintage. - **Download**: the site offers an official form at `https://cloud.connect.teranet.ca/hpi-download-en` (asks for name/e-mail/company, iframe on https://housepriceindex.ca/index-history/). That form was **not** used. The series were taken from the public JSON feed that drives the site's charts: `https://housepriceindex.ca/_data/indx_data.json?d=4e4005dc` (downloaded 2026-10-21T05:14:13Z, copy in `raw/teranet_indx_data_2026-10-21.json`). Values in that feed are lightly obfuscated: the site's `hpi.js` (v1.9.0-2, function `unmunge`) recovers them as `real = round((v − round(frac(v)·100))·100)/100`, and sales-pair counts are multiplied by 10. `scripts/teranet_to_csv.py` applies exactly that rule. Month `i` of each array = start_date 1990-06 + i months (436 values → 2026-09). - **Verification**: decoded September 2026 values match the site's displayed values and the press release `raw/Teranet_E_261020.pdf` to the last digit: Composite 11 = 294.94 (−1.4 % m/m NSA, +0.1 % m/m SA, −3.5 % y/y); Montréal = 310.62 (−2.1 % m/m, +1.4 % y/y); Québec City = 327.56 (+7.7 % y/y); Sherbrooke = 364.30; Trois-Rivières = 370.15. - **Caveats**: repeat-sales only (properties sold at least twice, no new construction in a pair); the site displays the SA series only from December 2021 (`SA_START_DATE` in hpi.js) although the feed contains SA values earlier — treat SA values before 2021-12 with caution; sales-pair counts for the last months are provisional. Use is subject to Teranet's Terms of Use (https://housepriceindex.ca/terms-and-conditions/): research use with attribution. ## 2. CREA MLS® Home Price Index (`crea_mls_hpi_monthly.csv`) - **Method**: hedonic **benchmark** model estimated on MLS® (Centris in Quebec) brokered resale listings; the HPI is the index of the benchmark (typical) home price for each property type; see https://www.crea.ca/housing-market-stats/mls-home-price-index/about-hpi/. Composite, Single-family, One-storey, Two-storey, Townhouse, Apartment; both the index (`*_HPI`) and the benchmark price in CAD (`*_Benchmark`) are kept, NSA and SA. - **Geography**: `MONTREAL_CMA`, `QUEBEC_CMA` (CMA boundaries as defined by the Quebec boards), `QUEBEC` = province-level aggregate of the boards participating in the MLS HPI, `ESTRIE`, `MAURICIE`, `CENTRE_DU_QUEBEC` (board/region areas), `AGGREGATE` = Canada aggregate. Gatineau is not a separate sheet (Ottawa board sheet `OTTAWA` is Ontario-centred and was not kept). - **Base period**: January 2005 = 100. - **Vintage**: `MLS_HPI_Oct_2026.zip`, workbooks dated 2026-10-01 inside the archive, last month 2026-09 (September 2026 release). CREA revises the history at each monthly release and performs an annual methodology/benchmark review (see `Briefing-on-changes-to-HPI-methodology-ENG.pdf` linked from the tool page), so again this is a current-vintage series. - **Download**: the full-history Excel did **not** require a login: `https://www.crea.ca/files/mls-hpi-data/MLS_HPI_Oct_2026.zip` (linked from https://www.crea.ca/housing-market-stats/mls-home-price-index/hpi-tool/, downloaded 2026-10-21T05:17:40Z, copy in `raw/`). Converted with `scripts/crea_to_csv.py` from `Not Seasonally Adjusted (M).xlsx` and `Seasonally Adjusted (M).xlsx`. Quarterly and annual workbooks are in the zip but were not converted. - **Caveats**: covers brokered resales only (Centris); the benchmark home definition and model are CREA's; the Quebec province aggregate reflects participating boards only, not all municipalities; CREA terms of use apply (https://www.crea.ca/terms-of-use/), attribution required. ## 3. Statistics Canada NHPI, table 18-10-0205-01 (`statcan_18100205_nhpi_monthly.csv`) - **Method**: matched-model price index of builders' selling prices for **new** single, semi-detached and row houses (contractors' prices, constant specifications); survey 2310. Components: Total (house and land), House only, Land only. **Not a resale index** — lower priority for validating a transaction-based index; useful for the new-construction segment. - **Geography**: Canada, Quebec (provincial aggregate = included Quebec CMAs), Québec, Montréal, Sherbrooke, Trois-Rivières, Ottawa-Gatineau (Quebec part). Series names contain the StatCan vector id (e.g. Montréal total = v111955484 — see `series_name`). - **Base period**: December 2016 = 100. - **Vintage**: release 2026-09-17 08:30 (August 2026 data); last period 2026-08. - **Download**: WDS `getFullTableDownloadCSV/18100205/en` → `https://www150.statcan.gc.ca/n1/tbl/csv/18100205-eng.zip`, downloaded 2026-10-21T05:16:30Z (copy + cube metadata JSON in `raw/`). Converted with `scripts/statcan_to_csv.py`. Open Government Licence – Canada. - **Caveats**: 'E' quality flags are in the raw CSV `STATUS` column, not carried into this file; the Quebec aggregate includes Ottawa-Gatineau (Quebec part) since Dec 2016 (table note 5). ## 4. Statistics Canada RPPI, table 18-10-0169-01 (`statcan_18100169_rppi_quarterly.csv`) - **Method**: Residential Property Price Index (survey 5303), 2017 = 100, quarterly, by building type (House, Condominium apartment, Total) × construction type (New build, Resale, Total). The **resale** component was produced by Teranet/NBC with a methodology customised for StatCan (table note 5); the new-house component is the quarterly average of the NHPI; the new condo component is the NCAPI (now table 18-10-0273-01). - **Geography**: only six CMAs — Montréal, Ottawa-Gatineau (Ontario part), Toronto, Vancouver, Victoria, Calgary — plus the six-CMA composite. **Québec CMA is not covered.** Kept: Montréal and the composite. - **Status**: **terminated after 2021-Q4** (table note 8), archived 2022-05-04. Only 2021-Q1…2021-Q4 fall in the study window; useful at most as a four-quarter anchor for Montréal resale vs new. - **Download**: `https://www150.statcan.gc.ca/n1/tbl/csv/18100169-eng.zip` (WDS), 2026-10-21T05:16:30Z. ## What could not be obtained, and why - **StatCan 18-10-0276-01** (as given in the task) is *not* the RPPI: WDS metadata identifies it as "Building construction price indexes, by type of building and division, inactive". The quarterly RPPI is 18-10-0169-01 and it was discontinued after 2021-Q4; Statistics Canada currently publishes **no resale house price index** for Montréal/Québec. A WDS search of all cube titles (`getAllCubesListLite`, 2026-10-21) found no other active "property/house price" table besides the NHPI (18-10-0205/0210) and the NCAPI (18-10-0273). - **Teranet official download form** (`cloud.connect.teranet.ca/hpi-download-en`): requires submitting a personal-data form; not used. The public JSON feed gave the same data (verified against the press release). The Composite 6 (C6) is no longer public (site notice). - **Teranet Saguenay**: listed in the site's profiles but with no series in the public feed. - **CREA board-level pages on stats.crea.ca**: not needed (full Excel obtained); the site's HPI chart is a Tableau Public embed with no CSV endpoint. - **APCIQ / Centris median prices (Baromètre résidentiel)**: no CSV/XLSX is published. The data exist only as monthly PDF reports by RMR (province, Montréal, Québec, Gatineau, Sherbrooke, Trois-Rivières, Saguenay, Drummondville) at `https://com.apciq.ca/sam/pdf/bar/YYYY/YYYYMM-bar-[-fr].pdf` (naming is inconsistent — `-fr`, `_fr`, CDN host — and the index page lists only 2024-01 … 2026-03; guessed URLs for 2021-01, 2025-09 and 2026-09 returned 404). Building a 2021–2026 monthly series would require scraping ~70 PDFs per region with no guaranteed layout; not done. Note also that APCIQ publishes *medians*, not a quality-adjusted index, so it would serve only as a composition- sensitive comparator. - **Nothing covers October 2026**: Teranet and CREA end in 2026-09, NHPI in 2026-08. The October 2026 cell of the SHARP-HPI panel therefore has no external comparator at this time. ## Harmonisation notes for §13 of the paper - Base periods differ (Teranet 2005-06, CREA 2005-01, NHPI 2016-12, RPPI 2017): rebase every series to the 2021 annual average = 100 before comparison, and compare log changes, not levels. - Scope differs: Teranet = all registered transfers with a prior sale (repeat-sales, no new builds in pairs); CREA = brokered resales, benchmark home; NHPI = new houses only; SHARP-HPI = all registered arm's-length sales in the Vrai Prix extract. Composition and coverage differences are expected to show up in level and in month-to-month volatility. - Geography: CMA definitions (Teranet, StatCan) vs board areas (CREA) vs SDA municipalities (SHARP-HPI); build CMA aggregates from the SDA crosswalk before comparing. - Vintage: all external series are the 2026-10 current vintage; compare with the retrospective SHARP-HPI series, not with the real-time vintages.