SPB Git

spb/wp5_uqo

Public

UQO Working Paper No. 5 — Airbnb, residential rents and housing market pressure.

10.2 KB

# CHANGELOG-REVISION — UQO WP 5, editorial-board revision (2026-10-17), v1.0 → v1.1

Pre-revision state: git tag pre-revision-20261017; docs/main_pre-revision-20261017.pdf (51 pages). All original files preserved in git history; every number below was regenerated by the scripts in scripts/ (run log: results/logs/pipeline_run_20261017.txt).

# 1. Major corrections (where · before → after · why · evidence)

# Where Before (v1.0) After (v1.1) Why / evidence
1 Abstract, §1, §3, §8 "approximately 5,000 Airbnb listings" 3,456 listings analysed (5,000 scraped, 1,544 without price) airbnb_clean.parquet has 3,456 rows; inspection log: 30.9 % null prices
2 New §5.2, Table 5 city FE only (β = 0.0039) FSA FE: β = 0.0008 (HC1 0.0004), N = 7,883, 289 FSAs; 250 m: 0.0008 (0.0009); any-Airbnb −0.0279*** + count 0.0010; log(1+count) 0.0022 (0.0053); + size 0.0003 (0.0006) scripts/12, results/tables/neighbourhood_fe.{tex,json}; within-FSA variance share of the count = 26 %
3 New §5.3, Table 6 HC1 (0.0002) + one city-cluster column (0.0001) City FE: HC1 0.0002 / cluster-city 0.0001 (187 cl.) / cluster-FSA 0.0007 (318) / Conley 1–10 km 0.0007; FSA FE: 0.0004 / 0.0004 / 0.0007 / 0.0007–0.0004 scripts/12, inference_comparison.tex; city clustering unreliable (Montreal 59 %)
4 §4.4, §5.4, Table 7, App. B KNN on raw degrees; ρ̂ = 0.1367 (0.0199), λ̂ = 0.5393, SAR β 0.0034 (0.0002), SEM β 0.0038 (0.0004), pseudo-R² 0.5503/0.4972; SAR SE classical KNN on projected km; SAR White-robust SE; ρ̂ = 0.1340 (0.0222), λ̂ = 0.5437, SAR β 0.0034 (0.0002), SEM β 0.0039 (0.0004), pseudo-R² 0.5508/0.4973 anisotropy of degree coordinates at 45–47° N (cos φ ≈ 0.69); scripts/07 project_km()
5 New Table 8 SAR coefficient read as "mildly attenuated" marginal effect LeSage–Pace impacts: direct 0.0034 (0.0002), indirect 0.0005 (0.0001), total 0.0040 (0.0002); n⁻¹tr[(I−ρW)⁻¹] = 1.0026 scripts/07 lesage_pace_impacts(); spatial_impacts.tex
6 §4.3, §5.6, Table 10 (2c) reported mean_rent_city = 0.0307 (0.1039) with city FE regressor dropped in FE columns (perfectly collinear; v1.0 value was a pseudo-inverse artefact); other (2c) coefficients unchanged scripts/06; statsmodels pinv behaviour
7 §3.1, §5.6, Table 10, Fig. 4 superhost "discount" (−0.35***/−0.28***) interpreted as Quebec composition effect; R² 0.03/0.14 price field bimodal (26.5 % > $1,000); restricted sample ≤ $1,000 (N = 1,699): superhost 0.014/0.042 n.s., entire home 0.137*** (FE), amenities 0.003***, R² 0.21/0.30; θ = 0.003 (0.052) scripts/05 log-price histogram; scripts/06 columns (2d)–(2e)
8 §6.3, Table 15 "(4) Houses" = 0.006699*** (0.001995), N = 789 (substring match caught "Row / Townhouse") exact building_type == "House": 0.005857** (0.002348), N = 741 scripts/10
9 §6.5, Table 17 "clustering by city (153 clusters)" 252 clusters (row added to table) scripts/11 prints city clusters = 252
10 §5.8, new Table 13 random 80/20 split only (RF test R² 0.71) 5-fold CV: random RF 0.647 / GBM 0.654 / OLS 0.477; FSA-blocked RF 0.431 / GBM 0.414 / OLS 0.467 (181 FSA groups); ML sample N = 4,370 stated scripts/09 cross_validate_blocks(); ml_spatial_cv.tex
11 §1, §7.1, §8 Duso et al. "7–13 euros per month per listing"; "strikingly close … mutual corroboration" Duso et al. (2024) published abstract: each additional commercial listing displaces 0.23–0.37 units and raises rent/m² by 1.3–2.4 %; comparison rewritten in standardised terms (city-FE estimates exceed quasi-experimental magnitudes; FSA-FE estimates of the same order or smaller) abstract verified (fis.leuphana.de record of RSUE 106, 104007)
12 §2.1, §7.1 Koster et al.: prices and rents "around 2 %" about 3 % (published JUE abstract; 2 % was the 2018 WP) Semantic Scholar record of DOI 10.1016/j.jue.2021.103356
13 §2.1 Garcia-López et al.: "rents 1.9 %, transaction prices 4.6–7 % in high-activity areas" rents +1.9 %, transaction +4.6 %, posted +3.7 % on average; rents +7 % in top-decile neighbourhoods UAB WP / UCL record
14 §2.2 Combs et al.: "roughly 31,000 housing units removed" "between 17,000 and 43,000 entire homes … unlikely to house a permanent resident" CJUR abstract
15 §5.1 bedrooms "11–13 %", bathrooms "23–30 %" 12–14 %, 26–30 % (100(e^β−1), columns 1b–1d) Table 4
16 §4.4 / Table 7 note spatial-table OLS presented as Model 1c note: 15-city FE; "differs slightly from column (1c)" scripts/07 top-15 cities
17 §1 "over 11 million visitors", "vacancy rates historically low" (uncited) softened to qualitative statements no verifiable source in repo
18 §7.3 Montreal "limits on nights per year … prohibitions on non-owner-occupied STRs in certain boroughs" provincial Tourist Accommodation Act (2022), 2023 platform-liability amendment, Montreal summer window (10 June–10 Sept, since 2025) and borough bans; footnoted official source; January 2026 scrape outside the window quebec.ca / City of Montréal pages (2026-10-17)
19 §5 / §6 Figure coefficient_buffer_comparison.pdf included twice once (§6.1) —
20 Appendix C "available upon request" (×4) correlation table included (Table A3); other outputs referenced to scripts correlation_matrix.tex regenerated with labels
21 All tables raw variable names (airbnb\_count\_500m) readable labels (src/latex_tables.LABELS); dep-var row as multicolumn presentation
22 Table 2 no size row; no superhost/entire-home rows interior size (N 3,699, mean 956, median 880; implausible extremes noted); superhost 0.53; entire-home 0.47 scripts/05 (column name size_sqft → size_interior_sqft)
23 New Table 1 exposure statistics in prose ("mean ≈ 8") mean 7.92, SD 14.20, median 1, P90 30, max 84, 44.1 % zeros at 500 m (and 250 m/1 km/2 km) exposure_summary.tex
24 main.tex version 1.0, May 2026; JEL R21, R31, L83, C21 version 1.1, October 2026; JEL + R52; keywords harmonised ("hedonic price function", "neighbourhood fixed effects"); \theHequation etc. (hyperref duplicate-destination warnings removed) HARMONISATION.md

