SPB Git

spb/wp5_uqo

Public

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

révision scientifique complète (editorial board, 2026-10-17)

v1.0 → v1.1 (October 2026). FSA (neighbourhood) fixed effects and Conley /
cluster spatial inference added (scripts/12): the 0.4 %/listing city-FE
association falls to 0.08 % within FSAs and is not distinguishable from zero
under spatial SEs; spatial SEs ≈ 3× HC1. Spatial models re-estimated on
projected coordinates with LeSage–Pace impacts; Model 2 collinearity fixed and
re-estimated on the plausibly priced subsample (bimodal price field documented);
random vs FSA-blocked ML cross-validation; benchmark magnitudes (Duso, Koster,
Garcia-López, Combs) corrected; bibliography 56 → 67 entries, all Crossref-
verified. Full report: docs/REVIEW-REPORT.md; audit trail:
docs/CHANGELOG-REVISION.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Simon-Pierre Boucher committed (Oct 18, 2026) parent a4cf1c4 Browse files

67 changed files +2,621 −939

67 changed files
modified README.md +88 −72
@@ -3,20 +3,24 @@
3 3
4 **UQO Working Paper No. 5** — *A Hedonic and Spatial Econometric Analysis* 4 **UQO Working Paper No. 5** — *A Hedonic and Spatial Econometric Analysis*
5 5
6−[![Paper](https://img.shields.io/badge/paper-PDF%20(51%20p.)-b31b1b?logo=latex&logoColor=white)](paper/main.pdf) 6+[![Paper](https://img.shields.io/badge/paper-PDF%20(59%20p.)-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)
7 [![Python](https://img.shields.io/badge/python-3.11%2B-3776AB?logo=python&logoColor=white)](requirements.txt) 7 [![Python](https://img.shields.io/badge/python-3.11%2B-3776AB?logo=python&logoColor=white)](requirements.txt)
8 [![Data](https://img.shields.io/badge/data-8%2C303%20rentals%20·%203%2C456%20Airbnb%20·%20parquet-4051b5)](data/raw/README.md) 8 [![Data](https://img.shields.io/badge/data-8%2C303%20rentals%20·%203%2C456%20Airbnb%20·%20parquet-4051b5)](data/raw/README.md)
9−[![Estimation](https://img.shields.io/badge/estimation-OLS%20HC1%20·%20SAR%2FSEM%20GMM%20·%20QuantReg%20·%20ML-4051b5)](src/) 9+[![Estimation](https://img.shields.io/badge/estimation-OLS%20·%20FSA%20FE%20·%20Conley%20SE%20·%20SAR%2FSEM%20GMM%20·%20QuantReg%20·%20ML-4051b5)](src/)
10 [![Reproducible](https://img.shields.io/badge/reproducible-end--to--end%20pipeline-2e7d32)](scripts/) 10 [![Reproducible](https://img.shields.io/badge/reproducible-end--to--end%20pipeline-2e7d32)](scripts/)
11 [![Institution](https://img.shields.io/badge/UQO-D%C3%A9pt.%20des%20sciences%20administratives-16365c)](https://uqo.ca) 11 [![Institution](https://img.shields.io/badge/UQO-D%C3%A9pt.%20des%20sciences%20administratives-16365c)](https://uqo.ca)
12 [![Author](https://img.shields.io/badge/author-Simon--Pierre%20Boucher-16365c)](mailto:simon-pierre.boucher@uqo.ca) 12 [![Author](https://img.shields.io/badge/author-Simon--Pierre%20Boucher-16365c)](mailto:simon-pierre.boucher@uqo.ca)
13 13
14−> **TL;DR** — Using cross-sectional microdata on **3,456 Airbnb listings** and **8,303 residential rental listings** in 14+> **TL;DR** — Using a 2026 cross-section of **3,456 Airbnb listings** and **8,303 residential rental listings** in
15−> Quebec, the paper measures the conditional association between nearby short-term-rental activity and monthly rents in 15+> Quebec, the paper measures the conditional association between nearby short-term-rental activity and monthly
16−> a hedonic framework augmented with spatial econometrics. Each additional Airbnb listing within **500 m** is associated 16+> asking rents. With **city fixed effects**, each additional Airbnb listing within **500 m** is associated with
17−> with **≈ +0.4 %** monthly rent (0.3–0.5 % across specifications, ≈ $6–10/month at the median), decaying with distance, 17+> **≈ +0.4 %** rent (0.3–0.5 % across specifications), decaying per listing with distance, larger at the top of the
18−> stronger at the top of the rent distribution (β(τ = 0.90) = 0.0047), and surviving SAR/SEM spatial models 18+> rent distribution, and unchanged in SAR/SEM models (total impact 0.40 %). Two results qualify this: **Conley and
19−> (ρ̂ = 0.137***), city-clustered SEs and leave-one-city-out checks. Cross-sectional associations, not causal effects. 19+> FSA-clustered standard errors are ≈ 3× the HC1 errors** (t from 17 to ≈ 5.5), and **with postal-code-neighbourhood
20+> (FSA) fixed effects the coefficient falls to 0.08 %** and is not distinguishable from zero under spatial inference.
21+> The association is predominantly *between* neighbourhoods — consistent with STR supply sorting into high-rent
22+> neighbourhoods, not with a within-neighbourhood causal effect. Spatially blocked cross-validation erases the
23+> apparent advantage of tree-based ML models. Cross-sectional associations, not causal effects.
20 24
21 --- 25 ---
22 26
@@ -24,37 +28,41 @@
24 28
25 | Item | Value | 29 | Item | Value |
26 |---|---| 30 |---|---|
27−| Version | 1.0 (May 2026) — cover page harmonised to the UQO WP standard, October 2026 | 31+| Version | **1.1 (October 2026)** — revised 2026-10-17 by the editorial-board review (`docs/REVIEW-REPORT.md`, `docs/CHANGELOG-REVISION.md`); v1.0 May 2026, cover page harmonised October 2026 |
28−| SSRN | Abstract ID **7626658** (submitted 2026-10-17, preliminary upload) | 32+| SSRN | Abstract ID **7626658** (preliminary upload 2026-10-17; v1.1 to be uploaded) |
29 | Journal | not yet submitted | 33 | Journal | not yet submitted |
30−| Code & data | steps 04–11 and the paper fully reproducible from the committed parquets; raw scraped files not redistributed | 34+| Code & data | steps 04–12 and the paper fully reproducible from the committed parquets (< 1 min total); raw scraped files not redistributed |
31 35
32 ## 🎯 What this paper does 36 ## 🎯 What this paper does
33 37
34 Peer-to-peer platforms can divert dwellings from the long-term rental stock and raise rents nearby. Quasi-experimental 38 Peer-to-peer platforms can divert dwellings from the long-term rental stock and raise rents nearby. Quasi-experimental
35−evidence exists for Berlin, Los Angeles or Boston, but Canadian evidence is thin. For every rental listing the paper 39+evidence exists for Berlin, Los Angeles, Barcelona or Boston, but Canadian evidence is descriptive. For every rental
36−builds Airbnb exposure measures within 250 m, 500 m, 1 km and 2 km buffers (Haversine distances) — count, density, mean 40+listing the paper builds Airbnb exposure measures within 250 m, 500 m, 1 km and 2 km buffers (Haversine distances) —
37−nightly price, entire-home share, mean rating, superhost share — and estimates: 41+count, density, mean nightly price, entire-home share — and estimates
38 42
39 ``` 43 ```
40−log(rent_i) = α + β · airbnb_count_500m_i + X_i'γ + building-type + city FE + ε_i (Models 1a–1e) 44+log(rent_i) = α + β · airbnb_count_500m_i + X_i'γ + building-type + city FE + ε_i (Model 1c)
45+log(rent_i) = α + β^F · airbnb_count_500m_i + X_i'γ + building-type + FSA FE + ε_i (Model F2)
41 ``` 46 ```
42 47
43−complemented by a hedonic model of Airbnb nightly prices (Models 2a–2c), city-level forward and reverse regressions 48+with HC1, city-clustered, FSA-clustered and Conley spatial HAC standard errors (1–10 km cutoffs); SAR/SEM models
44−(153 cities), SAR/SEM spatial models estimated by Kelejian–Prucha GMM, quantile regressions and a machine-learning 49+by Kelejian–Prucha GMM with LeSage–Pace direct/indirect/total impacts; quantile regressions; a hedonic model of Airbnb
45−benchmark. The discussion benchmarks magnitudes against the quasi-experimental literature and draws policy implications 50+nightly prices (full sample and plausibly priced subsample); city-level regressions; and an ML benchmark evaluated under
46−for CITQ registration and Montreal zoning, while cautioning against causal readings. 51+random and spatially blocked (FSA) cross-validation. The discussion benchmarks magnitudes against the quasi-experimental
52+literature in standardised terms and draws implications for Quebec's registration regime and Montreal's zoning rules.
47 53
48 ## 🏆 Headline results 54 ## 🏆 Headline results
49 55
50 | # | Finding | Evidence | 56 | # | Finding | Evidence |
51 |:-:|---|---| 57 |:-:|---|---|
52−| 1 | Each additional Airbnb listing within 500 m ⇒ ≈ +0.4 % monthly rent (β = 0.0039***) | Table 3 (1c) · §7.1 | 58+| 1 | City FE: each additional Airbnb listing within 500 m ⇒ ≈ +0.4 % rent (β = 0.0039; 1 SD of exposure ≈ +5.5 %) | Table 4 (1c) · §5.1 |
53−| 2 | The per-listing association decays monotonically with distance (0.93 % at 250 m → 0.06 % at 2 km) | Table 10 · Fig. 4 | 59+| 2 | **FSA (neighbourhood) FE: β falls to 0.0008**; 0.0003 with size control; log(1+count) and 250 m count insignificant; *any* Airbnb nearby ⇒ −2.8 % within FSA | Table 5 · §5.2 |
54−| 3 | Significant at every quantile, rising to 0.0047 at τ = 0.90 (~25 % above OLS) | Table 7 · Fig. 5 | 60+| 3 | **Spatial inference**: Conley / FSA-cluster SE = 0.0007 vs HC1 0.0002 (t 17 → 5–6 with city FE; 2.3 → 1.1–2.0 with FSA FE); city-clustering (Montreal = 59 % of sample) unreliable | Table 6 · §5.3 |
55−| 4 | Substantial spatial dependence (ρ̂ = 0.137***, λ̂ = 0.539); coefficient survives GMM spatial models (0.0034) | Table 6 | 61+| 4 | Spatial dependence: ρ̂ = 0.134***, λ̂ = 0.544; SAR total impact 0.0040 (direct 0.0034, indirect 0.0005) = OLS | Tables 7–8 · §5.4 |
56−| 5 | Airbnb nightly prices driven by listing characteristics; superhost enters with a *discount* | Table 4 · §7.1 | 62+| 5 | Per-listing coefficient decays with radius (0.93 % at 250 m → 0.06 % at 2 km) while the mean-exposure association accumulates (2.2 % → 5.0 %); quantiles 0.0034–0.0047, rising at τ = 0.90 | Tables 9, 14 · Figs 5, 8 |
57−| 6 | Robust to city-clustered SEs, size control, log(1 + count), ring decomposition, trimming, leave-one-city-out (0.0038–0.0040) | Table 12 · Fig. 9 | 63+| 6 | **Spatially blocked CV**: RF/GBM R² 0.65 (random folds) → 0.43/0.41 (FSA folds), below OLS (0.47) — the ML advantage is neighbourhood interpolation | Table 13 · §5.8 |
64+| 7 | Airbnb price field is bimodal (26.5 % of listings > $1,000 "per night"); on the plausibly priced subsample the superhost "discount" disappears and the usual entire-home/size premia reappear; no city-rent premium (θ ≈ 0) | Table 10 · Fig. 4 · §3.1, §5.6 |
65+| 8 | City-FE estimate robust to clustering, size control, log form, ring decomposition, trimming, leave-one-city-out (0.0038–0.0040) | Tables 15–17 · Figs 9–10 |
58 66
59 ## 🗂 Repository layout 67 ## 🗂 Repository layout
60 68
@@ -62,19 +70,20 @@ for CITQ registration and Montreal zoning, while cautioning against causal readi
62 wp5_uqo/ 70 wp5_uqo/
63 ├── README.md 71 ├── README.md
64 ├── requirements.txt # pinned dependencies 72 ├── requirements.txt # pinned dependencies
65−├── docs/ # AUDIT.md · CHANGES.md · PAPER_REVIEW.md · UPGRADE_REPORT.md 73+├── docs/ # REVIEW-REPORT.md · CHANGELOG-REVISION.md (2026-10-17) · AUDIT.md · CHANGES.md ·
74+│ # PAPER_REVIEW.md · UPGRADE_REPORT.md (2026-08-05) · main_pre-revision-20261017.pdf
66 ├── data/ 75 ├── data/
67 │ ├── raw/ # airbnb.csv + rent.json — NOT distributed (see data/raw/README.md) 76 │ ├── raw/ # airbnb.csv + rent.json — NOT distributed (see data/raw/README.md)
68 │ └── processed/ # 5 verified parquet datasets (committed) 77 │ └── processed/ # 5 verified parquet datasets (committed)
69 ├── src/ 78 ├── src/
70 │ ├── config.py # all paths & constants 79 │ ├── config.py # all paths & constants
71 │ ├── geo.py # vectorised Haversine matrix 80 │ ├── geo.py # vectorised Haversine matrix
72−│ ├── latex_tables.py # stargazer-style table builder 81+│ ├── latex_tables.py # table builder + readable variable labels
73 │ └── plotting.py # publication matplotlib styles 82 │ └── plotting.py # publication matplotlib styles
74−├── scripts/ # 01 → 11 numbered pipeline 83+├── scripts/ # 01 → 12 numbered pipeline
75−├── figures/ # 16 publication PDF figures 84+├── figures/ # 17 publication PDF figures
76−├── results/tables/ # 13 LaTeX fragments + 4 CSVs 85+├── results/tables/ # 18 LaTeX fragments + CSV/JSON records
77−├── results/logs/ # data-inspection log 86+├── results/logs/ # data-inspection log · pipeline run log
78 └── paper/ # main.tex + sections/ + appendix/ + references.bib → main.pdf 87 └── paper/ # main.tex + sections/ + appendix/ + references.bib → main.pdf
79 ``` 88 ```
80 89
@@ -83,10 +92,10 @@ wp5_uqo/
83 ```bash 92 ```bash
84 python3 -m pip install -r requirements.txt 93 python3 -m pip install -r requirements.txt
85 94
86−# steps 01–03 need data/raw/ (not distributed); steps 04–11 run from the committed parquets 95+# steps 01–03 need data/raw/ (not distributed); steps 04–12 run from the committed parquets
87−for s in scripts/0{4..9}_*.py scripts/1{0,1}_*.py; do python3 "$s"; done 96+for s in scripts/0{4..9}_*.py scripts/1{0,1,2}_*.py; do python3 "$s"; done
88 97
89−cd paper && make # latexmk → main.pdf (51 pages) 98+cd paper && make # latexmk → main.pdf (59 pages)
90 ``` 99 ```
91 100
92 | Step | Script | Produces | ⏱ | 101 | Step | Script | Produces | ⏱ |
@@ -95,66 +104,68 @@ cd paper && make # latexmk → main.pdf (51 pages)
95 | 02 | `02_clean_airbnb.py` | `airbnb_clean.parquet` | ⚡ | 104 | 02 | `02_clean_airbnb.py` | `airbnb_clean.parquet` | ⚡ |
96 | 03 | `03_clean_rent.py` | `rent_clean.parquet` | ⚡ | 105 | 03 | `03_clean_rent.py` | `rent_clean.parquet` | ⚡ |
97 | 04 | `04_merge_data.py` | 3 merged parquets (buffer merge) | ~1 min | 106 | 04 | `04_merge_data.py` | 3 merged parquets (buffer merge) | ~1 min |
98−| 05 | `05_descriptive_analysis.py` | 3 tables + 7 figures | ⚡ | 107+| 05 | `05_descriptive_analysis.py` | 4 tables (incl. exposure summary, correlation) + 8 figures | ⚡ |
99−| 06 | `06_hedonic_models.py` | Models 1–3 → 3 tables | ⚡ | 108+| 06 | `06_hedonic_models.py` | Models 1–3 → 3 tables (Model 2 with restricted-sample columns) | ⚡ |
100−| 07 | `07_spatial_models.py` | SAR/SEM + buffer robustness | ~1 min | 109+| 07 | `07_spatial_models.py` | SAR/SEM (projected-coordinate KNN) + LeSage–Pace impacts + buffer robustness | ⚡ |
101−| 08 | `08_quantile_models.py` | quantile table + coefficient path | ~1 min | 110+| 08 | `08_quantile_models.py` | quantile table + coefficient path | ⚡ |
102−| 09 | `09_ml_robustness.py` | ML comparison + SHAP figures | ~2 min | 111+| 09 | `09_ml_robustness.py` | ML comparison + SHAP figures + random vs FSA-blocked CV | ~30 s |
103 | 10 | `10_robustness_tables_figures.py` | outlier/subsample tables + 3 figures | ⚡ | 112 | 10 | `10_robustness_tables_figures.py` | outlier/subsample tables + 3 figures | ⚡ |
104−| 11 | `11_extended_robustness.py` | clustered SEs · ring · leave-one-out | ~1 min | 113+| 11 | `11_extended_robustness.py` | clustered SEs · size · log form · ring · leave-one-out | ⚡ |
114+| 12 | `12_neighbourhood_fe_inference.py` | **FSA fixed effects · Conley / cluster SE comparison** | ~20 s |
105 115
106−⚡ = under 15 s on Apple Silicon. Fully deterministic (seed 42). 116+⚡ = under 5 s on Apple Silicon. Fully deterministic (seed 42).
107 117
108 ## 🗃 Data 118 ## 🗃 Data
109 119
110 | Dataset | Source | Raw → Clean | Key fields | 120 | Dataset | Source | Raw → Clean | Key fields |
111 |---|---|---|---| 121 |---|---|---|---|
112−| Airbnb listings | Airbnb (scraped) | ~5,000 → 3,456 | nightly price, lat/lon, property type, rating, reviews, superhost | 122+| Airbnb listings | Airbnb (scraped, early 2026) | 5,000 → 3,456 (price missing for 30.9 %) | displayed price (bimodal, see §3.1), lat/lon, property type, rating, reviews, superhost, capacity, amenities |
113−| Rental listings | Realtor.ca (scraped) | 8,356 → 8,303 | monthly rent, lat/lon, bedrooms, bathrooms, building type, size | 123+| Rental listings | Realtor.ca (scraped 2026-01-08) | 8,356 → 8,303 | monthly asking rent, lat/lon, bedrooms, bathrooms, building type, size, **postal code → FSA** |
114 124
115 Spatial merge: for every rental listing × radius r ∈ {250 m, 500 m, 1 km, 2 km}, six metrics computed against all 125 Spatial merge: for every rental listing × radius r ∈ {250 m, 500 m, 1 km, 2 km}, six metrics computed against all
116−Airbnb listings via chunked vectorised Haversine distances, plus city-level aggregates (24 exposure variables). Raw 126+Airbnb listings via chunked vectorised Haversine distances, plus city-level aggregates. 333 FSAs (289 non-singleton),
117−files are not distributed (`data/raw/README.md`); the committed parquets make steps 04–11 and the paper reproducible. 127+253 municipalities (Montreal 59 %). Raw files are not distributed (`data/raw/README.md`); the committed parquets make
128+steps 04–12 and the paper reproducible.
118 129
119 ## 🔬 Methodology 130 ## 🔬 Methodology
120 131
121−1. **Hedonic rent models 1a–1e** — OLS, HC1 SE, building-type and city fixed effects; variants with density and 132+1. **Hedonic rent models 1a–1e** — OLS, HC1 SE, building-type and city fixed effects; density and entire-home share variants (`scripts/06`).
122− entire-home share (`scripts/06`). 133+2. **Neighbourhood (FSA) fixed effects F1–F6** — within transformation, 250 m / 500 m counts, extensive + intensive margin, log(1+count), size (`scripts/12`).
123−2. **Airbnb pricing models 2a–2c** — log nightly price on city mean rent and listing controls. 134+3. **Inference** — HC1, cluster-city, cluster-FSA, Conley spatial HAC (Bartlett kernel, 1/2/5/10 km) (`scripts/12`).
124−3. **City-level regressions** — forward and reverse, 153 cities. 135+4. **Spatial models** — SAR (GM_Lag, White SE) and SEM (GM_Error), KNN k = 5 on projected km coordinates; LeSage–Pace direct/indirect/total impacts with simulated SEs (`scripts/07`).
125−4. **Spatial models** — SAR and SEM, KNN (k = 5) row-standardised weights, Kelejian–Prucha GMM (`spreg.GM_Lag`,
126− `GM_Error`) (`scripts/07`).
127 5. **Quantile regressions** — τ ∈ {0.10, 0.25, 0.50, 0.75, 0.90} plus a fine grid (`scripts/08`). 136 5. **Quantile regressions** — τ ∈ {0.10, 0.25, 0.50, 0.75, 0.90} plus a fine grid (`scripts/08`).
128−6. **Machine-learning benchmark** — OLS / LASSO / Elastic Net / RF / GBM, 80/20 split, SHAP attribution (`scripts/09`). 137+6. **Airbnb pricing models 2a–2e** — log nightly price on city mean log rent and listing controls; city FE absorb the city rent; restricted sample ≤ $1,000 (`scripts/06`).
129−7. **Robustness** — buffer radii, alternative exposures, subsamples, trimming, city-clustered SEs, size control, 138+7. **Machine-learning benchmark** — OLS / LASSO / Elastic Net / RF / GBM, 80/20 split, SHAP, random vs FSA-blocked 5-fold CV (`scripts/09`).
130− log(1 + count), ring decomposition, leave-one-city-out (`scripts/10`, `scripts/11`). 139+8. **Robustness** — buffer radii, alternative exposures, subsamples, trimming, city-clustered SEs, size, log(1+count), ring decomposition, leave-one-city-out (`scripts/07`, `10`, `11`).
131 140
132 ## 🖼 Figures & tables inventory 141 ## 🖼 Figures & tables inventory
133 142
134 | Figure | Content | 143 | Figure | Content |
135 |---|---| 144 |---|---|
136 | `map_airbnb`, `map_rent` | Spatial distribution of the two samples | 145 | `map_airbnb`, `map_rent` | Spatial distribution of the two samples |
137−| `dist_airbnb_price`, `dist_rent` | Price and rent distributions | 146+| `dist_airbnb_price`, `dist_airbnb_logprice`, `dist_rent` | Price and rent distributions (log-scale figure documents the bimodal price field) |
138−| `airbnb_by_city`, `rent_by_city` | City-level profiles | 147+| `airbnb_by_city`, `rent_by_city` | City-level profiles (generated, not in the paper) |
139−| `scatter_airbnb_rent`, `rent_by_airbnb_bins`, `rent_airbnb_heatmap` | Exposure–rent relationships | 148+| `scatter_airbnb_rent`, `rent_by_airbnb_bins`, `rent_airbnb_heatmap` | Exposure–rent relationships (generated, not in the paper) |
140 | `coefficient_buffer_comparison` | β across buffer radii (spatial decay) | 149 | `coefficient_buffer_comparison` | β across buffer radii (spatial decay) |
141 | `quantile_coefficients` | β(τ) path | 150 | `quantile_coefficients` | β(τ) path |
142 | `ml_predicted_vs_actual`, `feature_importance`, `shap_summary` | ML benchmark and attribution | 151 | `ml_predicted_vs_actual`, `feature_importance`, `shap_summary` | ML benchmark and attribution |
143 | `coefficient_robustness`, `leave_one_city_out` | Robustness programme | 152 | `coefficient_robustness`, `leave_one_city_out` | Robustness programme |
144 153
145−Tables (`results/tables/*.tex`, 13 fragments): summary statistics, city aggregates, hedonic rent models, Airbnb 154+Tables (`results/tables/*.tex`, 18 fragments): exposure summary, summary statistics (2), hedonic rent models,
146−pricing, city-level regressions, spatial models, quantile regressions, ML comparison, buffer robustness, subsample and 155+**neighbourhood FE**, **inference comparison**, spatial models, **spatial impacts**, quantile regressions, Airbnb pricing,
147−trimming checks, extended robustness, appendix variable dictionary. 156+city-level regressions, ML comparison, **random vs spatial CV**, buffer robustness, subsample and trimming checks,
157+extended robustness, correlation matrix. JSON records: `spatial_models.json`, `neighbourhood_fe.json`.
148 158
149 ## ⚠️ Limitations 159 ## ⚠️ Limitations
150 160
151−- Cross-sectional listing data (asking rents and nightly prices), no panel or quasi-experimental variation: estimates 161+- Cross-sectional listing data (asking rents and displayed nightly prices), no panel or quasi-experimental variation:
152− are conditional associations. 162+ estimates are conditional associations; the city-FE estimate is an upper bound on any causal within-neighbourhood effect.
153−- Airbnb exposure may be endogenous to unobserved neighbourhood amenities; the spatial models and city FE mitigate but do 163+- The Airbnb price field partly records total-stay prices (second mode above $1,000): the full-sample pricing model is
154− not eliminate this. 164+ unreliable; the count-based rent results are unaffected.
155−- Scraped samples are not census-complete; coverage is concentrated in the largest Quebec cities. 165+- No room type or host identifiers (entire-home status is a property-type proxy; commercial operation unmeasured).
156−- Superhost discount and the absence of a city-rent premium in nightly prices diverge from prior work and are discussed, 166+- Scraped winter samples are not census-complete; Realtor.ca over-represents agent-listed, higher-priced units;
157− not resolved. 167+ coverage concentrated in Montreal.
168+- Quantile regressions use coarse city groups and non-spatial SEs; quantile and spatial models with FSA FE not estimated.
158 169
159 ## 📝 Citation 170 ## 📝 Citation
160 171
@@ -167,7 +178,8 @@ trimming checks, extended robustness, appendix variable dictionary.
167 type = {Working Paper}, 178 type = {Working Paper},
168 number = {5}, 179 number = {5},
169 year = {2026}, 180 year = {2026},
170− month = {May} 181+ month = {October},
182+ note = {Version 1.1}
171 } 183 }
172 ``` 184 ```
173 185
@@ -179,9 +191,13 @@ Université du Québec en Outaouais (UQO), Gatineau, QC.
179 191
180 ## 🗒 Notes 192 ## 🗒 Notes
181 193
182−- Format follows `Recherche-UQO/HARMONISATION.md` (2026-10-17): template title page, `natbib` + `aer` bibliography style, 194+- **Revision 2026-10-17 (v1.1)**: full scientific review by the editorial-board protocol (`Recherche-UQO/REVISION-MASTER-PROMPT.md`).
183− `docs/` for the restructuring reports. 195+ Report: `docs/REVIEW-REPORT.md`; audit trail of every change (old → new numbers, reasons, evidence): `docs/CHANGELOG-REVISION.md`.
196+ Pre-revision PDF: `docs/main_pre-revision-20261017.pdf` (git tag `pre-revision-20261017`). Headline interpretation changed:
197+ the Airbnb–rent association is predominantly between neighbourhoods (FSA FE, Conley SE); Model 2 superhost "discount" and the
198+ Berlin/LA magnitude comparisons of v1.0 were corrected.
199+- Format follows `Recherche-UQO/HARMONISATION.md` (2026-10-17): template title page, `natbib` + `aer` bibliography style, `docs/` for reports.
184 - The original flat May 2026 project (`immo-wp5-spb-20260519`) is archived in 200 - The original flat May 2026 project (`immo-wp5-spb-20260519`) is archived in
185 `Recherche-UQO/_archives/versions-mai-2026/airbnb-rents-housing-pressure--immo-wp5-20260519/`; `docs/AUDIT.md` §8 and 201 `Recherche-UQO/_archives/versions-mai-2026/airbnb-rents-housing-pressure--immo-wp5-20260519/`; `docs/AUDIT.md` §8 and
186− `docs/CHANGES.md` document the 2026-08-05 rebuild (14/16 tables byte-identical, prose-only corrections). 202+ `docs/CHANGES.md` document the 2026-08-05 rebuild.
187−- Build verified 2026-10-17: 0 errors, 0 undefined references, 56 references rendered. 203+- Build verified 2026-10-17: 0 errors, 0 undefined references, 67 references rendered (all DOI/Crossref-verified).
added docs/CHANGELOG-REVISION.md +68 −0
@@ -0,0 +1,68 @@
1+<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->
2+# CHANGELOG-REVISION — UQO WP 5, editorial-board revision (2026-10-17), v1.0 → v1.1
3+
4+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`).
5+
6+## 1. Major corrections (where · before → after · why · evidence)
7+
8+| # | Where | Before (v1.0) | After (v1.1) | Why / evidence |
9+|---|---|---|---|---|
10+| 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 |
11+| 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 % |
12+| 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 %) |
13+| 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()` |
14+| 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` |
15+| 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 |
16+| 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) |
17+| 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` |
18+| 9 | §6.5, Table 17 | "clustering by city (153 clusters)" | 252 clusters (row added to table) | `scripts/11` prints `city clusters = 252` |
19+| 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` |
20+| 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) |
21+| 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 |
22+| 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 |
23+| 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 |
24+| 15 | §5.1 | bedrooms "11–13 %", bathrooms "23–30 %" | 12–14 %, 26–30 % (100(e^β−1), columns 1b–1d) | Table 4 |
25+| 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 |
26+| 17 | §1 | "over 11 million visitors", "vacancy rates historically low" (uncited) | softened to qualitative statements | no verifiable source in repo |
27+| 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) |
28+| 19 | §5 / §6 | Figure `coefficient_buffer_comparison.pdf` included twice | once (§6.1) | — |
29+| 20 | Appendix C | "available upon request" (×4) | correlation table included (Table A3); other outputs referenced to scripts | `correlation_matrix.tex` regenerated with labels |
30+| 21 | All tables | raw variable names (`airbnb\_count\_500m`) | readable labels (`src/latex_tables.LABELS`); dep-var row as multicolumn | presentation |
31+| 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`) |
32+| 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` |
33+| 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 |
34+
35+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.
36+
37+## 2. References added (12, all verified — see REVIEW-REPORT §4 for DOIs)
38+
39+lee2016airbnb · calderwang2021distributional · conley1999gmm · kelejian2007hac · cameron2015practitioner · bishop2020best · kuminoff2014capitalization · oster2019unobservable · almagro2025location · hidalgo2024effect · fotheringham1991modifiable · cocola2021airbnb.
40+Corrected: garcia2020airbnb, ke2017sharing, parmeter2010applied → parmeter2007nonparametric (+ DOIs on 16 existing entries). Removed: agyeman2020airbnb (unverifiable). Total 56 → 67.
41+
42+## 3. Reanalyses executed (script · runtime on Apple Silicon · output)
43+
44+| Script | Change | Runtime | Output |
45+|---|---|---|---|
46+| `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` |
47+| `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` |
48+| `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` |
49+| `08_quantile_models.py` | labels; figure title without causal wording | 2 s | `quantile_regression.tex`, `figures/quantile_coefficients.pdf` |
50+| `09_ml_robustness.py` | random vs FSA-blocked 5-fold CV | 28 s | `ml_spatial_cv.{tex,csv}` (+ unchanged hold-out outputs) |
51+| `10_robustness_tables_figures.py` | exact building-type matches | 2 s | `robustness_subsamples.tex` (+ unchanged outlier table, figures) |
52+| `11_extended_robustness.py` | cluster count row | 2 s | `extended_robustness.tex` |
53+| **`12_neighbourhood_fe_inference.py` (new)** | FSA FE (F1–F6); HC1 / cluster / Conley SE comparison | ~20 s | `neighbourhood_fe.{tex,json}`, `inference_comparison.tex` |
54+
55+Steps 01–04 not re-run (raw data absent; merged parquets verified identical on 2026-08-05, `docs/AUDIT.md` §8).
56+
57+## 4. Text and structure
58+
59+- 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.
60+- Removed: duplicate figure; "available upon request"; promotional wording ("strikingly close", "remarkably stable", "compelling setting").
61+
62+## 5. Not modified for lack of data
63+
64+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.
65+
66+## 6. Build
67+
68+`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.
added docs/REVIEW-REPORT.md +75 −0
@@ -0,0 +1,75 @@
1+<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->
2+# REVIEW-REPORT — Editorial-board scientific review of UQO WP 5 (2026-10-17)
3+
4+**Paper:** *Airbnb, Residential Rents, and Housing Market Pressure: A Hedonic and Spatial Econometric Analysis* (v1.0, May 2026, 51 pages → v1.1, October 2026, 59 pages).
5+**Protocol:** `Recherche-UQO/REVISION-MASTER-PROMPT.md` (8 phases) and `REVISION-PROTOCOLE.md`. Pre-revision state: git tag `pre-revision-20261017`, `docs/main_pre-revision-20261017.pdf`.
6+**Audit trail of every change:** `docs/CHANGELOG-REVISION.md`.
7+
8+## 1. Summary verdict
9+
10+The v1.0 manuscript was a competently executed cross-sectional hedonic study whose headline claim — a stable 0.4 % rent premium per nearby Airbnb listing, "strikingly close" to quasi-experimental magnitudes — did not survive the two checks that a referee in urban economics would ask for first: (i) location fixed effects finer than the city and (ii) standard errors that respect the spatial dependence of a buffer-based exposure variable. Both were feasible with the committed data (postal codes → forward sortation areas; coordinates → Conley HAC) and were run during this review. **With FSA fixed effects the coefficient falls from 0.0039 to 0.0008 and is not distinguishable from zero under Conley or FSA-clustered inference; with city fixed effects the HC1 standard error understates the spatial standard error by a factor of ≈ 3.** The paper has been rewritten around this result: the city-FE estimate is now presented as an upper bound, the association as predominantly between-neighbourhood, and the policy discussion toned down accordingly. Three further defects were corrected: a bimodal, partly total-stay Airbnb price field (which produced the v1.0 "superhost discount"), a collinear regressor reported with a pseudo-inverse coefficient in the Airbnb pricing model, and three misquoted benchmark magnitudes (Duso et al., Koster et al., Garcia-López et al.). The revised paper is honest, better identified in its claims, and better referenced; its publishable contribution is now *methodological-empirical* (what a cross-sectional STR–rent correlation is worth once neighbourhood FE and spatial inference are applied, documented for a new market) rather than a new positive estimate.
11+
12+## 2. Section-by-section diagnosis
13+
14+| Section | Strengths (v1.0) | Weaknesses / errors found | Action |
15+|---|---|---|---|
16+| Abstract | Clear, cautious wording | "approximately 5,000 Airbnb listings" (3,456 analysed; 30.9 % had no price); results stated as if robust; no mention of FE resolution or spatial SEs | Rewritten with correct N and the two-layer result |
17+| 1 Introduction | Good motivation, P2P framing, explicit endogeneity paragraph | Uncited facts ("over 11 million visitors", "historically low vacancy"); magnitude preview relied on a misread of Duso et al.; contributions overstated ("mutual corroboration") | Facts softened; preview rewritten; contributions reframed |
18+| 2 Literature | Thematic, 56 refs, mostly verified | 3 defective entries (Garcia-López title; Ke venue/author; Parmeter 2010 non-existent), 1 unverifiable (Agyeman 2020); misquoted magnitudes; no spatial-inference, identification-bounds or endogenous-amenity literature; Calder-Wang, Lee, Conley, Kelejian–Prucha 2007, Cameron–Miller, Bishop et al., Kuminoff–Pope, Oster, Almagro–Domínguez-Iino, Hidalgo et al., Fotheringham–Wong, Cocola-Gant–Gago absent | 12 added, 3 corrected, 1 removed; all 67 Crossref/DOI-verified; identification subsection added |
19+| 3 Data | Transparent cleaning, Haversine merge formalised | Airbnb price bimodality (26.5 % > $1,000 "per night") not noticed although the summary table showed mean $1,233 vs median $220; exposure distribution (44 % zeros at 500 m) described in one sentence; postal codes available but unused; nested/overlapping buffers not discussed; ML/1e samples (N = 4,370) not explained; scrape date, winter composition, Realtor.ca selection unmentioned | Price caveat + log-scale figure; exposure table; FSA description; buffer-overlap paragraph; limitations rewritten |
20+| 4 Methodology | Equations for all models | No formal W; SAR coefficient read as marginal effect; Model 2 "θ identified from variation absorbed by FE" is false (collinear); "153 cities" in clusters (252); no FSA FE; no spatial SE; "row-standardisation guarantees non-empty neighbourhoods" wrong (it is the KNN) | Added Eq. for FSA FE, hurdle/log forms, W, reduced form, LeSage–Pace impacts, Conley/cluster formulas; identification rewritten as "measurable" |
21+| 5 Results | Accurate reading of tables | SAR "attenuation" (0.0034 vs 0.0038) misread (total impact 0.0040); spatial table uses 15-city FE, not stated; superhost discount interpreted as composition; bedroom/bathroom % slightly off; quantile differences not tested; ML split leakage unaddressed | New §5.2 FSA, §5.3 inference, §5.4 impacts, §5.8 spatial CV; Model 2 restricted sample |
22+| 6 Robustness | Broad battery | Buffer figure duplicated (same PDF in §5 and §6); "Houses" subsample included townhouses; "153 clusters" | Fixed; accumulation-with-radius interpretation added |
23+| 7 Discussion | Candid about two disagreements | Magnitude comparison factually wrong (Berlin "7–13 €/month" is 1.3–2.4 % per m² per commercial listing; LA 2 % is 3 %; Barcelona 4.6–7 % conflated prices/rents); regulation description partly outdated; limitations list-like | Rewritten in standardised terms; new between/within subsection; regulation updated with footnoted official source; limitations by type |
24+| 8 Conclusion | Cautious | Repeated the "5,000", "mutual corroboration" claims | Rewritten |
25+| Appendices | Haversine, W, QR, ML | Several "available upon request"; correlation matrix generated but not included (raw underscores) | Correlation table included; Conley/impacts/projection documented |
26+
27+## 3. Methodology verdicts (master prompt §3)
28+
29+- **Specification justified:** yes for the hedonic form; the v1.0 reliance on city FE alone was not justified given available postal codes — now remedied (FSA FE).
30+- **Estimation assumptions explicit:** now yes (exogeneity failure channels, FE scope, SAR reduced form, Conley kernel).
31+- **Variables correctly defined:** yes after corrections (entire-home = property-type proxy, stated; composition variables undefined at zero exposure, stated; density = rescaled count).
32+- **Fixed effects appropriate:** city FE insufficient — the core finding of the review; FSA FE implemented; quantile/spatial models still use coarse city groups (stated as a limitation).
33+- **Spatial dependence defensible:** W now on projected coordinates (v1.0 used degrees → anisotropic neighbourhoods; effect on estimates marginal: ρ 0.137 → 0.134); impacts reported; SEM λ ≈ 0.54 motivates HAC SEs.
34+- **Standard errors:** v1.0 HC1 only (plus one city-cluster column that *tightened* SEs — a symptom of a dominant cluster, not a reassurance). Now HC1 / cluster-city / cluster-FSA / Conley 1–10 km; FSA-cluster and Conley agree (0.0007 vs HC1 0.0002).
35+- **Sample construction transparent:** now yes (attrition, matched-city N = 2,437, restricted N = 1,699, FSA singletons, ML N = 4,370).
36+- **Robustness addresses genuine threats:** v1.0 battery addressed stability, not identification; the FSA/Conley/spatial-CV analyses address the genuine threats.
37+- **Coefficient interpretation:** semi-elasticities now given exactly (100(e^β−1)); SAR impacts; log(1+count) elasticity; density rescaling.
38+- **Statistical vs economic significance:** distinguished ($8 vs $1.6 per listing at the median; 1 SD = 5.5 % vs 1.2 %).
39+- **Causal claims:** none; "effect/impact" reserved for the spatial-econometric sense.
40+
41+## 4. Literature (all entries verified via Crossref `api.crossref.org/works`, DOI resolution, or publisher/working-paper page)
42+
43+- **Corrected:** `garcia2020airbnb` (title → "Do short-term rental platforms affect housing markets? Evidence from Airbnb in Barcelona", DOI 10.1016/j.jue.2020.103278); `ke2017sharing` (→ Qing Ke, WebSci '17, pp. 131–139, DOI 10.1145/3091478.3091504; v1.0 gave a non-existent IJHM article); `parmeter2010applied` (non-existent) → `parmeter2007nonparametric` (JAE 22(3), 10.1002/jae.929); DOIs added to barron2021effect (10.1287/mksc.2020.1227), horn2017airbnb, wachsmuth2018airbnb, nieuwland2020regulating, palmquist2005property, rosen1974hedonic, koenker1978regression, zietz2008determinants, gyourko2005superstar, glaeser2005urban, saiz2010geographic, athey2019machine, mullainathan2017machine, tibshirani1996regression, breiman2001random, friedman2001greedy; sheppard2016airbnb given its WP number (2016-03).
44+- **Removed:** `agyeman2020airbnb` (no such Urban Studies article found in Crossref; only McLaren & Agyeman book chapters).
45+- **Added (12):** lee2016airbnb (HLPR 10(1) 229–253); calderwang2021distributional (SSRN 3908062, working paper — publication status unresolved, cited as such); conley1999gmm (10.1016/S0304-4076(98)00084-0); kelejian2007hac (10.1016/j.jeconom.2006.09.005); cameron2015practitioner (10.3368/jhr.50.2.317); bishop2020best (10.1093/reep/reaa001); kuminoff2014capitalization (10.1111/iere.12088); oster2019unobservable (10.1080/07350015.2016.1227711); almagro2025location (Econometrica 93(3), 10.3982/ECTA21394); hidalgo2024effect (JRS 64(3), 10.1111/jors.12685); fotheringham1991modifiable (10.1068/a231025); cocola2021airbnb (10.1177/0308518X19869012).
46+- **Facts re-verified against abstracts:** Horn & Merante (1 SD → 0.4 %, confirmed); Koster et al. published abstract (listings −50 %, prices −3 %, rents −3 %; WP version said 2 %); Duso et al. published abstract (0.23–0.37 units displaced, rent/m² +1.3–2.4 % per commercial listing); Garcia-López et al. (rents +1.9 %, transaction +4.6 %, posted +3.7 %; top decile rents +7 %); Combs et al. (17,000–43,000 entire homes; v1.0 "31,000" replaced by the published range).
47+- Count: 56 → **67** references, all cited, 0 BibTeX warnings.
48+
49+## 5. Results — inconsistencies found and resolved
50+
51+1. Abstract/intro/conclusion "≈ 5,000 Airbnb listings" vs 3,456 analysed. 2. Model 2 column (2c) reported a coefficient (0.0307) on a regressor perfectly collinear with city FE. 3. Spatial table OLS column (15-city FE, β 0.0038) compared to Model 1c (252-city FE, 0.0039) as if the same specification. 4. "153 clusters" (actual 252). 5. "Houses" subsample included 48 townhouses (0.0067 → 0.0059 after exact match). 6. SAR coefficient read as attenuated marginal effect (total impact 0.0040). 7. Bedroom/bathroom percentages (11–13/23–30 → 12–14/26–30 exact). 8. Garcia-López "4.6–7 % prices in high-activity areas" conflated two outcomes. 9. Duso "7–13 € per month per listing" — not in the published paper. 10. Koster "2 %" → 3 %. 11. ML sample N = 4,370 (not 7,925) unstated. 12. Figure duplicated.
52+
53+## 6. Reanalyses executed (all from versioned scripts; see CHANGELOG §3 for timings)
54+
55+FSA fixed effects (6 specifications); HC1 / cluster-city / cluster-FSA / Conley (1, 2, 5, 10 km) SEs for the city-FE and FSA-FE estimates; SAR/SEM on projected-coordinate KNN weights with White-robust SAR SEs; LeSage–Pace impacts with simulated SEs; Model 2 without the collinear regressor and on the ≤ $1,000 subsample; random vs FSA-blocked 5-fold CV for the five ML models; exact-match building-type subsamples; exposure summary table; log-scale price histogram; correlation table.
56+
57+## 7. Analyses recommended, not executed
58+
59+- **Quantile regressions with FSA fixed effects** — 289 groups require penalised fixed-effects QR (Koenker 2004); not implemented, incidental-parameter concerns.
60+- **SAR/SEM with FSA fixed effects** — spreg GM estimators with ~290 dummies and instrument proliferation; feasible but outside the 30-minute budget for careful implementation.
61+- **Formal test of equality of quantile coefficients** (bootstrap); **wild cluster bootstrap** by city (Montreal dominance makes it the appropriate complement to Conley).
62+- **Oster (2019) bounds** — coefficient movements reported qualitatively (0.0020 → 0.0048 → 0.0039 → 0.0008); the formal δ is ill-suited because observables move the coefficient away from zero while FE move it toward zero.
63+- **Alternative neighbourhood units** (census tracts / dissemination areas) — would require a geocoding step with external boundary files (not downloaded per protocol).
64+- **Panel / event-study designs** around Quebec's registration regime and Montreal's 2025 seasonal rule — require repeated scrapes.
65+- **Host-resolved data**, room type, contract rents — data not available.
66+
67+## 8. Remaining limitations
68+
69+Single cross-section; asking rents from the agent-listed segment; winter scrape; bimodal price field; no room type / host ID; FSAs are delivery zones, not submarkets; spatial and quantile models use coarse city groups; Montreal = 59 % of the sample.
70+
71+## 9. Maturity for publication
72+
73+- **Target journals:** *Journal of Housing Economics*, *Regional Science and Urban Economics*, *Journal of Real Estate Research*, *Canadian Journal of Economics* (Canadian evidence), *Urban Studies*. Not JUE/REE at this stage (no causal identification).
74+- **Risks of rejection:** (i) "a null result after FE" without a causal design — mitigate by framing as the first Canadian listing-level evidence plus a methodological demonstration that cross-sectional STR–rent correlations are mostly between-neighbourhood (the paper now does this); (ii) data quality of the scraped Airbnb file (price field, no room type) — now disclosed, but a referee may ask for a re-scrape with room type and nightly price; (iii) representativeness of Realtor.ca asking rents; (iv) absence of FE in quantile/spatial models.
75+- **Verdict:** publishable as a careful descriptive-cum-methodological working paper after one more data pass (re-scrape with room type/host ID); the v1.1 text is internally consistent, all numbers are regenerated by the pipeline, and the claims are commensurate with the design.
modified figures/airbnb_by_city.pdf +0 −0

Binary file not shown.

modified figures/coefficient_buffer_comparison.pdf +0 −0

Binary file not shown.

modified figures/coefficient_robustness.pdf +0 −0

Binary file not shown.

added figures/dist_airbnb_logprice.pdf +0 −0

Binary file not shown.

modified figures/dist_airbnb_price.pdf +0 −0

Binary file not shown.

modified figures/dist_rent.pdf +0 −0

Binary file not shown.

modified figures/feature_importance.pdf +0 −0

Binary file not shown.

modified figures/leave_one_city_out.pdf +0 −0

Binary file not shown.

modified figures/map_airbnb.pdf +0 −0

Binary file not shown.

modified figures/map_rent.pdf +0 −0

Binary file not shown.

modified figures/ml_predicted_vs_actual.pdf +0 −0

Binary file not shown.

modified figures/quantile_coefficients.pdf +0 −0

Binary file not shown.

modified figures/rent_airbnb_heatmap.pdf +0 −0

Binary file not shown.

modified figures/rent_by_airbnb_bins.pdf +0 −0

Binary file not shown.

modified figures/rent_by_city.pdf +0 −0

Binary file not shown.

modified figures/scatter_airbnb_rent.pdf +0 −0

Binary file not shown.

modified figures/shap_summary.pdf +0 −0

Binary file not shown.

modified paper/appendix/appendix_data.tex +34 −36
@@ -6,79 +6,84 @@
6 6
7 \subsection{Variable Definitions} 7 \subsection{Variable Definitions}
8 8
9−Table~\ref{tab:var_definitions} provides a comprehensive list of variables used in the analysis, including their definitions, sources, and units. 9+Table~\ref{tab:var_definitions} lists the variables used in the analysis, with their sources, definitions and units.
10 10
11 \begin{table}[htbp] 11 \begin{table}[htbp]
12 \centering 12 \centering
13 \caption{Variable Definitions} 13 \caption{Variable Definitions}
14 \label{tab:var_definitions} 14 \label{tab:var_definitions}
15− \small 15+ \footnotesize\setlength{\tabcolsep}{4pt}
16 \begin{tabularx}{\textwidth}{l l X l} 16 \begin{tabularx}{\textwidth}{l l X l}
17 \toprule 17 \toprule
18 \textbf{Variable} & \textbf{Source} & \textbf{Definition} & \textbf{Unit} \\ 18 \textbf{Variable} & \textbf{Source} & \textbf{Definition} & \textbf{Unit} \\
19 \midrule 19 \midrule
20 \multicolumn{4}{l}{\textit{Rental listing variables}} \\ 20 \multicolumn{4}{l}{\textit{Rental listing variables}} \\
21 \addlinespace 21 \addlinespace
22− \texttt{rent} & Realtor.ca & Monthly asking rent & CAD \\ 22+ \texttt{rent} & Realtor.ca & Monthly asking rent (winsorised at p1/p99) & CAD \\
23 \texttt{log\_rent} & Constructed & Natural log of monthly rent & --- \\ 23 \texttt{log\_rent} & Constructed & Natural log of monthly rent & --- \\
24 \texttt{bedrooms} & Realtor.ca & Number of bedrooms & Count \\ 24 \texttt{bedrooms} & Realtor.ca & Number of bedrooms & Count \\
25 \texttt{bathrooms} & Realtor.ca & Number of bathrooms (total) & Count \\ 25 \texttt{bathrooms} & Realtor.ca & Number of bathrooms (total) & Count \\
26 \texttt{building\_type} & Realtor.ca & Building type (Apartment, House, Row/Townhouse) & Category \\ 26 \texttt{building\_type} & Realtor.ca & Building type (Apartment, House, Row/Townhouse) & Category \\
27− \texttt{size\_interior} & Realtor.ca & Interior floor area & sq ft \\ 27+ \texttt{size\_interior} & Realtor.ca & Interior floor area (reported for 3{,}699 listings) & sq ft \\
28 \texttt{lat}, \texttt{lon} & Realtor.ca & Latitude and longitude of the listing & Degrees \\ 28 \texttt{lat}, \texttt{lon} & Realtor.ca & Latitude and longitude of the listing & Degrees \\
29− \texttt{city} & Realtor.ca & City / municipality name & Category \\ 29+ \texttt{city} & Realtor.ca & Municipality (standardised; boroughs collapsed) & Category \\
30+ \texttt{postal\_code} & Realtor.ca & Six-character postal code & Category \\
31+ \texttt{fsa} & Constructed & Forward sortation area (first three characters of the postal code) & Category \\
30 \addlinespace 32 \addlinespace
31 \midrule 33 \midrule
32 \multicolumn{4}{l}{\textit{Airbnb listing variables}} \\ 34 \multicolumn{4}{l}{\textit{Airbnb listing variables}} \\
33 \addlinespace 35 \addlinespace
34− \texttt{price\_numeric} & Airbnb & Nightly asking price & CAD \\ 36+ \texttt{price\_numeric} & Airbnb & Displayed price (winsorised at p1/p99; see Section~\ref{sec:data_airbnb}) & CAD \\
35− \texttt{log\_price} & Constructed & Natural log of nightly price & --- \\ 37+ \texttt{log\_price} & Constructed & Natural log of displayed price & --- \\
36− \texttt{property\_type} & Airbnb & Property type (Rental unit, House, Cabin/Chalet, Condo, Apartment) & Category \\ 38+ \texttt{property\_type} & Airbnb & Property type (Rental unit, House, Cabin/Chalet, Condo, Apartment, Other) & Category \\
37− \texttt{rating} & Airbnb & Star rating (0--5 scale) & Numeric \\ 39+ \texttt{rating} & Airbnb & Star rating (median-imputed when missing) & 0--5 \\
38− \texttt{num\_reviews} & Airbnb & Number of guest reviews & Count \\ 40+ \texttt{num\_reviews} & Airbnb & Number of guest reviews (zero when missing) & Count \\
41+ \texttt{bedrooms}, \texttt{bathrooms} & Airbnb & Number of bedrooms and bathrooms & Count \\
42+ \texttt{guests\_count} & Airbnb & Maximum number of guests & Count \\
43+ \texttt{amenities\_count} & Airbnb & Number of listed amenities & Count \\
39 \texttt{is\_superhost} & Airbnb & Superhost status indicator & Binary \\ 44 \texttt{is\_superhost} & Airbnb & Superhost status indicator & Binary \\
40− \texttt{is\_guest\_favorite} & Airbnb & Guest favourite designation & Binary \\ 45+ \texttt{is\_entire\_home} & Constructed & Property type in \{House, Cabin/Chalet, Condo\} & Binary \\
41− \texttt{pets\_allowed} & Airbnb & Whether pets are allowed & Binary \\
42− \texttt{is\_entire\_home} & Constructed & Indicator for entire-home property types & Binary \\
43 \texttt{lat}, \texttt{lon} & Airbnb & Latitude and longitude of the listing & Degrees \\ 46 \texttt{lat}, \texttt{lon} & Airbnb & Latitude and longitude of the listing & Degrees \\
44 \texttt{city} & Airbnb & City name (standardised) & Category \\ 47 \texttt{city} & Airbnb & City name (standardised) & Category \\
45 \addlinespace 48 \addlinespace
46 \midrule 49 \midrule
47− \multicolumn{4}{l}{\textit{Airbnb exposure variables (constructed via spatial buffer merge)}} \\ 50+ \multicolumn{4}{l}{\textit{Airbnb exposure variables (spatial buffer merge, $r \in \{250\text{\,m}, 500\text{\,m}, 1\text{\,km}, 2\text{\,km}\}$)}} \\
48 \addlinespace 51 \addlinespace
49− \texttt{airbnb\_count\_$r$} & Constructed & Number of Airbnb listings within radius $r$ & Count \\ 52+ \texttt{airbnb\_count\_$r$} ($A_{i,r}$) & Constructed & Number of Airbnb listings within radius $r$ & Count \\
50− \texttt{airbnb\_density\_$r$} & Constructed & Airbnb count / buffer area ($\pi r^2$) & Per km$^2$ \\ 53+ \texttt{airbnb\_density\_$r$} & Constructed & $A_{i,r}/(\pi r^2)$ & Per km$^2$ \\
51− \texttt{mean\_airbnb\_price\_$r$} & Constructed & Mean Airbnb nightly price within radius $r$ & CAD \\ 54+ \texttt{mean\_airbnb\_price\_$r$} & Constructed & Mean displayed price of Airbnb listings within $r$ (undefined if $A_{i,r}=0$) & CAD \\
52− \texttt{share\_entire\_home\_$r$} & Constructed & Share of entire-home Airbnb listings within $r$ & Proportion \\ 55+ \texttt{share\_entire\_home\_$r$} & Constructed & Share of entire-home listings within $r$ (undefined if $A_{i,r}=0$) & Proportion \\
53− \texttt{mean\_rating\_$r$} & Constructed & Mean rating of Airbnb listings within $r$ & Numeric \\ 56+ \texttt{mean\_rating\_$r$} & Constructed & Mean rating within $r$ & 0--5 \\
54 \texttt{superhost\_share\_$r$} & Constructed & Share of superhost listings within $r$ & Proportion \\ 57 \texttt{superhost\_share\_$r$} & Constructed & Share of superhost listings within $r$ & Proportion \\
58+ \texttt{any\_airbnb\_500m} & Constructed & $\mathbf{1}[A_{i,500\text{m}}>0]$ & Binary \\
59+ \texttt{airbnb\_ring\_500m\_1km} & Constructed & $A_{i,1\text{km}} - A_{i,500\text{m}}$ & Count \\
55 \addlinespace 60 \addlinespace
56 \midrule 61 \midrule
57 \multicolumn{4}{l}{\textit{City-level variables}} \\ 62 \multicolumn{4}{l}{\textit{City-level variables}} \\
58 \addlinespace 63 \addlinespace
59− \texttt{airbnb\_count\_city} & Constructed & Total Airbnb listings in the city & Count \\ 64+ \texttt{airbnb\_count\_city} ($A_c$) & Constructed & Total Airbnb listings in the city & Count \\
60− \texttt{mean\_airbnb\_price\_city} & Constructed & City-level mean Airbnb nightly price & CAD \\ 65+ \texttt{mean\_rent\_city} & Constructed & City mean of \texttt{log\_rent} & --- \\
61− \texttt{share\_entire\_home\_city} & Constructed & City-level share of entire-home listings & Proportion \\ 66+ \texttt{mean\_airbnb\_price\_city} & Constructed & City mean displayed Airbnb price & CAD \\
62− \texttt{mean\_rent\_city} & Constructed & City-level mean monthly rent & CAD \\ 67+ \texttt{share\_entire\_home\_city} & Constructed & City share of entire-home listings & Proportion \\
63 \bottomrule 68 \bottomrule
64 \end{tabularx} 69 \end{tabularx}
65 \begin{flushleft} 70 \begin{flushleft}
66− \footnotesize\textit{Notes:} Buffer radii $r \in \{250\text{m}, 500\text{m}, 1\text{km}, 2\text{km}\}$. All monetary values are in Canadian dollars (CAD). ``Constructed'' indicates variables derived from the raw data during the cleaning and merge stages. 71+ \footnotesize\textit{Notes:} All monetary values are in Canadian dollars. ``Constructed'' indicates variables derived during cleaning and merging.
67 \end{flushleft} 72 \end{flushleft}
68 \end{table} 73 \end{table}
69 74
70 \subsection{City Name Standardisation} 75 \subsection{City Name Standardisation}
71 76
72−The Airbnb dataset contains city names with inconsistent formatting, including accented and unaccented variants and abbreviations. Table~\ref{tab:city_mapping} lists the standardisation mapping applied during data cleaning. 77+The Airbnb data contain city names with inconsistent formatting, and the Realtor.ca addresses identify Montreal boroughs, Quebec City and Longueuil arrondissements and similar subdivisions, which are collapsed to the municipality. Table~\ref{tab:city_mapping} lists the explicit mappings applied to the Airbnb data; the rental data are standardised by prefix rules in \texttt{scripts/03\_clean\_rent.py}.
73 78
74 \begin{table}[htbp] 79 \begin{table}[htbp]
75 \centering 80 \centering
76− \caption{City Name Standardisation Mapping} 81+ \caption{City Name Standardisation Mapping (Airbnb Data)}
77 \label{tab:city_mapping} 82 \label{tab:city_mapping}
78 \small 83 \small
79 \begin{tabular}{ll} 84 \begin{tabular}{ll}
80 \toprule 85 \toprule
81− \textbf{Original Name(s)} & \textbf{Standardised Name} \\ 86+ \textbf{Original name(s)} & \textbf{Standardised name} \\
82 \midrule 87 \midrule
83 Montr\'{e}al & Montreal \\ 88 Montr\'{e}al & Montreal \\
84 Qu\'{e}bec City, Quebec City, Quebec & Qu\'{e}bec \\ 89 Qu\'{e}bec City, Quebec City, Quebec & Qu\'{e}bec \\
@@ -91,13 +96,6 @@ The Airbnb dataset contains city names with inconsistent formatting, including a
91 \end{tabular} 96 \end{tabular}
92 \end{table} 97 \end{table}
93 98
94−\subsection{Sample Attrition} 99+\subsection{Sample Construction}
95−
96−The following summarises the sample attrition at each stage of data cleaning:
97 100
98−\begin{itemize} 101+The Airbnb file contains 5{,}000 listings, of which 1{,}544 (30.9\%) have no price and are dropped, leaving 3{,}456 listings, all with coordinates; 2{,}437 of them are located in a municipality with rental listings and enter the Airbnb pricing model, and 1{,}699 of those are priced at or below \$1{,}000 per night. The Realtor.ca file contains 8{,}356 records; restricting to single-family residential listings with a monthly rental period and a positive parsed rent leaves 8{,}303 listings, all with valid coordinates and postal codes. All 8{,}303 enter the spatial merge; the Airbnb count is zero for listings with no Airbnb within the radius, and the composition variables are undefined in that case (4{,}370 listings have positive 500\,m exposure). The baseline regression sample comprises the 7{,}925 listings with non-missing bedrooms; the FSA-fixed-effects sample drops singleton FSAs (7{,}883 listings in 289 FSAs); the interior-size specifications use 3{,}531 (city fixed effects) and 3{,}485 (FSA fixed effects) listings.
99− \item \textbf{Airbnb:} Raw dataset $\approx 5{,}000$ listings. After dropping listings with missing or non-positive prices, the cleaned sample retains 3{,}456 listings.
100− \item \textbf{Rentals:} Raw dataset of 8{,}356 records. After restricting to single-family properties with monthly rental periods and positive parsed rents, the cleaned sample retains 8{,}303 listings, all with valid coordinates.
101− \item \textbf{Spatial merge:} All rental listings with valid coordinates are retained; the Airbnb count is zero for listings with no Airbnb neighbours within the buffer radius (composition variables such as the mean nearby price are undefined in that case).
102− \item \textbf{Regressions:} The baseline hedonic sample comprises the 7{,}925 rental listings with non-missing bedrooms and bathrooms.
103−\end{itemize}
modified paper/appendix/appendix_methods.tex +27 −39
@@ -4,62 +4,50 @@
4 % ============================================================================= 4 % =============================================================================
5 \section{Methodological Appendix}\label{app:methods} 5 \section{Methodological Appendix}\label{app:methods}
6 6
7−\subsection{Haversine Distance Formula}\label{app:haversine} 7+\subsection{Haversine Distance}\label{app:haversine}
8−
9−The Haversine formula computes the great-circle distance between two points on the surface of a sphere, given their latitudes and longitudes. For two points $(lat_1, lon_1)$ and $(lat_2, lon_2)$ expressed in radians, the Haversine distance is:
10 8
9+The Haversine formula gives the great-circle distance between two points on a sphere from their latitudes and longitudes. For points $(\phi_1, \lambda_1)$ and $(\phi_2, \lambda_2)$ in radians,
11 \begin{equation}\label{eq:haversine} 10 \begin{equation}\label{eq:haversine}
12− d = 2R \cdot \arcsin\!\left(\sqrt{\sin^2\!\left(\frac{\Delta lat}{2}\right) + \cos(lat_1) \cdot \cos(lat_2) \cdot \sin^2\!\left(\frac{\Delta lon}{2}\right)}\right), 11+ d = 2R \arcsin\!\left(\sqrt{\sin^2\!\left(\tfrac{\Delta\phi}{2}\right) + \cos\phi_1 \cos\phi_2 \sin^2\!\left(\tfrac{\Delta\lambda}{2}\right)}\right),
13 \end{equation} 12 \end{equation}
13+where $R = 6{,}371$\,km is the mean Earth radius, $\Delta\phi = \phi_2-\phi_1$ and $\Delta\lambda = \lambda_2-\lambda_1$. For distances below a few kilometres the difference from the geodesic distance on the reference ellipsoid is negligible. In the spatial merge (Section~\ref{sec:spatial_merge}) the distance matrix between each chunk of 500 rental listings and all 3{,}456 Airbnb listings is computed in vectorised form, and buffer membership is determined by comparing each element against the radius. The same routine computes the pairwise distances between rental listings used by the Conley estimator.
14 14
15−\noindent where: 15+\subsection{Spatial Weights, Estimation and Impacts}\label{app:spatial_weights}
16−\begin{itemize}
17− \item $R = 6{,}371$ km is the mean radius of the Earth;
18− \item $\Delta lat = lat_2 - lat_1$ is the difference in latitudes;
19− \item $\Delta lon = lon_2 - lon_1$ is the difference in longitudes.
20−\end{itemize}
21−
22−The Haversine formula provides an accurate approximation for short to medium distances on the Earth's surface. For the distances relevant in our application (typically less than 5 km), the approximation error relative to the exact geodesic distance (Vincenty's formula) is negligible.
23−
24−\paragraph{Implementation.} In our spatial merge (Section~\ref{sec:spatial_merge}), the Haversine distance is computed in vectorised form using NumPy. For each chunk of rental listings, we compute the full pairwise distance matrix between the chunk and all Airbnb listings, yielding an $(n_{\text{chunk}} \times n_{\text{Airbnb}})$ matrix of distances. Buffer membership is determined by comparing each element of this matrix against the threshold radius $r$.
25 16
26−\subsection{Spatial Weights Construction}\label{app:spatial_weights} 17+\paragraph{Projection.} Nearest neighbours are determined on coordinates projected to kilometres by an equirectangular projection centred on the sample centroid, $x = 111.32\cos(\bar\phi)\,(\lambda-\bar\lambda)$ and $y = 111.32\,(\phi-\bar\phi)$ with angles in degrees. An earlier version of the analysis searched for neighbours in raw degree coordinates; at the latitude of Quebec one degree of longitude spans about 0.69 of a degree of latitude, so those neighbourhoods were stretched east--west. The correction changes the spatial estimates only marginally ($\hat\rho$ from 0.137 to 0.134, $\hat\lambda$ from 0.539 to 0.544).
27−
28−The spatial weights matrix $\mathbf{W}$ used in Model~4 (Equation~\ref{eq:spatial_lag}) is a $k$-nearest-neighbour matrix with $k = 5$. For each rental listing $i$, the neighbourhood $\mathcal{N}_i$ is the set of the five rental listings closest to $i$ in Euclidean coordinate space (excluding $i$ itself):
29 18
19+\paragraph{Weights.} The weights matrix $\mathbf{W}$ is a $k$-nearest-neighbour matrix with $k=5$: for each rental listing $i$, $\mathcal{N}_i$ is the set of the five other rental listings closest to $i$ in projected coordinates, and
30 \begin{equation} 20 \begin{equation}
31− w_{ik} = \begin{cases} 21+ w_{ik} = \begin{cases} 1/5 & \text{if } k \in \mathcal{N}_i, \\ 0 & \text{otherwise,} \end{cases}
32− \frac{1}{5} & \text{if } k \in \mathcal{N}_i, \\[4pt]
33− 0 & \text{otherwise},
34− \end{cases}
35 \end{equation} 22 \end{equation}
23+so that $\sum_k w_{ik}\ln(\text{rent}_k)$ is the mean log rent of the five nearest listings. A nearest-neighbour definition guarantees that every listing has a neighbourhood, which a fixed-radius definition would not in sparse areas; the resulting graph is not fully connected (140 components), which does not affect the generalised-moments estimators. Listings in the same building share coordinates and are each other's nearest neighbours. The choice $k=5$ balances responsiveness against noise; in dense urban areas the five nearest listings lie within a few hundred metres.
36 24
37−\noindent so that the spatial lag $\sum_k w_{ik} \ln(\text{rent}_k)$ is the mean log rent of listing $i$'s five nearest neighbours. Row-standardisation guarantees that every observation has a well-defined, equally weighted neighbourhood, avoiding the empty-neighbourhood problem that a fixed-radius definition would create in sparse rural areas. 25+\paragraph{Estimation.} The spatial lag $\sum_k w_{ik}\ln(\text{rent}_k)$ is correlated with the disturbance, so OLS estimation of Equation~\eqref{eq:spatial_lag} is inconsistent. The SAR model is estimated by the spatial two-stage least squares estimator of \citet{kelejian1998generalized}, which instruments the lag with the spatially lagged exogenous regressors $\mathbf{W}\mathbf{X}$ (\texttt{GM\_Lag} in \texttt{spreg}, White-robust standard errors); the SEM by the generalised-moments estimator of \citet{kelejian1999generalized} for $\lambda$ followed by feasible generalised least squares (\texttt{GM\_Error}), whose standard errors are the classical GM ones. Both include building-type dummies and fixed effects for the fifteen largest cities with the remaining cities grouped.
38 26
39−\paragraph{Choice of $k$.} The choice of $k = 5$ balances two considerations. A smaller $k$ would capture only the most proximate listings, yielding a responsive but noisy spatial lag; a larger $k$ would average over a broader area, reducing noise but blurring relevant spatial variation---and, in dense urban cores, five nearest neighbours typically lie within a few hundred metres. 27+\paragraph{Impacts.} With $\mathbf{S} = (\mathbf{I}-\rho\mathbf{W})^{-1}$, the average direct impact of regressor $x$ is $\beta_x\, n^{-1}\mathrm{tr}(\mathbf{S})$, the average total impact is $\beta_x\, n^{-1}\boldsymbol{\iota}'\mathbf{S}\boldsymbol{\iota} = \beta_x/(1-\rho)$ for a row-standardised $\mathbf{W}$, and the average indirect impact is their difference \citep{lesage2009introduction}. At the point estimates the trace is computed exactly from a sparse LU factorisation of $\mathbf{I}-\hat\rho\mathbf{W}$. Standard errors are obtained from 2{,}000 draws of $(\beta_x,\rho)$ from the estimated asymptotic normal distribution of the spatial two-stage least squares estimator; for each draw the trace is evaluated through the series $\mathrm{tr}(\mathbf{S}) = \sum_{k\ge0}\rho^k\,\mathrm{tr}(\mathbf{W}^k)$, truncated at $k=60$, with $\mathrm{tr}(\mathbf{W}^0)=n$, $\mathrm{tr}(\mathbf{W})=0$ and the higher-order traces estimated by Hutchinson's stochastic estimator with 50 Rademacher vectors. The series and the exact trace agree to five decimals at the point estimate.
40 28
41−\paragraph{Estimation.} The inclusion of a spatial lag of the dependent variable as a regressor introduces a well-known simultaneity problem: $\sum_k w_{ik} \ln(\text{rent}_k)$ is correlated with $\eta_i$ whenever the errors are spatially correlated, so OLS estimation of Equation~\ref{eq:spatial_lag} would be inconsistent. We therefore estimate the SAR model by the generalised-moments instrumental-variable estimator of Kelejian and Prucha (\texttt{GM\_Lag} in \texttt{spreg}), which instruments the spatial lag with spatially lagged exogenous regressors, and the SEM by the corresponding \texttt{GM\_Error} estimator \citep{anselin1988spatial, lesage2009introduction}. 29+\subsection{Fixed-Effects Estimation and Spatial HAC Standard Errors}\label{app:conley}
42 30
43−\subsection{Quantile Regression Estimation} 31+The city- and FSA-fixed-effects specifications in Tables~\ref{tab:neighbourhood_fe} and~\ref{tab:inference} are estimated by the within transformation: $\tilde{y}_i = y_i - \bar y_{g(i)}$ and $\tilde{\mathbf{x}}_i = \mathbf{x}_i - \bar{\mathbf{x}}_{g(i)}$, where $g(i)$ is the city or FSA of listing $i$, and $\hat{\boldsymbol\beta} = (\tilde{\mathbf{X}}'\tilde{\mathbf{X}})^{-1}\tilde{\mathbf{X}}'\tilde{\mathbf{y}}$. Groups with a single listing are dropped. With $\hat e_i$ the residuals and $\mathbf{s}_i = \tilde{\mathbf{x}}_i \hat e_i$ the scores, the covariance estimators share the sandwich form $\hat{\mathbf{V}} = (\tilde{\mathbf{X}}'\tilde{\mathbf{X}})^{-1}\,\hat{\mathbf{M}}\,(\tilde{\mathbf{X}}'\tilde{\mathbf{X}})^{-1}$ and differ in the meat $\hat{\mathbf{M}}$:
32+\begin{align}
33+ \hat{\mathbf{M}}_{\text{HC1}} &= \frac{n}{n-k-G}\sum_i \mathbf{s}_i\mathbf{s}_i', \\
34+ \hat{\mathbf{M}}_{\text{cluster}} &= \frac{C}{C-1}\,\frac{n-1}{n-k}\sum_{c=1}^{C}\Big(\sum_{i\in c}\mathbf{s}_i\Big)\Big(\sum_{i\in c}\mathbf{s}_i\Big)', \\
35+ \hat{\mathbf{M}}_{\text{Conley}} &= \sum_i\sum_j K(d_{ij})\,\mathbf{s}_i\mathbf{s}_j', \qquad K(d) = \max\{0,\,1-d/\bar d\},
36+\end{align}
37+where $G$ is the number of absorbed groups, $C$ the number of clusters, $d_{ij}$ the great-circle distance between listings $i$ and $j$, and $\bar d$ the cutoff (1, 2, 5 or 10\,km). The Bartlett kernel guarantees a positive semi-definite estimate \citep{conley1999gmm, kelejian2007hac}. Pairs at zero distance (units in the same building) receive weight one, so the Conley estimator also absorbs within-building correlation. The double sum is evaluated exactly in chunks of 500 listings against all others, without a sparsity approximation.
44 38
45−The quantile regression model at quantile $\tau$ (Equation~\ref{eq:quantile}) is estimated by minimising the asymmetrically weighted sum of absolute residuals: 39+\subsection{Quantile Regression Estimation}
46 40
41+The quantile regression at quantile $\tau$ (Equation~\ref{eq:quantile}) minimises the asymmetrically weighted sum of absolute residuals,
47 \begin{equation} 42 \begin{equation}
48− \hat{\boldsymbol{\beta}}_\tau = \arg\min_{\boldsymbol{\beta}} \sum_{i=1}^{n} \rho_\tau\!\left(\ln(\text{rent}_i) - \mathbf{X}_i' \boldsymbol{\beta}\right), 43+ \hat{\boldsymbol{\beta}}_\tau = \arg\min_{\boldsymbol{\beta}} \sum_{i=1}^{n} \rho_\tau\!\left(\ln(\text{rent}_i) - \mathbf{X}_i' \boldsymbol{\beta}\right), \qquad \rho_\tau(u) = u\,(\tau - \mathbf{1}[u < 0]),
49 \end{equation} 44 \end{equation}
45+\citep{koenker1978regression}, solved by iteratively reweighted least squares in \texttt{statsmodels}. Standard errors are the asymptotic estimates based on a kernel estimate of the conditional density of the response at the fitted quantile (the \texttt{statsmodels} default), which are consistent under independent but not necessarily identically distributed errors and do not account for spatial dependence.
50 46
51−\noindent where $\rho_\tau(u) = u(\tau - \mathbf{1}[u < 0])$ is the check function \citep{koenker1978regression}. We estimate the model with the iteratively reweighted least squares algorithm implemented in \texttt{statsmodels}. 47+\subsection{Machine-Learning Models}
52−
53−Standard errors are the asymptotic estimates based on the kernel estimate of the conditional density of the response at the fitted quantile (the default in \texttt{statsmodels}), which are consistent under independent but not necessarily identically distributed errors.
54−
55−\subsection{Machine-Learning Model Details}
56 48
57−\paragraph{LASSO and Elastic Net.} The LASSO model \citep{tibshirani1996regression} estimates: 49+\paragraph{Regularised linear models.} The LASSO \citep{tibshirani1996regression} solves $\min_{\boldsymbol\beta}\{\tfrac{1}{2n}\|\mathbf{y}-\mathbf{X}\boldsymbol\beta\|_2^2 + \lambda\|\boldsymbol\beta\|_1\}$, and the elastic net \citep{zou2005regularization} adds an $\ell_2$ penalty with a mixing parameter; both regularisation parameters are chosen by five-fold cross-validation within the training data, and features are standardised.
58−\begin{equation}
59− \hat{\boldsymbol{\beta}}_{\text{LASSO}} = \arg\min_{\boldsymbol{\beta}} \left\{ \frac{1}{2n}\|\mathbf{y} - \mathbf{X}\boldsymbol{\beta}\|_2^2 + \lambda \|\boldsymbol{\beta}\|_1 \right\},
60−\end{equation}
61−where $\lambda > 0$ is the regularisation parameter selected by 5-fold cross-validation. The elastic net extends this with an $L_2$ penalty, controlled by a mixing parameter $\alpha \in (0,1)$.
62 50
63−\paragraph{Random Forest.} The random forest model \citep{breiman2001random} constructs an ensemble of $B = 500$ regression trees with a maximum depth of 15, each trained on a bootstrap sample with random feature subsampling. 51+\paragraph{Tree ensembles.} The random forest \citep{breiman2001random} averages 500 regression trees of maximum depth 15, each grown on a bootstrap sample with random feature subsampling. Gradient boosting \citep{friedman2001greedy} fits 500 trees of maximum depth 5 sequentially to the residuals of the current ensemble with a learning rate of 0.05. SHAP values \citep{lundberg2017unified} are computed on the hold-out set with the tree explainer.
64 52
65−\paragraph{Gradient Boosting.} The gradient boosting model \citep{friedman2001greedy} sequentially fits shallow regression trees to the residuals of the current ensemble. We use 500 boosting iterations, a maximum tree depth of 5, and a learning rate of 0.05. SHAP (SHapley Additive exPlanations) values \citep{lundberg2017unified} are computed on the held-out test set from the fitted gradient boosting model to quantify the contribution of each feature to individual predictions. 53+\paragraph{Evaluation.} The hold-out evaluation uses a random 80/20 split with a fixed seed. The cross-validation uses five folds under two designs: random folds (shuffled with the same seed) and spatially blocked folds, in which \texttt{GroupKFold} assigns whole FSAs (181 groups in the 4{,}370-listing sample) to folds, so that no test listing shares a neighbourhood with a training listing. Within each training fold the scaler and the regularisation parameters are re-estimated.
modified paper/appendix/appendix_robustness.tex +11 −21
@@ -1,27 +1,17 @@
1 % Author: Simon-Pierre Boucher — contact@spboucher.ai 1 % Author: Simon-Pierre Boucher — contact@spboucher.ai
2 % ============================================================================= 2 % =============================================================================
3−% appendix_robustness.tex — Additional robustness tables 3+% appendix_robustness.tex — Additional tables
4 % ============================================================================= 4 % =============================================================================
5−\section{Additional Robustness Results}\label{app:robustness} 5+\section{Additional Tables}\label{app:robustness}
6 6
7−This appendix presents additional robustness checks that supplement the results reported in Section~\ref{sec:robustness}. 7+This appendix reports the correlation matrix of the 500\,m exposure measures and dwelling controls referred to in Section~\ref{sec:data}. Full regression output for every specification, including the fixed-effect coefficients, the quantile-regression control coefficients and the machine-learning cross-validation folds, is produced by the replication scripts in the paper's repository (\texttt{scripts/05} to \texttt{scripts/12}) and is not reproduced here.
8 8
9−\subsection{Full Regression Output --- Baseline Hedonic Model} 9+\begin{table}[htbp]
10+ \centering
11+ \caption{Correlation Matrix --- Log Rent, Airbnb Exposure (500\,m) and Dwelling Controls}
12+ \label{tab:correlation}
13+ \small
14+ \input{../results/tables/correlation_matrix.tex}
15+\end{table}
10 16
11−The preferred hedonic rent specification (Model~1c in Table~\ref{tab:hedonic_rent}) includes property controls (bedrooms, bathrooms, building type) and city fixed effects. Full regression output including all control variable coefficients and city fixed effects is available upon request. 17+The exposure count is positively but weakly correlated with log rent (0.14) and negatively correlated with bedrooms ($-0.19$), which accounts for the increase in the Airbnb coefficient when dwelling controls are added (Section~\ref{sec:results_baseline}). The entire-home share is negatively correlated with the count ($-0.19$): neighbourhoods with many Airbnb listings have a lower share of houses, chalets and condos among them, consistent with urban rental units dominating dense STR clusters.
12−
13−\subsection{Correlation Matrix of Airbnb Exposure Measures}
14−
15−The pairwise correlation matrix of the Airbnb exposure variables at the 500\,m buffer radius documents the degree of collinearity among alternative exposure measures. The various exposure measures---count, density, share of entire-home listings, mean price---are positively correlated, reflecting the spatial concentration of Airbnb activity.
16−
17−\subsection{Quantile Regression --- Full Coefficient Tables}
18−
19−The quantile regression results reported in Table~\ref{tab:quantile} focus on the Airbnb exposure coefficient across the rent distribution. Full coefficient tables including control variables at each quantile are available upon request.
20−
21−\subsection{Machine-Learning Cross-Validation Results}
22−
23−Table~\ref{tab:ml_performance} in the main text reports hold-out sample performance for all machine-learning models. The gradient boosting and random forest models achieve substantially higher $R^2$ on the test set relative to linear models, suggesting meaningful nonlinearities in the rent--amenity relationship.
24−
25−\subsection{Additional Subsample Results}
26−
27−The subsample analysis in Section~\ref{sec:robustness} examines Montreal versus non-Montreal and apartment versus house subsamples. Additional subsample results (e.g., by Airbnb exposure quartile or by borough-level regulation status) are available upon request.
modified paper/main.pdf +0 −0

Binary file not shown.

modified paper/main.tex +34 −24
@@ -102,6 +102,9 @@
102 \setcounter{figure}{0}% 102 \setcounter{figure}{0}%
103 \renewcommand{\theequation}{A.\arabic{equation}}% 103 \renewcommand{\theequation}{A.\arabic{equation}}%
104 \setcounter{equation}{0}% 104 \setcounter{equation}{0}%
105+ \renewcommand{\theHequation}{A.\arabic{equation}}%
106+ \renewcommand{\theHtable}{A\arabic{table}}%
107+ \renewcommand{\theHfigure}{A\arabic{figure}}%
105 } 108 }
106 109
107 % --- Graphics Path --- 110 % --- Graphics Path ---
@@ -113,32 +116,39 @@
113 \newcommand{\WPnumber}{5} 116 \newcommand{\WPnumber}{5}
114 \newcommand{\WPtitle}{Airbnb, Residential Rents, and Housing Market Pressure: A Hedonic and Spatial Econometric Analysis} 117 \newcommand{\WPtitle}{Airbnb, Residential Rents, and Housing Market Pressure: A Hedonic and Spatial Econometric Analysis}
115 \newcommand{\WPsubtitle}{} 118 \newcommand{\WPsubtitle}{}
116−\newcommand{\WPdate}{May 2026} 119+\newcommand{\WPdate}{October 2026}
117−\newcommand{\WPversion}{1.0} 120+\newcommand{\WPversion}{1.1}
118 \newcommand{\WPabstract}{% 121 \newcommand{\WPabstract}{%
119−This paper investigates the relationship between Airbnb short-term rental 122+This paper examines the relationship between short-term rental (STR) activity
120−activity and residential rents in Quebec, Canada. Using cross-sectional 123+and residential rents in Quebec, Canada, using a 2026 cross-section of 3{,}456
121−microdata comprising approximately 5,000 Airbnb listings and 8,300 124+Airbnb listings and 8{,}303 residential rental listings with precise
122−residential rental listings, we employ a hedonic pricing framework augmented 125+coordinates. For each rental listing we count the Airbnb listings within
123−with spatial econometric techniques to quantify the conditional association 126+250\,m, 500\,m, 1\,km and 2\,km (Haversine distances) and estimate hedonic rent
124−between nearby Airbnb presence and monthly rents. For each rental listing we 127+equations with building-type and location fixed effects. With city fixed
125−construct Airbnb exposure measures within 250\,m, 500\,m, 1\,km, and 2\,km 128+effects, one additional Airbnb listing within 500\,m is associated with
126−buffers using Haversine distances. Our baseline estimates indicate that an 129+monthly rents about 0.4\% higher (0.3--0.5\% across specifications), the
127−additional Airbnb listing within 500\,m is associated with a statistically 130+per-listing coefficient decays with distance, the association is larger at the
128−significant increase in monthly rent of approximately 0.3--0.5\%, controlling 131+upper quantiles of the conditional rent distribution, and it survives spatial
129−for dwelling characteristics, building type, and city fixed effects. Quantile 132+lag and spatial error models (total impact 0.40\%). Two further results
130−regressions reveal that this association is stronger at the upper tail of the 133+qualify this picture. First, heteroskedasticity-robust standard errors
131−rent distribution. A complementary hedonic model of Airbnb nightly prices 134+overstate precision: Conley spatial HAC and neighbourhood-clustered standard
132−indicates that short-term rental pricing is driven primarily by listing 135+errors are about three times larger, although the city-fixed-effects estimate
133−characteristics, with no significant premium attached to city-level rents. 136+remains significant. Second, with fixed effects for forward sortation areas
134−Robustness checks---including alternative buffer radii, subsample 137+(postal-code neighbourhoods), the coefficient falls to 0.08\% per listing and
135−analyses, and machine-learning benchmarks---confirm the stability of the 138+is not distinguishable from zero under spatial inference, with the same
136−rent--exposure association. We discuss the policy implications of these results for housing 139+pattern for logarithmic and extensive-margin exposure measures. The
137−affordability and short-term rental regulation, while cautioning that 140+Airbnb--rent association in these data is therefore predominantly a
138−cross-sectional associations should not be interpreted as causal effects.% 141+between-neighbourhood phenomenon, consistent with STR supply concentrating in
142+high-amenity, high-rent neighbourhoods rather than with a within-neighbourhood
143+causal effect. Spatially blocked cross-validation shows that the apparent
144+advantage of tree-based machine-learning models over the linear hedonic model
145+disappears when test neighbourhoods are unseen, and a hedonic model of Airbnb
146+nightly prices finds no premium attached to city-level rents. We discuss the
147+implications for the interpretation of cross-sectional STR--rent correlations
148+and for Quebec's registration-based regulation.%
139 } 149 }
140−\newcommand{\WPkeywords}{Airbnb, short-term rentals, housing rents, hedonic pricing, spatial econometrics, housing affordability, Quebec} 150+\newcommand{\WPkeywords}{Airbnb, short-term rentals, housing rents, hedonic price function, neighbourhood fixed effects, spatial econometrics, Quebec}
141−\newcommand{\WPjel}{R21, R31, L83, C21} 151+\newcommand{\WPjel}{R21, R31, R52, L83, C21}
142 152
143 % --- Author --- 153 % --- Author ---
144 \newcommand{\WPauthor}{Simon-Pierre Boucher} 154 \newcommand{\WPauthor}{Simon-Pierre Boucher}
modified paper/references.bib +508 −381
@@ -1,301 +1,83 @@
1 % Author: Simon-Pierre Boucher — contact (at) spboucher.ai 1 % Author: Simon-Pierre Boucher — contact (at) spboucher.ai
2 % ============================================================================= 2 % =============================================================================
3−% references.bib 3+% references.bib — UQO Working Paper No. 5
4−% IMPORTANT: All entries below are reconstructed from memory and NEED 4+% 2026-08-05: 24 original entries + 32 added (Crossref-verified).
5−% VERIFICATION against the actual publications before submission. 5+% 2026-10-17 (editorial-board revision): every entry re-verified against
6−% Check titles, journal names, volume/issue numbers, page ranges, and DOIs. 6+% Crossref (DOI resolved) or the publisher/working-paper page; DOIs added to
7+% all journal articles; three defective entries corrected or replaced
8+% (garcia2020airbnb title; ke2017sharing venue/author; parmeter2010applied ->
9+% parmeter2007nonparametric); one unverifiable entry removed
10+% (agyeman2020airbnb); 12 entries added. See docs/CHANGELOG-REVISION.md.
7 % ============================================================================= 11 % =============================================================================
8 12
9 % ── Short-term rentals and housing markets ────────────────────────────────── 13 % ── Short-term rentals and housing markets ──────────────────────────────────
10 14
11 @article{barron2021effect, 15 @article{barron2021effect,
12− title = {The Effect of Home-Sharing on House Prices and Rents: Evidence from {Airbnb}}, 16+ author = {Barron, Kyle and Kung, Edward and Proserpio, Davide},
13− author = {Barron, Kyle and Kung, Edward and Proserpio, Davide}, 17+ title = {The Effect of Home-Sharing on House Prices and Rents: Evidence from {Airbnb}},
14− journal = {Marketing Science}, 18+ journal = {Marketing Science},
15− volume = {40}, 19+ year = {2021},
16− number = {1}, 20+ volume = {40},
17− pages = {23--47}, 21+ number = {1},
18− year = {2021}, 22+ pages = {23--47},
19− publisher = {INFORMS}, 23+ doi = {10.1287/mksc.2020.1227}
20 } 24 }
21 25
22 @techreport{sheppard2016airbnb, 26 @techreport{sheppard2016airbnb,
23− title = {Do {Airbnb} Properties Affect House Prices?},
24 author = {Sheppard, Stephen and Udell, Andrew}, 27 author = {Sheppard, Stephen and Udell, Andrew},
25− institution = {Williams College Department of Economics}, 28+ title = {Do {Airbnb} Properties Affect House Prices?},
26− year = {2016}, 29+ institution = {Department of Economics, Williams College},
27 type = {Working Paper}, 30 type = {Working Paper},
31+ number = {2016-03},
32+ year = {2016},
33+ address = {Williamstown, MA}
28 } 34 }
29 35
30 @article{garcia2020airbnb, 36 @article{garcia2020airbnb,
31− title = {{Airbnb}, Short-Term Rentals and Housing Prices: Evidence from {Barcelona}}, 37+ author = {Garcia-L\'{o}pez, Miquel-\`{A}ngel and Jofre-Monseny, Jordi and Mart\'{i}nez-Mazza, Rodrigo and Seg\'{u}, Mariona},
32− author = {Garcia-L\'{o}pez, Miquel-\`{A}ngel and Jofre-Monseny, Jordi and Mart\'{i}nez-Mazza, Rodrigo and Segú, Mariona}, 38+ title = {Do Short-Term Rental Platforms Affect Housing Markets? {Evidence} from {Airbnb} in {Barcelona}},
33− journal = {Journal of Urban Economics}, 39+ journal = {Journal of Urban Economics},
34− volume = {119}, 40+ year = {2020},
35− pages = {103278}, 41+ volume = {119},
36− year = {2020}, 42+ pages = {103278},
37− publisher = {Elsevier}, 43+ doi = {10.1016/j.jue.2020.103278}
38 } 44 }
39 45
40 @article{horn2017airbnb, 46 @article{horn2017airbnb,
41− title = {Is Home Sharing Driving Up Rents? Evidence from {Airbnb} in {Boston}}, 47+ author = {Horn, Keren and Merante, Mark},
42− author = {Horn, Keren and Merante, Mark}, 48+ title = {Is Home Sharing Driving Up Rents? {Evidence} from {Airbnb} in {Boston}},
43− journal = {Journal of Housing Economics}, 49+ journal = {Journal of Housing Economics},
44− volume = {38}, 50+ year = {2017},
45− pages = {14--24}, 51+ volume = {38},
46− year = {2017}, 52+ pages = {14--24},
47− publisher = {Elsevier}, 53+ doi = {10.1016/j.jhe.2017.08.002}
48 } 54 }
49 55
50 @article{wachsmuth2018airbnb, 56 @article{wachsmuth2018airbnb,
51− title = {{Airbnb} and the Rent Gap: Gentrification Through the Sharing Economy}, 57+ author = {Wachsmuth, David and Weisler, Alexander},
52− author = {Wachsmuth, David and Weisler, Alexander}, 58+ title = {{Airbnb} and the Rent Gap: Gentrification Through the Sharing Economy},
53− journal = {Environment and Planning A: Economy and Space}, 59+ journal = {Environment and Planning A: Economy and Space},
54− volume = {50}, 60+ year = {2018},
55− number = {6}, 61+ volume = {50},
56− pages = {1147--1170}, 62+ number = {6},
57− year = {2018}, 63+ pages = {1147--1170},
58− publisher = {SAGE Publications}, 64+ doi = {10.1177/0308518X18778038}
59−}
60−
61−@article{ke2017sharing,
62− title = {Short-Term Rentals and the Sharing Economy: The Case of {Airbnb}},
63− author = {Ke, Qiulin},
64− journal = {International Journal of Hospitality Management},
65− volume = {67},
66− pages = {120--129},
67− year = {2017},
68− publisher = {Elsevier},
69−}
70−
71−% ── Hedonic pricing theory ──────────────────────────────────────────────────
72−
73−@article{rosen1974hedonic,
74− title = {Hedonic Prices and Implicit Markets: Product Differentiation in Pure Competition},
75− author = {Rosen, Sherwin},
76− journal = {Journal of Political Economy},
77− volume = {82},
78− number = {1},
79− pages = {34--55},
80− year = {1974},
81− publisher = {University of Chicago Press},
82−}
83−
84−@incollection{palmquist2005property,
85− title = {Property Value Models},
86− author = {Palmquist, Raymond B.},
87− booktitle = {Handbook of Environmental Economics},
88− editor = {M\"{a}ler, Karl-G\"{o}ran and Vincent, Jeffrey R.},
89− volume = {2},
90− pages = {763--819},
91− year = {2005},
92− publisher = {Elsevier},
93−}
94−
95−@article{parmeter2010applied,
96− title = {Applied Nonparametric Instrumental Variables Estimation},
97− author = {Parmeter, Christopher F. and Henderson, Daniel J. and Kumbhakar, Subal C.},
98− journal = {Econometric Reviews},
99− volume = {29},
100− number = {4},
101− pages = {398--418},
102− year = {2010},
103− publisher = {Taylor \& Francis},
104−}
105−
106−% ── Spatial econometrics ────────────────────────────────────────────────────
107−
108−@book{anselin1988spatial,
109− title = {Spatial Econometrics: Methods and Models},
110− author = {Anselin, Luc},
111− year = {1988},
112− publisher = {Kluwer Academic Publishers},
113− address = {Dordrecht},
114−}
115−
116−@book{lesage2009introduction,
117− title = {Introduction to Spatial Econometrics},
118− author = {LeSage, James P. and Pace, R. Kelley},
119− year = {2009},
120− publisher = {CRC Press},
121− address = {Boca Raton, FL},
122−}
123−
124−% ── Quantile regression ────────────────────────────────────────────────────
125−
126−@article{koenker1978regression,
127− title = {Regression Quantiles},
128− author = {Koenker, Roger and Bassett, Gilbert},
129− journal = {Econometrica},
130− volume = {46},
131− number = {1},
132− pages = {33--50},
133− year = {1978},
134− publisher = {Econometric Society},
135−}
136−
137−@article{zietz2008determinants,
138− title = {Determinants of House Prices: A Quantile Regression Approach},
139− author = {Zietz, Joachim and Zietz, Emily Norman and Sirmans, G. Stacy},
140− journal = {Journal of Real Estate Finance and Economics},
141− volume = {37},
142− number = {4},
143− pages = {317--333},
144− year = {2008},
145− publisher = {Springer},
146−}
147−
148−% ── Machine learning and econometrics ───────────────────────────────────────
149−
150−@article{mullainathan2017machine,
151− title = {Machine Learning: An Applied Econometric Approach},
152− author = {Mullainathan, Sendhil and Spiess, Jann},
153− journal = {Journal of Economic Perspectives},
154− volume = {31},
155− number = {2},
156− pages = {87--106},
157− year = {2017},
158− publisher = {American Economic Association},
159−}
160−
161−@article{athey2019machine,
162− title = {Machine Learning Methods That Economists Should Know About},
163− author = {Athey, Susan and Imbens, Guido W.},
164− journal = {Annual Review of Economics},
165− volume = {11},
166− pages = {685--725},
167− year = {2019},
168− publisher = {Annual Reviews},
169−}
170−
171−@article{tibshirani1996regression,
172− title = {Regression Shrinkage and Selection via the {Lasso}},
173− author = {Tibshirani, Robert},
174− journal = {Journal of the Royal Statistical Society: Series B (Methodological)},
175− volume = {58},
176− number = {1},
177− pages = {267--288},
178− year = {1996},
179− publisher = {Wiley},
180−}
181−
182−@article{breiman2001random,
183− title = {Random Forests},
184− author = {Breiman, Leo},
185− journal = {Machine Learning},
186− volume = {45},
187− number = {1},
188− pages = {5--32},
189− year = {2001},
190− publisher = {Springer},
191−}
192−
193−@article{friedman2001greedy,
194− title = {Greedy Function Approximation: A Gradient Boosting Machine},
195− author = {Friedman, Jerome H.},
196− journal = {Annals of Statistics},
197− volume = {29},
198− number = {5},
199− pages = {1189--1232},
200− year = {2001},
201− publisher = {Institute of Mathematical Statistics},
202 } 65 }
203 66
204−@inproceedings{lundberg2017unified, 67+@inproceedings{ke2017sharing,
205− title = {A Unified Approach to Interpreting Model Predictions}, 68+ author = {Ke, Qing},
206− author = {Lundberg, Scott M. and Lee, Su-In}, 69+ title = {Sharing Means Renting? {An} Entire-Marketplace Analysis of {Airbnb}},
207− booktitle = {Advances in Neural Information Processing Systems}, 70+ booktitle = {Proceedings of the 2017 ACM on Web Science Conference (WebSci~'17)},
208− volume = {30},
209− pages = {4765--4774},
210 year = {2017}, 71 year = {2017},
211−} 72+ pages = {131--139},
212− 73+ publisher = {ACM},
213−% ── Regulation and policy ────────────────────────────────────────────────── 74+ address = {Troy, NY},
214− 75+ doi = {10.1145/3091478.3091504}
215−@article{nieuwland2020regulating,
216− title = {Regulating {Airbnb}: How Cities Deal with Perceived Negative Externalities of Short-Term Rentals},
217− author = {Nieuwland, Shirley and van Melik, Rianne},
218− journal = {Current Issues in Tourism},
219− volume = {23},
220− number = {7},
221− pages = {811--825},
222− year = {2020},
223− publisher = {Taylor \& Francis},
224−}
225−
226−@article{agyeman2020airbnb,
227− title = {{Airbnb} and the Undoing of Mid-Twentieth Century Housing Policy},
228− author = {Agyeman, Julian and McLaren, Duncan and Schaefer-Borrego, Adrianne},
229− journal = {Urban Studies},
230− volume = {57},
231− number = {14},
232− pages = {2998--3015},
233− year = {2020},
234− publisher = {SAGE Publications},
235−}
236−
237−% ── Housing economics ──────────────────────────────────────────────────────
238−
239−@article{glaeser2005urban,
240− title = {Urban Growth and Housing Supply},
241− author = {Glaeser, Edward L. and Gyourko, Joseph and Saks, Raven E.},
242− journal = {Journal of Economic Geography},
243− volume = {6},
244− number = {1},
245− pages = {71--89},
246− year = {2006},
247− publisher = {Oxford University Press},
248−}
249−
250−@article{saiz2010geographic,
251− title = {The Geographic Determinants of Housing Supply},
252− author = {Saiz, Albert},
253− journal = {Quarterly Journal of Economics},
254− volume = {125},
255− number = {3},
256− pages = {1253--1296},
257− year = {2010},
258− publisher = {Oxford University Press},
259−}
260−
261−@article{gyourko2005superstar,
262− title = {Superstar Cities},
263− author = {Gyourko, Joseph and Mayer, Christopher and Sinai, Todd},
264− journal = {American Economic Journal: Economic Policy},
265− volume = {5},
266− number = {4},
267− pages = {167--199},
268− year = {2013},
269− publisher = {American Economic Association},
270−}
271−
272−% ── Added 2026-08-05 (scholarly upgrade) — every entry verified via Crossref/JMLR ──
273−
274−@article{zervas2017rise,
275− author = {Zervas, Georgios and Proserpio, Davide and Byers, John W.},
276− title = {The Rise of the Sharing Economy: Estimating the Impact of {Airbnb} on the Hotel Industry},
277− journal = {Journal of Marketing Research},
278− year = {2017},
279− volume = {54},
280− number = {5},
281− pages = {687--705},
282− doi = {10.1509/jmr.15.0204}
283−}
284−
285−@article{farronato2022welfare,
286− author = {Farronato, Chiara and Fradkin, Andrey},
287− title = {The Welfare Effects of Peer Entry: The Case of {Airbnb} and the Accommodation Industry},
288− journal = {American Economic Review},
289− year = {2022},
290− volume = {112},
291− number = {6},
292− pages = {1782--1817},
293− doi = {10.1257/aer.20180260}
294 } 76 }
295 77
296 @article{koster2021short, 78 @article{koster2021short,
297 author = {Koster, Hans R. A. and van Ommeren, Jos and Volkhausen, Nicolas}, 79 author = {Koster, Hans R. A. and van Ommeren, Jos and Volkhausen, Nicolas},
298− title = {Short-term rentals and the housing market: Quasi-experimental evidence from {Airbnb} in {Los Angeles}}, 80+ title = {Short-Term Rentals and the Housing Market: Quasi-Experimental Evidence from {Airbnb} in {Los Angeles}},
299 journal = {Journal of Urban Economics}, 81 journal = {Journal of Urban Economics},
300 year = {2021}, 82 year = {2021},
301 volume = {124}, 83 volume = {124},
@@ -305,7 +87,7 @@
305 87
306 @article{valentin2021regulating, 88 @article{valentin2021regulating,
307 author = {Valentin, Maxence}, 89 author = {Valentin, Maxence},
308− title = {Regulating short-term rental housing: Evidence from {New Orleans}}, 90+ title = {Regulating Short-Term Rental Housing: Evidence from {New Orleans}},
309 journal = {Real Estate Economics}, 91 journal = {Real Estate Economics},
310 year = {2021}, 92 year = {2021},
311 volume = {49}, 93 volume = {49},
@@ -316,7 +98,7 @@
316 98
317 @article{duso2024airbnb, 99 @article{duso2024airbnb,
318 author = {Duso, Tomaso and Michelsen, Claus and Sch{\"a}fer, Maximilian and Tran, Kevin Ducbao}, 100 author = {Duso, Tomaso and Michelsen, Claus and Sch{\"a}fer, Maximilian and Tran, Kevin Ducbao},
319− title = {Airbnb and rental markets: Evidence from {Berlin}}, 101+ title = {{Airbnb} and Rental Markets: Evidence from {Berlin}},
320 journal = {Regional Science and Urban Economics}, 102 journal = {Regional Science and Urban Economics},
321 year = {2024}, 103 year = {2024},
322 volume = {106}, 104 volume = {106},
@@ -326,7 +108,7 @@
326 108
327 @article{franco2021impact, 109 @article{franco2021impact,
328 author = {Franco, Sofia F. and Santos, Carlos Daniel}, 110 author = {Franco, Sofia F. and Santos, Carlos Daniel},
329− title = {The impact of {Airbnb} on residential property values and rents: Evidence from {Portugal}}, 111+ title = {The Impact of {Airbnb} on Residential Property Values and Rents: Evidence from {Portugal}},
330 journal = {Regional Science and Urban Economics}, 112 journal = {Regional Science and Urban Economics},
331 year = {2021}, 113 year = {2021},
332 volume = {88}, 114 volume = {88},
@@ -356,9 +138,62 @@
356 doi = {10.1287/mnsc.2021.4288} 138 doi = {10.1287/mnsc.2021.4288}
357 } 139 }
358 140
141+@article{shabrina2022airbnb,
142+ author = {Shabrina, Zahratu and Arcaute, Elsa and Batty, Michael},
143+ title = {{Airbnb} and Its Potential Impact on the {London} Housing Market},
144+ journal = {Urban Studies},
145+ year = {2022},
146+ volume = {59},
147+ number = {1},
148+ pages = {197--221},
149+ doi = {10.1177/0042098020970865}
150+}
151+
152+@article{lee2016airbnb,
153+ author = {Lee, Dayne},
154+ title = {How {Airbnb} Short-Term Rentals Exacerbate {Los Angeles}'s Affordable Housing Crisis: Analysis and Policy Recommendations},
155+ journal = {Harvard Law \& Policy Review},
156+ year = {2016},
157+ volume = {10},
158+ number = {1},
159+ pages = {229--253}
160+}
161+
162+@unpublished{calderwang2021distributional,
163+ author = {Calder-Wang, Sophie},
164+ title = {The Distributional Impact of the Sharing Economy on the Housing Market},
165+ note = {Working paper, The Wharton School, University of Pennsylvania; SSRN 3908062},
166+ year = {2021},
167+ doi = {10.2139/ssrn.3908062}
168+}
169+
170+@article{almagro2025location,
171+ author = {Almagro, Milena and Dom\'{i}nguez-Iino, Tom\'{a}s},
172+ title = {Location Sorting and Endogenous Amenities: Evidence from {Amsterdam}},
173+ journal = {Econometrica},
174+ year = {2025},
175+ volume = {93},
176+ number = {3},
177+ pages = {1031--1071},
178+ doi = {10.3982/ECTA21394}
179+}
180+
181+@article{hidalgo2024effect,
182+ author = {Hidalgo, Alberto and Riccaboni, Massimo and Vel\'{a}zquez, Francisco J.},
183+ title = {The Effect of Short-Term Rentals on Local Consumption Amenities: Evidence from {Madrid}},
184+ journal = {Journal of Regional Science},
185+ year = {2024},
186+ volume = {64},
187+ number = {3},
188+ pages = {621--648},
189+ doi = {10.1111/jors.12685}
190+}
191+
192+% ── Canadian evidence ───────────────────────────────────────────────────────
193+
359 @article{combs2020short, 194 @article{combs2020short,
360 author = {Combs, Jennifer and Kerrigan, Danielle and Wachsmuth, David}, 195 author = {Combs, Jennifer and Kerrigan, Danielle and Wachsmuth, David},
361− title = {Short-term rentals in {Canada}: Uneven growth, uneven impacts}, 196+ title = {Short-Term Rentals in {Canada}: Uneven Growth, Uneven Impacts},
362 journal = {Canadian Journal of Urban Research}, 197 journal = {Canadian Journal of Urban Research},
363 year = {2020}, 198 year = {2020},
364 volume = {29}, 199 volume = {29},
@@ -369,7 +204,7 @@
369 204
370 @article{grisdale2021displacement, 205 @article{grisdale2021displacement,
371 author = {Grisdale, Sean}, 206 author = {Grisdale, Sean},
372− title = {Displacement by disruption: short-term rentals and the political economy of ``belonging anywhere'' in {Toronto}}, 207+ title = {Displacement by Disruption: Short-Term Rentals and the Political Economy of ``Belonging Anywhere'' in {Toronto}},
373 journal = {Urban Geography}, 208 journal = {Urban Geography},
374 year = {2021}, 209 year = {2021},
375 volume = {42}, 210 volume = {42},
@@ -378,53 +213,62 @@
378 doi = {10.1080/02723638.2019.1642714} 213 doi = {10.1080/02723638.2019.1642714}
379 } 214 }
380 215
381−@article{shabrina2022airbnb, 216+% ── Peer-to-peer markets and STR pricing ────────────────────────────────────
382− author = {Shabrina, Zahratu and Arcaute, Elsa and Batty, Michael}, 217+
383− title = {Airbnb and its potential impact on the {London} housing market}, 218+@article{zervas2017rise,
384− journal = {Urban Studies}, 219+ author = {Zervas, Georgios and Proserpio, Davide and Byers, John W.},
385− year = {2022}, 220+ title = {The Rise of the Sharing Economy: Estimating the Impact of {Airbnb} on the Hotel Industry},
386− volume = {59}, 221+ journal = {Journal of Marketing Research},
387− number = {1}, 222+ year = {2017},
388− pages = {197--221}, 223+ volume = {54},
389− doi = {10.1177/0042098020970865} 224+ number = {5},
225+ pages = {687--705},
226+ doi = {10.1509/jmr.15.0204}
390 } 227 }
391 228
392−@article{gotham2005tourism, 229+@article{farronato2022welfare,
393− author = {Gotham, Kevin Fox}, 230+ author = {Farronato, Chiara and Fradkin, Andrey},
394− title = {Tourism Gentrification: The Case of {New Orleans}' {Vieux Carr\'e} ({French Quarter})}, 231+ title = {The Welfare Effects of Peer Entry: The Case of {Airbnb} and the Accommodation Industry},
395− journal = {Urban Studies}, 232+ journal = {American Economic Review},
396− year = {2005}, 233+ year = {2022},
397− volume = {42}, 234+ volume = {112},
398− number = {7}, 235+ number = {6},
399− pages = {1099--1121}, 236+ pages = {1782--1817},
400− doi = {10.1080/00420980500120881} 237+ doi = {10.1257/aer.20180260}
401 } 238 }
402 239
403−@article{cocola2016holiday, 240+@article{einav2016peer,
404− author = {Cocola-Gant, Agustin}, 241+ author = {Einav, Liran and Farronato, Chiara and Levin, Jonathan},
405− title = {Holiday Rentals: The New Gentrification Battlefront}, 242+ title = {Peer-to-Peer Markets},
406− journal = {Sociological Research Online}, 243+ journal = {Annual Review of Economics},
407 year = {2016}, 244 year = {2016},
408− volume = {21}, 245+ volume = {8},
409− number = {3}, 246+ pages = {615--635},
410− pages = {112--120}, 247+ doi = {10.1146/annurev-economics-080315-015334}
411− doi = {10.5153/sro.4071}
412 } 248 }
413 249
414−@article{gurran2017when, 250+@book{sundararajan2016sharing,
415− author = {Gurran, Nicole and Phibbs, Peter}, 251+ author = {Sundararajan, Arun},
416− title = {When Tourists Move In: How Should Urban Planners Respond to {Airbnb}?}, 252+ title = {The Sharing Economy: The End of Employment and the Rise of Crowd-Based Capitalism},
417− journal = {Journal of the American Planning Association}, 253+ publisher = {MIT Press},
418− year = {2017}, 254+ address = {Cambridge, MA},
419− volume = {83}, 255+ year = {2016}
420− number = {1}, 256+}
421− pages = {80--92}, 257+
422− doi = {10.1080/01944363.2016.1249011} 258+@article{guttentag2015airbnb,
259+ author = {Guttentag, Daniel},
260+ title = {{Airbnb}: Disruptive Innovation and the Rise of an Informal Tourism Accommodation Sector},
261+ journal = {Current Issues in Tourism},
262+ year = {2015},
263+ volume = {18},
264+ number = {12},
265+ pages = {1192--1217},
266+ doi = {10.1080/13683500.2013.827159}
423 } 267 }
424 268
425 @article{wang2017price, 269 @article{wang2017price,
426 author = {Wang, Dan and Nicolau, Juan L.}, 270 author = {Wang, Dan and Nicolau, Juan L.},
427− title = {Price determinants of sharing economy based accommodation rental: A study of listings from 33 cities on {Airbnb.com}}, 271+ title = {Price Determinants of Sharing Economy Based Accommodation Rental: A Study of Listings from 33 Cities on {Airbnb.com}},
428 journal = {International Journal of Hospitality Management}, 272 journal = {International Journal of Hospitality Management},
429 year = {2017}, 273 year = {2017},
430 volume = {62}, 274 volume = {62},
@@ -434,7 +278,7 @@
434 278
435 @article{gibbs2018pricing, 279 @article{gibbs2018pricing,
436 author = {Gibbs, Chris and Guttentag, Daniel and Gretzel, Ulrike and Morton, Jym and Goodwill, Alasdair}, 280 author = {Gibbs, Chris and Guttentag, Daniel and Gretzel, Ulrike and Morton, Jym and Goodwill, Alasdair},
437− title = {Pricing in the sharing economy: a hedonic pricing model applied to {Airbnb} listings}, 281+ title = {Pricing in the Sharing Economy: A Hedonic Pricing Model Applied to {Airbnb} Listings},
438 journal = {Journal of Travel \& Tourism Marketing}, 282 journal = {Journal of Travel \& Tourism Marketing},
439 year = {2018}, 283 year = {2018},
440 volume = {35}, 284 volume = {35},
@@ -445,7 +289,7 @@
445 289
446 @article{ert2016trust, 290 @article{ert2016trust,
447 author = {Ert, Eyal and Fleischer, Aliza and Magen, Nathan}, 291 author = {Ert, Eyal and Fleischer, Aliza and Magen, Nathan},
448− title = {Trust and reputation in the sharing economy: The role of personal photos in {Airbnb}}, 292+ title = {Trust and Reputation in the Sharing Economy: The Role of Personal Photos in {Airbnb}},
449 journal = {Tourism Management}, 293 journal = {Tourism Management},
450 year = {2016}, 294 year = {2016},
451 volume = {55}, 295 volume = {55},
@@ -453,37 +297,7 @@
453 doi = {10.1016/j.tourman.2016.01.013} 297 doi = {10.1016/j.tourman.2016.01.013}
454 } 298 }
455 299
456−@article{einav2016peer, 300+% ── Hedonic pricing theory and practice ─────────────────────────────────────
457− author = {Einav, Liran and Farronato, Chiara and Levin, Jonathan},
458− title = {Peer-to-Peer Markets},
459− journal = {Annual Review of Economics},
460− year = {2016},
461− volume = {8},
462− pages = {615--635},
463− doi = {10.1146/annurev-economics-080315-015334}
464−}
465−
466−@article{kelejian1998generalized,
467− author = {Kelejian, Harry H. and Prucha, Ingmar R.},
468− title = {A Generalized Spatial Two-Stage Least Squares Procedure for Estimating a Spatial Autoregressive Model with Autoregressive Disturbances},
469− journal = {Journal of Real Estate Finance and Economics},
470− year = {1998},
471− volume = {17},
472− number = {1},
473− pages = {99--121},
474− doi = {10.1023/A:1007707430416}
475−}
476−
477−@article{kelejian1999generalized,
478− author = {Kelejian, Harry H. and Prucha, Ingmar R.},
479− title = {A Generalized Moments Estimator for the Autoregressive Parameter in a Spatial Model},
480− journal = {International Economic Review},
481− year = {1999},
482− volume = {40},
483− number = {2},
484− pages = {509--533},
485− doi = {10.1111/1468-2354.00027}
486−}
487 301
488 @article{lancaster1966new, 302 @article{lancaster1966new,
489 author = {Lancaster, Kelvin J.}, 303 author = {Lancaster, Kelvin J.},
@@ -496,6 +310,30 @@
496 doi = {10.1086/259131} 310 doi = {10.1086/259131}
497 } 311 }
498 312
313+@article{rosen1974hedonic,
314+ author = {Rosen, Sherwin},
315+ title = {Hedonic Prices and Implicit Markets: Product Differentiation in Pure Competition},
316+ journal = {Journal of Political Economy},
317+ year = {1974},
318+ volume = {82},
319+ number = {1},
320+ pages = {34--55},
321+ doi = {10.1086/260169}
322+}
323+
324+@incollection{palmquist2005property,
325+ author = {Palmquist, Raymond B.},
326+ title = {Property Value Models},
327+ booktitle = {Handbook of Environmental Economics},
328+ editor = {M\"{a}ler, Karl-G\"{o}ran and Vincent, Jeffrey R.},
329+ volume = {2},
330+ pages = {763--819},
331+ year = {2005},
332+ publisher = {Elsevier},
333+ address = {Amsterdam},
334+ doi = {10.1016/S1574-0099(05)02016-4}
335+}
336+
499 @article{sirmans2005composition, 337 @article{sirmans2005composition,
500 author = {Sirmans, G. Stacy and Macpherson, David A. and Zietz, Emily N.}, 338 author = {Sirmans, G. Stacy and Macpherson, David A. and Zietz, Emily N.},
501 title = {The Composition of Hedonic Pricing Models}, 339 title = {The Composition of Hedonic Pricing Models},
@@ -509,7 +347,7 @@
509 347
510 @article{kuminoff2010which, 348 @article{kuminoff2010which,
511 author = {Kuminoff, Nicolai V. and Parmeter, Christopher F. and Pope, Jaren C.}, 349 author = {Kuminoff, Nicolai V. and Parmeter, Christopher F. and Pope, Jaren C.},
512− title = {Which hedonic models can we trust to recover the marginal willingness to pay for environmental amenities?}, 350+ title = {Which Hedonic Models Can We Trust to Recover the Marginal Willingness to Pay for Environmental Amenities?},
513 journal = {Journal of Environmental Economics and Management}, 351 journal = {Journal of Environmental Economics and Management},
514 year = {2010}, 352 year = {2010},
515 volume = {60}, 353 volume = {60},
@@ -518,6 +356,28 @@
518 doi = {10.1016/j.jeem.2010.06.001} 356 doi = {10.1016/j.jeem.2010.06.001}
519 } 357 }
520 358
359+@article{kuminoff2014capitalization,
360+ author = {Kuminoff, Nicolai V. and Pope, Jaren C.},
361+ title = {Do ``Capitalization Effects'' for Public Goods Reveal the Public's Willingness to Pay?},
362+ journal = {International Economic Review},
363+ year = {2014},
364+ volume = {55},
365+ number = {4},
366+ pages = {1227--1250},
367+ doi = {10.1111/iere.12088}
368+}
369+
370+@article{bishop2020best,
371+ author = {Bishop, Kelly C. and Kuminoff, Nicolai V. and Banzhaf, H. Spencer and Boyle, Kevin J. and von Gravenitz, Kathrine and Pope, Jaren C. and Smith, V. Kerry and Timmins, Christopher D.},
372+ title = {Best Practices for Using Hedonic Property Value Models to Measure Willingness to Pay for Environmental Quality},
373+ journal = {Review of Environmental Economics and Policy},
374+ year = {2020},
375+ volume = {14},
376+ number = {2},
377+ pages = {260--281},
378+ doi = {10.1093/reep/reaa001}
379+}
380+
521 @incollection{malpezzi2003hedonic, 381 @incollection{malpezzi2003hedonic,
522 author = {Malpezzi, Stephen}, 382 author = {Malpezzi, Stephen},
523 title = {Hedonic Pricing Models: A Selective and Applied Review}, 383 title = {Hedonic Pricing Models: A Selective and Applied Review},
@@ -530,6 +390,147 @@
530 doi = {10.1002/9780470690680.ch5} 390 doi = {10.1002/9780470690680.ch5}
531 } 391 }
532 392
393+@article{parmeter2007nonparametric,
394+ author = {Parmeter, Christopher F. and Henderson, Daniel J. and Kumbhakar, Subal C.},
395+ title = {Nonparametric Estimation of a Hedonic Price Function},
396+ journal = {Journal of Applied Econometrics},
397+ year = {2007},
398+ volume = {22},
399+ number = {3},
400+ pages = {695--699},
401+ doi = {10.1002/jae.929}
402+}
403+
404+@article{oster2019unobservable,
405+ author = {Oster, Emily},
406+ title = {Unobservable Selection and Coefficient Stability: Theory and Evidence},
407+ journal = {Journal of Business \& Economic Statistics},
408+ year = {2019},
409+ volume = {37},
410+ number = {2},
411+ pages = {187--204},
412+ doi = {10.1080/07350015.2016.1227711}
413+}
414+
415+% ── Spatial econometrics and spatial inference ──────────────────────────────
416+
417+@book{anselin1988spatial,
418+ author = {Anselin, Luc},
419+ title = {Spatial Econometrics: Methods and Models},
420+ publisher = {Kluwer Academic Publishers},
421+ address = {Dordrecht},
422+ year = {1988}
423+}
424+
425+@book{lesage2009introduction,
426+ author = {LeSage, James P. and Pace, R. Kelley},
427+ title = {Introduction to Spatial Econometrics},
428+ publisher = {CRC Press},
429+ address = {Boca Raton, FL},
430+ year = {2009}
431+}
432+
433+@article{kelejian1998generalized,
434+ author = {Kelejian, Harry H. and Prucha, Ingmar R.},
435+ title = {A Generalized Spatial Two-Stage Least Squares Procedure for Estimating a Spatial Autoregressive Model with Autoregressive Disturbances},
436+ journal = {Journal of Real Estate Finance and Economics},
437+ year = {1998},
438+ volume = {17},
439+ number = {1},
440+ pages = {99--121},
441+ doi = {10.1023/A:1007707430416}
442+}
443+
444+@article{kelejian1999generalized,
445+ author = {Kelejian, Harry H. and Prucha, Ingmar R.},
446+ title = {A Generalized Moments Estimator for the Autoregressive Parameter in a Spatial Model},
447+ journal = {International Economic Review},
448+ year = {1999},
449+ volume = {40},
450+ number = {2},
451+ pages = {509--533},
452+ doi = {10.1111/1468-2354.00027}
453+}
454+
455+@article{kelejian2007hac,
456+ author = {Kelejian, Harry H. and Prucha, Ingmar R.},
457+ title = {{HAC} Estimation in a Spatial Framework},
458+ journal = {Journal of Econometrics},
459+ year = {2007},
460+ volume = {140},
461+ number = {1},
462+ pages = {131--154},
463+ doi = {10.1016/j.jeconom.2006.09.005}
464+}
465+
466+@article{conley1999gmm,
467+ author = {Conley, Timothy G.},
468+ title = {{GMM} Estimation with Cross Sectional Dependence},
469+ journal = {Journal of Econometrics},
470+ year = {1999},
471+ volume = {92},
472+ number = {1},
473+ pages = {1--45},
474+ doi = {10.1016/S0304-4076(98)00084-0}
475+}
476+
477+@article{cameron2015practitioner,
478+ author = {Cameron, A. Colin and Miller, Douglas L.},
479+ title = {A Practitioner's Guide to Cluster-Robust Inference},
480+ journal = {Journal of Human Resources},
481+ year = {2015},
482+ volume = {50},
483+ number = {2},
484+ pages = {317--372},
485+ doi = {10.3368/jhr.50.2.317}
486+}
487+
488+@article{can1992specification,
489+ author = {Can, Ayse},
490+ title = {Specification and Estimation of Hedonic Housing Price Models},
491+ journal = {Regional Science and Urban Economics},
492+ year = {1992},
493+ volume = {22},
494+ number = {3},
495+ pages = {453--474},
496+ doi = {10.1016/0166-0462(92)90039-4}
497+}
498+
499+@article{dubin1988estimation,
500+ author = {Dubin, Robin A.},
501+ title = {Estimation of Regression Coefficients in the Presence of Spatially Autocorrelated Error Terms},
502+ journal = {Review of Economics and Statistics},
503+ year = {1988},
504+ volume = {70},
505+ number = {3},
506+ pages = {466--474},
507+ doi = {10.2307/1926785}
508+}
509+
510+@article{fotheringham1991modifiable,
511+ author = {Fotheringham, A. Stewart and Wong, David W. S.},
512+ title = {The Modifiable Areal Unit Problem in Multivariate Statistical Analysis},
513+ journal = {Environment and Planning A: Economy and Space},
514+ year = {1991},
515+ volume = {23},
516+ number = {7},
517+ pages = {1025--1044},
518+ doi = {10.1068/a231025}
519+}
520+
521+% ── Quantile regression ─────────────────────────────────────────────────────
522+
523+@article{koenker1978regression,
524+ author = {Koenker, Roger and Bassett, Gilbert},
525+ title = {Regression Quantiles},
526+ journal = {Econometrica},
527+ year = {1978},
528+ volume = {46},
529+ number = {1},
530+ pages = {33--50},
531+ doi = {10.2307/1913643}
532+}
533+
533 @article{koenker2001quantile, 534 @article{koenker2001quantile,
534 author = {Koenker, Roger and Hallock, Kevin F.}, 535 author = {Koenker, Roger and Hallock, Kevin F.},
535 title = {Quantile Regression}, 536 title = {Quantile Regression},
@@ -541,9 +542,20 @@
541 doi = {10.1257/jep.15.4.143} 542 doi = {10.1257/jep.15.4.143}
542 } 543 }
543 544
545+@article{zietz2008determinants,
546+ author = {Zietz, Joachim and Zietz, Emily Norman and Sirmans, G. Stacy},
547+ title = {Determinants of House Prices: A Quantile Regression Approach},
548+ journal = {Journal of Real Estate Finance and Economics},
549+ year = {2008},
550+ volume = {37},
551+ number = {4},
552+ pages = {317--333},
553+ doi = {10.1007/s11146-007-9053-7}
554+}
555+
544 @article{mcmillen2008changes, 556 @article{mcmillen2008changes,
545 author = {McMillen, Daniel P.}, 557 author = {McMillen, Daniel P.},
546− title = {Changes in the distribution of house prices over time: Structural characteristics, neighborhood, or coefficients?}, 558+ title = {Changes in the Distribution of House Prices over Time: Structural Characteristics, Neighborhood, or Coefficients?},
547 journal = {Journal of Urban Economics}, 559 journal = {Journal of Urban Economics},
548 year = {2008}, 560 year = {2008},
549 volume = {64}, 561 volume = {64},
@@ -552,6 +564,40 @@
552 doi = {10.1016/j.jue.2008.06.002} 564 doi = {10.1016/j.jue.2008.06.002}
553 } 565 }
554 566
567+% ── Machine learning ────────────────────────────────────────────────────────
568+
569+@article{mullainathan2017machine,
570+ author = {Mullainathan, Sendhil and Spiess, Jann},
571+ title = {Machine Learning: An Applied Econometric Approach},
572+ journal = {Journal of Economic Perspectives},
573+ year = {2017},
574+ volume = {31},
575+ number = {2},
576+ pages = {87--106},
577+ doi = {10.1257/jep.31.2.87}
578+}
579+
580+@article{athey2019machine,
581+ author = {Athey, Susan and Imbens, Guido W.},
582+ title = {Machine Learning Methods That Economists Should Know About},
583+ journal = {Annual Review of Economics},
584+ year = {2019},
585+ volume = {11},
586+ pages = {685--725},
587+ doi = {10.1146/annurev-economics-080217-053433}
588+}
589+
590+@article{tibshirani1996regression,
591+ author = {Tibshirani, Robert},
592+ title = {Regression Shrinkage and Selection via the {Lasso}},
593+ journal = {Journal of the Royal Statistical Society: Series B (Methodological)},
594+ year = {1996},
595+ volume = {58},
596+ number = {1},
597+ pages = {267--288},
598+ doi = {10.1111/j.2517-6161.1996.tb02080.x}
599+}
600+
555 @article{zou2005regularization, 601 @article{zou2005regularization,
556 author = {Zou, Hui and Hastie, Trevor}, 602 author = {Zou, Hui and Hastie, Trevor},
557 title = {Regularization and Variable Selection via the Elastic Net}, 603 title = {Regularization and Variable Selection via the Elastic Net},
@@ -563,45 +609,34 @@
563 doi = {10.1111/j.1467-9868.2005.00503.x} 609 doi = {10.1111/j.1467-9868.2005.00503.x}
564 } 610 }
565 611
566−@article{guttentag2015airbnb, 612+@article{breiman2001random,
567− author = {Guttentag, Daniel}, 613+ author = {Breiman, Leo},
568− title = {Airbnb: disruptive innovation and the rise of an informal tourism accommodation sector}, 614+ title = {Random Forests},
569− journal = {Current Issues in Tourism}, 615+ journal = {Machine Learning},
570− year = {2015}, 616+ year = {2001},
571− volume = {18}, 617+ volume = {45},
572− number = {12}, 618+ number = {1},
573− pages = {1192--1217}, 619+ pages = {5--32},
574− doi = {10.1080/13683500.2013.827159} 620+ doi = {10.1023/A:1010933404324}
575−}
576−
577−@article{can1992specification,
578− author = {Can, Ayse},
579− title = {Specification and estimation of hedonic housing price models},
580− journal = {Regional Science and Urban Economics},
581− year = {1992},
582− volume = {22},
583− number = {3},
584− pages = {453--474},
585− doi = {10.1016/0166-0462(92)90039-4}
586 } 621 }
587 622
588−@article{dubin1988estimation, 623+@article{friedman2001greedy,
589− author = {Dubin, Robin A.}, 624+ author = {Friedman, Jerome H.},
590− title = {Estimation of Regression Coefficients in the Presence of Spatially Autocorrelated Error Terms}, 625+ title = {Greedy Function Approximation: A Gradient Boosting Machine},
591− journal = {Review of Economics and Statistics}, 626+ journal = {Annals of Statistics},
592− year = {1988}, 627+ year = {2001},
593− volume = {70}, 628+ volume = {29},
594− number = {3}, 629+ number = {5},
595− pages = {466--474}, 630+ pages = {1189--1232},
596− doi = {10.2307/1926785} 631+ doi = {10.1214/aos/1013203451}
597 } 632 }
598 633
599−@book{sundararajan2016sharing, 634+@inproceedings{lundberg2017unified,
600− author = {Sundararajan, Arun}, 635+ author = {Lundberg, Scott M. and Lee, Su-In},
601− title = {The Sharing Economy: The End of Employment and the Rise of Crowd-Based Capitalism}, 636+ title = {A Unified Approach to Interpreting Model Predictions},
602− publisher = {MIT Press}, 637+ booktitle = {Advances in Neural Information Processing Systems 30},
603− address = {Cambridge, MA}, 638+ year = {2017},
604− year = {2016} 639+ pages = {4765--4774}
605 } 640 }
606 641
607 @article{pedregosa2011scikit, 642 @article{pedregosa2011scikit,
@@ -612,3 +647,95 @@
612 volume = {12}, 647 volume = {12},
613 pages = {2825--2830} 648 pages = {2825--2830}
614 } 649 }
650+
651+% ── Housing supply and urban economics ──────────────────────────────────────
652+
653+@article{glaeser2005urban,
654+ author = {Glaeser, Edward L. and Gyourko, Joseph and Saks, Raven E.},
655+ title = {Urban Growth and Housing Supply},
656+ journal = {Journal of Economic Geography},
657+ year = {2006},
658+ volume = {6},
659+ number = {1},
660+ pages = {71--89},
661+ doi = {10.1093/jeg/lbi003}
662+}
663+
664+@article{saiz2010geographic,
665+ author = {Saiz, Albert},
666+ title = {The Geographic Determinants of Housing Supply},
667+ journal = {Quarterly Journal of Economics},
668+ year = {2010},
669+ volume = {125},
670+ number = {3},
671+ pages = {1253--1296},
672+ doi = {10.1162/qjec.2010.125.3.1253}
673+}
674+
675+@article{gyourko2005superstar,
676+ author = {Gyourko, Joseph and Mayer, Christopher and Sinai, Todd},
677+ title = {Superstar Cities},
678+ journal = {American Economic Journal: Economic Policy},
679+ year = {2013},
680+ volume = {5},
681+ number = {4},
682+ pages = {167--199},
683+ doi = {10.1257/pol.5.4.167}
684+}
685+
686+% ── Tourism gentrification and regulation ───────────────────────────────────
687+
688+@article{gotham2005tourism,
689+ author = {Gotham, Kevin Fox},
690+ title = {Tourism Gentrification: The Case of {New Orleans}' {Vieux Carr\'e} ({French Quarter})},
691+ journal = {Urban Studies},
692+ year = {2005},
693+ volume = {42},
694+ number = {7},
695+ pages = {1099--1121},
696+ doi = {10.1080/00420980500120881}
697+}
698+
699+@article{cocola2016holiday,
700+ author = {Cocola-Gant, Agustin},
701+ title = {Holiday Rentals: The New Gentrification Battlefront},
702+ journal = {Sociological Research Online},
703+ year = {2016},
704+ volume = {21},
705+ number = {3},
706+ pages = {112--120},
707+ doi = {10.5153/sro.4071}
708+}
709+
710+@article{cocola2021airbnb,
711+ author = {Cocola-Gant, Agustin and Gago, Ana},
712+ title = {{Airbnb}, Buy-to-Let Investment and Tourism-Driven Displacement: A Case Study in {Lisbon}},
713+ journal = {Environment and Planning A: Economy and Space},
714+ year = {2021},
715+ volume = {53},
716+ number = {7},
717+ pages = {1671--1688},
718+ doi = {10.1177/0308518X19869012}
719+}
720+
721+@article{gurran2017when,
722+ author = {Gurran, Nicole and Phibbs, Peter},
723+ title = {When Tourists Move In: How Should Urban Planners Respond to {Airbnb}?},
724+ journal = {Journal of the American Planning Association},
725+ year = {2017},
726+ volume = {83},
727+ number = {1},
728+ pages = {80--92},
729+ doi = {10.1080/01944363.2016.1249011}
730+}
731+
732+@article{nieuwland2020regulating,
733+ author = {Nieuwland, Shirley and van Melik, Rianne},
734+ title = {Regulating {Airbnb}: How Cities Deal with Perceived Negative Externalities of Short-Term Rentals},
735+ journal = {Current Issues in Tourism},
736+ year = {2020},
737+ volume = {23},
738+ number = {7},
739+ pages = {811--825},
740+ doi = {10.1080/13683500.2018.1504899}
741+}
modified paper/sections/01_introduction.tex +8 −8
Large diff (26 lines) is not loaded by default to keep the page fast.Load diff
modified paper/sections/02_literature.tex +16 −16
Large diff (66 lines) is not loaded by default to keep the page fast.Load diff
modified paper/sections/03_data.tex +41 −31
Large diff (135 lines) is not loaded by default to keep the page fast.Load diff
modified paper/sections/04_methodology.tex +43 −51
Large diff (130 lines) is not loaded by default to keep the page fast.Load diff
modified paper/sections/05_results.tex +81 −54
Large diff (212 lines) is not loaded by default to keep the page fast.Load diff
modified paper/sections/06_robustness.tex +27 −44
Large diff (147 lines) is not loaded by default to keep the page fast.Load diff
modified paper/sections/07_discussion.tex +24 −34
Large diff (86 lines) is not loaded by default to keep the page fast.Load diff
modified paper/sections/08_conclusion.tex +5 −7
Large diff (19 lines) is not loaded by default to keep the page fast.Load diff
added results/logs/pipeline_run_20261017.txt +321 −0
Large diff (321 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/buffer_robustness.tex +2 −2
Large diff (13 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/city_level_interaction.tex +6 −6
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/correlation_matrix.tex +9 −8
Large diff (22 lines) is not loaded by default to keep the page fast.Load diff
added results/tables/exposure_summary.csv +5 −0
Large diff (5 lines) is not loaded by default to keep the page fast.Load diff
added results/tables/exposure_summary.tex +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/extended_robustness.tex +2 −1
Large diff (15 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/hedonic_airbnb_pricing.tex +23 −23
Large diff (54 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/hedonic_rent_baseline.tex +10 −10
Large diff (36 lines) is not loaded by default to keep the page fast.Load diff
added results/tables/inference_comparison.tex +20 −0
Large diff (20 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/ml_comparison.csv +1 −1
Large diff (6 lines) is not loaded by default to keep the page fast.Load diff
added results/tables/ml_spatial_cv.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/tables/ml_spatial_cv.tex +21 −0
Large diff (21 lines) is not loaded by default to keep the page fast.Load diff
added results/tables/neighbourhood_fe.json +164 −0
Large diff (165 lines) is not loaded by default to keep the page fast.Load diff
added results/tables/neighbourhood_fe.tex +28 −0
Large diff (28 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/quantile_regression.tex +7 −7
Large diff (26 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/robustness_subsamples.tex +4 −4
Large diff (15 lines) is not loaded by default to keep the page fast.Load diff
added results/tables/spatial_impacts.tex +17 −0
Large diff (17 lines) is not loaded by default to keep the page fast.Load diff
added results/tables/spatial_models.json +114 −0
Large diff (115 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/spatial_models.tex +17 −17
Large diff (43 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/summary_stats_airbnb.csv +2 −0
Large diff (5 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/summary_stats_airbnb.tex +2 −0
Large diff (7 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/summary_stats_rent.csv +1 −0
Large diff (4 lines) is not loaded by default to keep the page fast.Load diff
modified results/tables/summary_stats_rent.tex +1 −0
Large diff (6 lines) is not loaded by default to keep the page fast.Load diff
modified scripts/05_descriptive_analysis.py +87 −6
Large diff (147 lines) is not loaded by default to keep the page fast.Load diff
modified scripts/06_hedonic_models.py +23 −9
Large diff (65 lines) is not loaded by default to keep the page fast.Load diff
modified scripts/07_spatial_models.py +153 −12
Large diff (242 lines) is not loaded by default to keep the page fast.Load diff
modified scripts/08_quantile_models.py +4 −4
Large diff (32 lines) is not loaded by default to keep the page fast.Load diff
modified scripts/09_ml_robustness.py +83 −2
Large diff (114 lines) is not loaded by default to keep the page fast.Load diff
modified scripts/10_robustness_tables_figures.py +4 −2
Large diff (16 lines) is not loaded by default to keep the page fast.Load diff
modified scripts/11_extended_robustness.py +5 −1
Large diff (24 lines) is not loaded by default to keep the page fast.Load diff
added scripts/12_neighbourhood_fe_inference.py +321 −0
Large diff (321 lines) is not loaded by default to keep the page fast.Load diff
modified src/latex_tables.py +52 −6
Large diff (86 lines) is not loaded by default to keep the page fast.Load diff
Menu

Theme