REVIEW-REPORT — Editorial-board revision of UQO WP 9 (2026-10-17)
Paper: A Grand Hedonic Model of the Canadian Housing Market: Decomposing the Value of
Structure and Location across 142,121 MLS Listings with High-Dimensional Neighbourhood
Fixed Effects — v1.2 (May 2026, 34 pp., 64 refs) → v1.3 (October 2026, 52 pp., 91 refs).
Protocol: Recherche-UQO/REVISION-MASTER-PROMPT.md + REVISION-PROTOCOLE.md. Pre-revision
state: git tag pre-revision-20261017, docs/main_pre-revision-20261017.pdf.
Companion audit trail: docs/CHANGELOG-REVISION.md.
0. Summary verdict
A well-executed national measurement paper whose v1.2 had three structural problems that a referee would have caught: (1) the headline "location ≈ 30 pp, more than all structure" rested on a sequential R² ladder whose attribution is order-dependent; (2) ~12 % of listings carried the wrong province (the scraper seed, not the postal code), visible on the published premia figure ("E2A (QC)", "R0M (SK)"); (3) the paper's numbers came from a lost pipeline that the shipped code reproduced only approximately. All three are fixed in v1.3: the paper now reports the fully reproducible pipeline with FSA-derived provinces, complements the ladder with a Shapley–Owen decomposition, and adds inference, functional-form and spatial-validation analyses. The contribution survives in a more defensible form: structure and location are of comparable importance (≈34 vs ≈36 pp of R²), and location is the largest block only once province and FSA are grouped.
1. Diagnosis by section (v1.2 → action in v1.3)
| Section | Strengths | Weaknesses / errors found | Action |
|---|---|---|---|
| Abstract | Clear, quantified | "location alone ≈ 30 pp … dominant" unqualified; elasticity range 0.51–0.62 mixes samples; list-price nature not stated | Rewritten with attribution rule, inference caveat, within/out-of-support accuracy, explicit asking-price statement |
| Introduction | Good motivation, 3 contributions | Novelty claim unsupported by Canadian lit; "GTA among top premia" false (all top-12 are BC); no statement of list-price caveat | Rewritten; Canadian lit cited (Allen et al. 2009; Hossain & Latif 2009; Dubé et al. 2013; Thériault et al. 2003); design caveats stated upfront |
| Literature | 7 thematic subsections | Missing: Sheppard 1999, Sirmans et al. 2006 meta-analysis, Bishop et al. 2020, Bishop–Timmins 2019, Kennedy 1981, Kelejian–Prucha 1998/2001, Abadie et al. 2023, MacKinnon–Webb 2017, Shapley/Owen refs, Davis–Palumbo 2008, Albouy–Ehrlich–Shin 2018, Combes–Duranton–Gobillon 2019, Diewert et al. 2015, Hill–Scholz 2018, Bogin et al. 2019, list-price literature (Horowitz 1992, Merlo & Ortalo-Magné 2004, Anglin et al. 2003, Han–Strange 2016, Genesove–Han 2012), spatial CV (Roberts et al. 2017); one unverifiable reference (Mok & Chan 2018) | 27 verified refs added, 2 removed, 23 DOIs added; new subsection "List prices and the Canadian evidence" |
| Data | Transparent parsing | Median price "$565,000 / 125 m²" in text vs $639,888 / 134.6 in table; province = scraper seed (11.7 % mislabelled); NB present but reported as absent; territories listed as absent though 22 records existed; storeys/parking zero-fill and extreme values undocumented; "1,153 FSAs" counted 9 pooled province categories as FSAs | Province rebuilt from FSA letter; territories/invalid letters dropped; all counts recomputed and reported (147,236 → 142,121; 1,146 FSAs + 9 pools); StatCan FSA definition cited |
| Methodology | Correct equation, HDFE well explained | No equation for decomposition, inference, quantile, Moran, gradient, Duan; "ladder" as bullet list; Halvorsen–Palmquist cited but Kennedy correction absent; clustering level not discussed | Six numbered equations added (Kennedy, Shapley, quantile, Moran, Duan, gradient reading); inference subsection (FSA vs province, wild-cluster bootstrap); validation designs defined |
| Results | Clear figures | Order-dependent decomposition presented as fact; "doubling of distance → −8.5 %" wrong (slope −0.085 per log unit = −5.7 % per doubling); half-bath/bedroom effects over-interpreted; has_lot coefficient read in isolation; type/ownership effects never reported though invoked; gradient non-monotonicity unmentioned; Whistler (V8E) called "City of Vancouver" | Shapley/Owen table + figure; gradient table (bands, metro FE, quadratic) and correct per-doubling reading; type/ownership table with Kennedy %; joint reading of lot variables; spline table; geography paragraph corrected |
| Robustness | Six cuts, quantiles, Moran, LOPO, OOS | Quantile text claimed bathroom premium "stable 0.10–0.13" while table showed 0.18 → 0.07; LOPO text claimed ">0.40 for large central and western markets" while BC 0.32, QC 0.30, AB −0.10; Moran p "<0.01" with 199 permutations (min 0.005); OOS random split only; "analytical SEs" for quantiles undefined | Text rewritten to match recomputed tables; SE-comparison table (HC1/FSA/province/two-way + wild bootstrap); spatial holdout table (FSA-level, province-mean vs IDW); Moran sensitivity (k = 5/10/20, two subsamples); two robustness rows added (capped counts; excl. pooled FSAs) |
| Discussion | Good engagement with literature | Repeated v1.2 overstatements; "upper end of published estimates" for bathrooms unsupported | Rewritten; new "Inference" paragraph; six limitations incl. list-to-sale wedge mechanics; methodological message on sequential ladders |
| Conclusion | Modest tone | Numbers inconsistent with new results | Rewritten (four conclusions) |
| Appendix | none | — | Added: variable construction, Moran sensitivity, v1.2 ↔ v1.3 reconciliation table |
2. Methodology — verdict on each point of §3 of the master prompt
- Specification justified: yes; semi-log with log area; constant elasticity tested by quadratic and spline (ΔR² ≤ 0.001; curvature concentrated above 150 m²).
- Estimation assumptions explicit: now yes (conditional mean zero given attributes and FSA; within-FSA sorting of unobserved quality acknowledged as the residual threat).
- Variables correctly defined: yes after revision (zero-fill of storeys/parking, lot indicator + ln(1+lot), province from FSA all documented, Appendix A).
- Fixed effects appropriate: yes. One-way FSA FE, exact demeaning. Note: 9 "pooled residual" categories are not neighbourhoods; dropping them changes nothing (Table 7).
- Spatial dependence defensible: FE remove 87 % of Moran's I; residual I = 0.03–0.11 significant → clustered inference required; result robust to k and subsample.
- Standard errors: baseline FSA-cluster (G = 1,155) appropriate; province-cluster SEs ×4 larger; restricted wild-cluster bootstrap at province level (G = 9, 512 enumerated draws) → area, bathrooms, lot robust (p = 0.004 = minimum); half-baths and bedrooms not (p = 0.52, 0.58). Text revised accordingly.
- Sample construction transparent: yes (raw 172,019 → core 147,236 → trimmed 142,121; Appendix A).
- Robustness addresses genuine threats: 8 cuts incl. capped counts and no pooled FSAs; quantiles; functional form; alternative SEs; spatial holdout; LOPO.
- Coefficient interpretation: e^γ−1 for counts (11.9 % per bathroom), Kennedy (1981) for indicators (house +45.7 % vs apartment), gradient per doubling 2^λ−1 (−5.5 %). The v1.2 "−8.5 % per doubling" was a mathematical error.
- Statistical vs economic significance: distinguished (bedrooms −0.6 %: statistically significant under FSA clustering only, economically nil).
- Causal claims: none; FE described as measurement device; premia as composite capitalisation.
3. Literature
- Existing references verified: all 62 retained entries checked against Crossref (query + DOI) or publisher/RePEc records; DOIs added to 23 entries that lacked one; Sirmans et al. (2005) pages corrected to 1–44 (Crossref); Court (1939), Griliches (1961), Combes & Gobillon (2015) retyped as
@incollection; Correia (2017) as@unpublished. - Removed (2):
cmhc2018canadian(Mok & Chan, "House Prices and the Geography of the Canadian Housing Market", CJUR 2018 — no Crossref/Scholar record; treated as unverifiable) → replaced by Allen, Amano, Byrne & Gregory (2009, CJE);gabaix2016power(orphan, never cited). - Added (29, all Crossref-verified with DOI except Kennedy 1981 verified via RePEc/AER and the StatCan catalogue record): Sheppard 1999; Bishop et al. 2020; Bishop & Timmins 2019; Sirmans et al. 2006; Kennedy 1981; Abadie et al. 2023; MacKinnon & Webb 2017; Israeli 2007; Grömping 2007; Huettner & Sunder 2012; Kelejian & Prucha 1998, 2001; Hill & Scholz 2018; Bogin, Doerner & Larson 2019; Roberts et al. 2017; Combes, Duranton & Gobillon 2019; Davis & Palumbo 2008; Albouy, Ehrlich & Shin 2018; Diewert, de Haan & Hendriks 2015; Horowitz 1992; Merlo & Ortalo-Magné 2004; Anglin, Rutherford & Springer 2003; Han & Strange 2016; Genesove & Han 2012; Allen et al. 2009; Hossain & Latif 2009; Dubé, Thériault & Des Rosiers 2013; Thériault et al. 2003; Statistics Canada 2022 (FSA reference guide). Full list with DOIs in
CHANGELOG-REVISION.md§4. - Count: 64 → 91 entries, 91/91 cited, 0 unverified.
4. Results — inconsistencies found and resolved
- Text vs table medians (price, area) — fixed by regeneration from the sample.
- Quantile bathroom premium "stable" vs declining 0.18 → 0.07 — text corrected (now 0.19 → 0.10).
- LOPO narrative vs table — corrected (new ranking: BC −0.49, QC 0.19).
- Gradient per doubling −8.5 % → −5.5 % (correct transformation).
- "All top FSAs in the City of Vancouver" — V8E is Whistler, V7T West Vancouver; corrected.
- "GTA among the highest" — first ON FSA ranks 14th; corrected.
- Premia labelled with wrong provinces (E2A "QC", R0M "SK") — fixed at source.
- Moran p "<0.01" — reported as 0.005 (minimum attainable).
- "1,153 FSAs" — 1,146 FSAs + 9 pooled categories; stated.
- Storeys coefficient 0.001*** driven by a 593-storey record — explained; capped-row robustness.
- Mean APE in repeated splits dominated by one listing with 3,620 parking spaces — trimmed mean reported with note.
5. Re-analyses executed (all on this Mac, total < 3 min; scripts versioned)
| Analysis | Script | Output | Runtime |
|---|---|---|---|
| Sample rebuild with FSA-derived province | 01_build_sample.py |
data/processed/analysis.parquet |
40 s |
| Ladder M1–M5, premia | 02_estimate_core.py |
results/reproduced/{fit.json,coef_M*.csv,fsa_premia.csv,grand_model.parquet} |
5 s |
| OOS, 8 robustness cuts, heterogeneity, quantiles, quadratic, gradient, Moran, LOPO | 03_estimate_extended.py |
results/reproduced/* |
8 s |
| Shapley/Owen (16 regressions ×2 samples), SE comparison + wild-cluster bootstrap (512 draws × 5 coefs), spline, spatial holdout (5 FSA reps + 5 random seeds), Moran sensitivity (12 configs), metro gradient | 06_revision_analyses.py (new) |
shapley.csv, se_comparison.csv, spline.csv, spatial_holdout.json, moran_sensitivity.csv, gradient_metro.json |
33 s |
| 13 tables, 17 figures | 05_make_tables.py, 04_make_figures.py |
results/tables/, figures/ |
35 s |
6. Recommended analyses NOT executed (data unavailable or out of scope)
- Linking listings to transaction prices / time on market (no sales data in the snapshot).
- Age, renovation and interior-quality controls (fields absent).
- Explicit spatial error model (Kelejian–Prucha GS2SLS) on the within-FSA residuals — feasible but adds complexity without changing conclusions; left for future work.
- Fully interacted submarket-specific coefficient systems (province × attribute slopes) — partially covered by province-by-province estimation.
- Finer geography (6-character postal codes or dissemination areas) — requires a boundary file / geocoding of ~140k points to census units; not attempted.
- Panel of snapshots for dynamics — single cross-section only.
- Decomposition of FSA premia into amenities (schools, transit) — requires external amenity data.
- ML benchmark (XGBoost/LightGBM) against the hedonic model — dead code in the original project was dropped in Aug 2026; not revived (would need
xgboost,lightgbm).
7. Remaining limitations (stated in §7.4 of the paper)
Asking prices; unobserved quality and within-FSA sorting; noisy lot/storey/parking fields and reconstructed province; single cross-section of one platform; postal (not planning) geography and 9 pooled pseudo-neighbourhoods; structural prices do not transfer to BC.
8. Publication maturity
- Target journals: Journal of Housing Economics, Journal of Real Estate Finance and Economics, Regional Science and Urban Economics (empirical note), Canadian Journal of Economics (Canadian scope), Journal of Property Research.
- Readiness: suitable for submission as a measurement/benchmark paper after the author checks the items flagged in
CHANGELOG-REVISION.md§6 (title N change on SSRN; wording of the novelty claim). - Main rejection risks: (i) asking prices rather than transactions — the central vulnerability; now framed honestly but a referee at a top field journal may still ask for a list-to-sale validation on a subsample; (ii) descriptive rather than causal contribution — framed as measurement; (iii) FSA geography as "neighbourhood"; (iv) single snapshot, unknown platform coverage; (v) the two lot coefficients are hard to interpret and depend on a free-text parser.