Unchanged numbers (verified identical after re-run): Table 4 (1a–1e), Table 9 (quantiles), Table 11 (city-level), Table 12 (ML hold-out), Table 14 (buffers), Table 16 (outliers), Table 17 columns R1–R5, leave-one-city-out range 0.0038–0.0040.

# 2. References added (12, all verified — see REVIEW-REPORT §4 for DOIs)

lee2016airbnb · calderwang2021distributional · conley1999gmm · kelejian2007hac · cameron2015practitioner · bishop2020best · kuminoff2014capitalization · oster2019unobservable · almagro2025location · hidalgo2024effect · fotheringham1991modifiable · cocola2021airbnb. Corrected: garcia2020airbnb, ke2017sharing, parmeter2010applied → parmeter2007nonparametric (+ DOIs on 16 existing entries). Removed: agyeman2020airbnb (unverifiable). Total 56 → 67.

# 3. Reanalyses executed (script · runtime on Apple Silicon · output)

Script Change Runtime Output
05_descriptive_analysis.py size row; superhost/entire-home shares; labelled correlation table; exposure summary table; log-price histogram 2 s summary_stats_*.tex, correlation_matrix.tex, exposure_summary.{tex,csv}, figures/dist_airbnb_logprice.pdf
06_hedonic_models.py Model 2: (2c) without collinear regressor; (2d)–(2e) restricted sample; readable labels 1 s hedonic_airbnb_pricing.tex, hedonic_rent_baseline.tex, city_level_interaction.tex
07_spatial_models.py projected-km KNN; SAR robust="white"; LeSage–Pace impacts (exact trace + 2,000-draw simulation); JSON record 3 s spatial_models.tex, spatial_impacts.tex, spatial_models.json, buffer_robustness.tex
08_quantile_models.py labels; figure title without causal wording 2 s quantile_regression.tex, figures/quantile_coefficients.pdf
09_ml_robustness.py random vs FSA-blocked 5-fold CV 28 s ml_spatial_cv.{tex,csv} (+ unchanged hold-out outputs)
10_robustness_tables_figures.py exact building-type matches 2 s robustness_subsamples.tex (+ unchanged outlier table, figures)
11_extended_robustness.py cluster count row 2 s extended_robustness.tex
12_neighbourhood_fe_inference.py (new) FSA FE (F1–F6); HC1 / cluster / Conley SE comparison ~20 s neighbourhood_fe.{tex,json}, inference_comparison.tex

Steps 01–04 not re-run (raw data absent; merged parquets verified identical on 2026-08-05, docs/AUDIT.md §8).

# 4. Text and structure

  • Abstract rewritten (two-layer result). §1 rewritten (identification made measurable; contributions reframed). §2: new identification/spatial-inference paragraphs; corrected magnitudes; new §2.5 title. §3: new §3.1 price caveat, exposure table, FSA description, buffer-overlap paragraph, limitations rewritten. §4: new §4.2 (FSA FE, hurdle, log), formal W, reduced form and impacts (Eq. 9), identification §4.8, standard errors §4.9. §5: new §5.2–5.4, §5.8 spatial CV; Model 2 rewritten. §6: interpretation of accumulation with radius; ring reading. §7: §7.1 rewritten; new §7.2 between/within; §7.3–7.4 toned down and updated; limitations by type; future work. §8 rewritten. Appendices: variable table (+fsa, any, ring), attrition; projection, impacts, Conley formulas; correlation table.
  • Removed: duplicate figure; "available upon request"; promotional wording ("strikingly close", "remarkably stable", "compelling setting").

# 5. Not modified for lack of data

Room type and host identity (not scraped); nightly vs total-stay price disambiguation (no stay-length field); census-tract FE (no boundary files downloaded per protocol); panel variation; contract rents.

# 6. Build

cd paper && make: 0 errors, 0 undefined references/citations, 0 BibTeX warnings, 59 pages, 1 overfull hbox of 0.98 pt (text line), no table overfull > 10 pt. Page 1: "Working Paper No. 5", title, author, "October 2026", "Version 1.1"; page 2: Abstract, Keywords, JEL.

Files · main
Menu

Theme