Research Working Papers

UQO Working Papers · WP03 · v1.2

Hedonic Housing Price Models for the United States: A Multi-Method Comparison of Parametric, Quantile, and Machine Learning Approaches

Simon-Pierre Boucher

Year
2026
First release
October 2026
Latest revision
October 2026
Publication status
Working paper
PDF · 82 pages

The machine-learning advantage does not survive unseen housing markets

On 788,842 U.S. listings XGBoost scores R² = 0.833 under a random split but 0.425 under a ten-state holdout; cluster-robust standard errors are 8–12 times the HC3 errors and leave only 33 of 63 OLS coefficients significant.

Abstract

This paper compares econometric and machine-learning approaches to hedonic housing valuation on 788,842 active Zillow listings covering all 50 U.S. states and the District of Columbia, and asks how much of the machine-learning advantage survives when models must price homes in markets they have not seen. A semi-log OLS model with 62 regressors (R² = 0.634) yields listing-price gradients consistent with the hedonic literature; ZIP3 fixed effects raise out-of-sample R² to 0.725 and residual Moran's I = 0.27 shows strong spatial dependence. Allowing for that dependence matters: cluster-robust standard errors are, on median, 8 (ZIP3) to 12 (state) times the HC3 errors, and only 33 of 63 coefficients remain significant under state clustering.

State-by-state estimation shows that the pooled coefficients average markedly different local price functions (living-area elasticities from 0.06 to 1.15) and that a fully interacted model gains 6.1 points of out-of-sample R² over state fixed effects. Quantile regression reveals distributional heterogeneity, with paired cluster-bootstrap Wald tests rejecting equality of the 10th- and 90th-percentile coefficients for 10 of 13 key attributes. XGBoost reaches R² = 0.833 under random validation but 0.425 under a ten-state holdout and a median of 0.653 across 51 leave-one-state-out models; once 0.6% of corrupt records are removed, OLS is as accurate out of state (0.539) as the best tree ensemble.

The gap is traced to the prediction of market price levels rather than within-market structure (within-state R² = 0.62), to region dummies and to neighbourhood variables that are state-median imputations for 93% of listings, and to boosting capacity: held-out-state accuracy peaks after 75 rounds and declines thereafter while within-training accuracy keeps rising. SHAP rankings are stable across ensembles (ρ > 0.89), and the third-ranked feature is a state identifier. A coding error that set ln(lot) to zero for 16.5% of listings is corrected (lot elasticity 0.095, not 0.018). Estimates are interpreted throughout as conditional associations in asking prices, not willingness-to-pay parameters.

Key findings

  • 788,842

    active Zillow listings, 50 states and DC

  • 0.833 vs 0.425

    XGBoost R², random split versus ten-state holdout

  • 0.539

    OLS R² out of state after removing corrupt records

  • 33 of 63

    OLS coefficients significant under state clustering

  • 0.06–1.15

    living-area elasticity across state-by-state regressions

  • 93%

    listings whose school variables are state-median imputations

Scientific contributions

Spatial leakage quantified on national data
A 10-state holdout, grouped 5-fold cross-validation by state (pooled R² 0.620), leave-one-state-out (median 0.653) and a size-matched random split (0.829) separate the effect of unseen markets from sample size.
The collapse is a level error, not a structure error
Within-state R² is a stable 0.62 across specifications; the out-of-market loss comes from memorised state price levels through region dummies, tax rates and imputed neighbourhood variables.
Boosting capacity overfits geography
Held-out-state R² peaks at 0.550 after 75 rounds and falls to 0.425 at 1,000 while within-training accuracy keeps rising, so standard early stopping on a random subset selects an over-fitted model.
Cluster-robust inference changes the gradients' precision
ZIP3- and state-clustered standard errors are 7.6 and 11.6 times the HC3 errors on median; significant coefficients fall from 57 to 35 and 33 of 63.
One national function hides 51 local ones
State-by-state OLS gives living-area elasticities of 0.06–1.15 and sign reversals for bedrooms, pools, luxury and HOA in 19–23 states; the fully interacted model gains 6.1 points of out-of-sample R².
Distributional heterogeneity confirmed under clustering
The garage gradient is ten times larger at the 10th than at the 90th percentile and the pool premium emerges only above the median; 10 of 13 inter-quantile differences survive a paired ZIP3-cluster bootstrap.

Methodology

Methodology (4)

Semi-log OLS with a spatial fixed-effects ladder

62 regressors with region dummies, then state and 885 ZIP3 fixed effects; HC3, ZIP3-clustered and state-clustered standard errors; Halvorsen–Palmquist and Kennedy corrections for dummies; 51 state-by-state regressions and a fully interacted model.

Quantile regression with paired cluster bootstrap

Conditional quantiles at τ = 0.10 to 0.90 on a 150,000-listing subsample; inter-quantile Wald tests with 200 paired observation and ZIP3-cluster bootstrap draws.

Gradient boosting under two validation designs

XGBoost, LightGBM and random forest evaluated under a random 80/20 split, a ten-state holdout, grouped 5-fold cross-validation by state and leave-one-state-out; R² decomposed into level and within-state components; boosting-round curves.

Spatial diagnostics and feature audit

Moran's I on OLS and tree-ensemble residuals (0.263 versus 0.079 for XGBoost), feature-block ablation, SHAP rankings across ensembles, and an audit of missingness and implausible values (ln lot = 0 for 130,271 listings).

Research data

Zillow active listings
788,842 listings covering all 50 states and DC, drawn from a 839,313-row DuckDB extract with 116 fields; 62 regressors spanning structure, lot, amenities, neighbourhood and market blocks; 885 ZIP3 areas; list-to-Zestimate ratio median 1.020 for the 55% of listings with a Zestimate.

Datasets: Zillow active listings (United States)

Reproducibility

  • Eight numbered Python scripts from stored artifacts: spatial robustness, quantile regression and imputation, figures, tables, and four revision scripts (geo validation, inference, QR bootstrap, tables and figures)
  • Published R² values 0.4250 (ten-state holdout) and 0.8327 (random) reproduced exactly from src/wp3/models.py
  • 14 figures and 19 generated LaTeX table fragments; 18 revision CSVs in results/revision/
  • Full LaTeX source of the 82-page paper; pre-revision PDF, review report and changelog archived in docs/

Research artifacts

Version history

VersionDateDescriptionFile
v1.2currentOctober 2026Current manuscript as published on www.spboucher.ai (revised edition after the 2026-10-17 scientific review for papers 1–17).PDF · 82 p.