SPB Git forge

spb/wp4_uqo

Public
3commits 1branches 1releases
5.4 MBsize
maindefault branch
4 h agolast push
Python 64.6% TeX 23.3% HTML 11.6% Makefile 0.5%
17.2 KB · 167 lines markdown
Rendered Raw Blame History
1# Editorial-board review — UQO Working Paper No. 423**Hedonic Pricing of Short-Term Rental Properties: A Multi-Method Analysis of Airbnb Listing Prices in Quebec**4Version reviewed: 1.0 (May 2026, never audited) → revised version 1.1 (October 2026).5Reference state: git tag `pre-revision-20261017`, `docs/main_pre-revision-20261017.pdf` (28 pages).6Companion document: `docs/CHANGELOG-REVISION.md` (audit trail of every change, references added, scripts run).78## 1. Summary verdict910The v1.0 manuscript was not a publishable paper; it was a pipeline report whose text had been written around whatever the11code produced. The code, run on a data set whose fields had been misdescribed, produced numbers that no referee would12accept and several that were not results at all:13141. **The dependent variable was contaminated.** The displayed price field is bimodal on the log scale (modes near \$150 and15   \$2,500; 26.5 % of the 3,456 priced listings above \$1,000). Bedroom by bedroom, listings above \$1,000 are priced 16–1916   times those below: the upper mode records the total price of multi-night stays (about 23 nights), concentrated among17   small Montreal rental units with few reviews. v1.0 modelled the mixture as if it were a nightly price and obtained18   $R^2$ of 0.05–0.27, a "has reviews" coefficient of 9.5 log points, a "bedrooms" premium of +213 % and a Winsorisation19   band of \$38–\$10,822 for "nightly" prices.202. **Five regressors were fabricated or mislabelled.** The "luxury", "business travel", "family comfort", "leisure" and21   "remote work" amenity indices were the normalised amenity count plus Gaussian noise (σ = 0.05, `src/amenities.py`,22   `_proxy_indices_from_count`); the "business travel index −68.5 %" result is noise. "Entire home / private room / shared23   room" were relabelled property-type groups ("Rental unit" → "private room", "Other" → "shared room"); the scrape has24   no room type. "Multi-listing host" was a duplicated-title proxy; `host_professional_dummy` was a constant zero.253. **Several reported analyses had not been executed as described.** The spatial section contained no estimate (spreg was26   absent; fallbacks ran and nothing was reported); "CatBoost" and "GAM" were sklearn fallbacks; SHAP was a permutation27   importance (no SHAP table or figure was ever produced); MAPE was computed on log prices (the "14.3 %" is meaningless).284. **The decomposition table was arithmetically impossible** (mean predicted log price 3.99 vs actual 5.87, intercept 0,29   location and text components identically 0, residual mean 1.16 for an OLS with intercept): the feature-group keys did not30   match the model's blocks.315. **The design matrix contained exact duplicates** (`is_superhost` = `superhost_flag`, `is_guest_favorite` =32   `guest_favorite_flag`, `log_beds` = `log_bedrooms`) and an exhaustive set of "room-type" dummies plus a constant; the33   quantile table's three "room-type" coefficients of ≈ 1.0 are pseudo-inverse artefacts. A K-means cluster label was used34   as a continuous regressor ("Spatial cluster −1.3 %"). The M8/M9 sample (N = 1,906) was selected on having a priced35   neighbour within 500 m.366. **The data source was misattributed** (Inside Airbnb with amenity lists, host profiles, descriptions, calendars) and the37   text referred to "seasons" in a single cross-section.3839The paper has been rebuilt from the data up: the price-regime problem is modelled explicitly (two-regime mixture of hedonic40regressions, EM), the structured card title is parsed to recover the rating, bathrooms, studios and title category, a41parsimonious hedonic specification with city fixed effects is estimated with HC3 and clustered inference, quantile, SAR/SEM/SDM42(with LeSage–Pace impacts) and five learners under random and spatially blocked cross-validation are run for real, and43every number in the text is produced by `scripts/10_revision_reanalysis.py`. The revised paper is an honest, internally44consistent hedonic study of a sparse scrape; its contribution is the Quebec evidence plus the measurement lesson.4546## 2. Section-by-section diagnosis (v1.0 → v1.1)4748| Section | Strengths (v1.0) | Weaknesses / errors found | Action |49|---|---|---|---|50| Abstract | Clear structure | Claims SHAP, CatBoost, spatial models and "amenity indices" that were not estimated/not real; R² 0.052–0.274 on a contaminated variable; "comprehensive" | Rewritten around the regime diagnosis and the verified results |51| 1 Introduction | Rosen–Lancaster framing; four research questions | Literature thin and partly misattributed (Gibbs amenity result cited to the dynamic-pricing paper; Chen & Xie dated 2020; Chattopadhyay & Machemehl 2006 unverifiable; Dogru & Pekin grey literature); "49 features"/"50 parameters"/60 rows in appendix; Quebec gap not established (Deboosere et al. 2019 Montreal absent) | Rewritten; literature enriched (32 verified additions, 3 removals); contribution reframed as evidence + measurement |52| 2 Data | Cleaning steps listed; summary tables | Source misdescribed; bimodality not noticed although mean \$1,115 vs median \$219 and P75 \$1,139 were printed; "0–100 → 0–5 rating conversion" false; "entire home 48.1 %" false; amenity indices fabricated; 810 missing ratings treated as if all in the priced sample; text embeddings of a templated title | New §2: scrape content, title parsing, price-field diagnosis (mixture + regime table + figure), analysis sample, descriptives, data limits |53| 3 Methodology | Equations for OLS, QR, SAR/SEM/SDM, Moran's I | No equation for FE or for the premium correction; reputation score formula ad hoc; Haversine/BallTree detail without purpose; "M9 identical to M8"; random train/test split; MAPE on logs; no impacts | New §3: hedonic equation with FE, Kennedy correction, inference, QR with bootstrap, W on projected km, SAR/SEM/SDM + LR test + impacts, random vs blocked CV, SHAP, mixture model |54| 4 Results | — | Every table affected by items 1–5 above; decomposition impossible; spatial section without numbers; quantile table collinear; "11.1 % per 0.1 rating point" from a coefficient of 1.05 on a 0–5 scale under the contaminated sample | Entirely regenerated: 7 tables, 4 figures, all from one script |55| 5 Robustness | Several dimensions considered | Property-type subsamples labelled "room type"; price-segment regressions condition on the dependent variable; "Ultra-Luxury (> \$1,000)" is the stay regime; adj. R² 0.08–0.10 on a different spec than the main model; "stable" claims without a table | New §5: regime cut-offs, price-rule samples, weighting, hotel exclusion, Montreal/outside, trimming, 60-cell FE, alternative W |56| 6 Conclusion | Lists limitations | Repeats the contaminated magnitudes; admits fallbacks only in passing ("CatBoost, pygam, SHAP, PySAL were unavailable") | Rewritten |57| Appendix | Full coefficient table | 60 rows for "50 covariates", duplicates, pinv artefacts | Variable definitions, regime logit, VIF |5859## 3. Methodology verdicts (master prompt §3)6061| Point | Verdict |62|---|---|63| Specification justified | v1.0: no — 60 regressors incl. duplicates, noise indices, cluster label as continuous. v1.1: parsimonious semi-log with capacity in logs, title category, presentation, reputation, two location variables, city/cell FE; blocks justified in §3.1. |64| Estimation assumptions explicit | v1.1 states the semi-log form, the conditional-association reading, HC3 and clustering, the mixture model's assumptions (common slopes, regime-specific variance, logistic concomitant). |65| Variables correctly defined | v1.0: no (see §1). v1.1: Appendix A lists each variable and its source (field vs title). |66| Fixed effects appropriate | v1.0: none (K-means label as continuous). v1.1: city FE (cities ≥ 15 listings) + 25 cells for the scattered remainder; 60-cell FE as robustness; FE share of SHAP importance reported. |67| Spatial/temporal dependence | v1.0: spatial models not estimated. v1.1: Moran's I on M4/M5 residuals (k = 5, 10), SAR/SEM/SDM by ML on projected-km KNN W, LR test SDM vs SAR, direct/indirect/total impacts with simulated SEs. Temporal: none possible (single cross-section), stated. |68| Standard errors | v1.0: HC3 only. v1.1: HC3 + clustered by FE group (and by 60 cells in the JSON), kernel SEs for QR, bootstrap for inter-quantile differences, simulated SEs for impacts. |69| Sample construction transparent | v1.1: 5,000 → 3,456 priced → mixture classification → 2,480; every step counted; 465 bathroom and 46 bedroom repairs, 456 unrated, 37 truncated ratings documented. |70| Robustness addresses genuine threats | v1.1: the regime classification (cut-offs 0.25/0.75, \$600/\$1,000 rules, weighting, full sample), composition (hotels, Montreal), outliers (trimming), FE granularity, W choice. |71| Coefficient interpretation | v1.1: elasticities for logs, Kennedy-corrected premia for dummies, rating per 0.1 point, impacts for spatial models, SHAP as attribution not effect. |72| Statistical vs economic significance | v1.1 distinguishes precisely estimated small premia (badges) from large ones (capacity, shared bath). |73| Causal claims | None; §3.1 and §6 state the conditional-association reading explicitly. |7475## 4. Literature7677**Removed (unverifiable or inappropriate):** Chattopadhyay & Machemehl (2006, *Transportation*) — no Crossref record for the78cited article; Dogru & Pekin (2017, *Boston Hospitality Review*) — grey literature, no DOI; Apley & Zhu (2020) — not used.7980**Corrected:** Chen & Xie — 2017 (not 2020), IJCHM 29(9); Magno, Cassia & **Ugolini** (2018) — third author was wrong;81Gibbs et al. — the amenity/hedonic result is Gibbs, Guttentag, Gretzel, Morton & Goodwill (2018), *JTTM* 35(1), DOI8210.1080/10548408.2017.1308292, not the dynamic-pricing paper (kept separately as `Gibbs2018dynamic`); Pérez-Sánchez83given name (V. Raúl); Zhang first author (Zhihua).8485**Added (32, all Crossref-verified with DOI unless noted):** Malpezzi 2003 (10.1002/9780470690680.ch5); Sirmans, Macpherson &86Zietz 2005 (10.1080/10835547.2005.12090154); Kuminoff, Parmeter & Pope 2010 (10.1016/j.jeem.2010.06.001); Bishop et al. 202087(10.1093/reep/reaa001); Teubner, Hawlitschek & Dann 2017 (10.22381/JSME5420173); Ert, Fleischer & Magen 201688(10.1016/j.tourman.2016.01.013); Zervas, Proserpio & Byers 2017 (10.1509/jmr.15.0204) and 2021 (10.1007/s11002-020-09546-4);89Gyódi & Nawaro 2021 (10.1016/j.tourman.2021.104319); Tong & Gunter 2022 (10.1080/13683500.2020.1718619); Cai et al. 201990(10.3727/108354219X15525055915554); Sainaghi, Abrate & Mauri 2021 (10.1016/j.ijhm.2020.102709); Voltes-Dorta & Sánchez-Medina912020 (10.1016/j.jhtm.2020.08.015); Lorde, Jacob & Weekes 2019 (10.1016/j.tmp.2019.03.006); Dudás et al. 201792(10.15196/RS07108); Kakar et al. 2018 (10.1016/j.jhe.2017.08.001); Ikkala & Lampinen 2015 (10.1145/2675133.2675274);93Guttentag 2015 (10.1080/13683500.2013.827159); Farronato & Fradkin 2022 (10.1257/aer.20180260); Deboosere et al. 201994(10.1080/21681376.2019.1592699); Combs, Kerrigan & Wachsmuth 2020 (10.36939/cjur/vol29no1/art274); Wachsmuth & Weisler952018 (10.1177/0308518X18778038); Barron, Kung & Proserpio 2021 (10.1287/mksc.2020.1227); Halvorsen & Palmquist 1980 and96Kennedy 1981 (AER; verified via RePEc records, no DOI); MacKinnon & White 1985 (10.1016/0304-4076(85)90158-7); Cameron &97Miller 2015 (10.3368/jhr.50.2.317); Koenker & Hallock 2001 (10.1257/jep.15.4.143); Elhorst 2010 (10.1080/17421770903541772);98Lundberg et al. 2020 (10.1038/s42256-019-0138-9); Roberts et al. 2017 (10.1111/ecog.02881).99100**Retained and re-verified (18, including the corrected Chen & Xie 2017):** Rosen 1974; Lancaster 1966; Wang & Nicolau 2017; Gibbs et al. 2018 (dynamic); Pérez-Sánchez101et al. 2018; Zhang et al. 2017; Gunter & Önder 2018; Benítez-Aurioles 2018; Magno et al. 2018; Koenker & Bassett 1978;102LeSage & Pace 2009; Anselin 1988; Lundberg & Lee 2017; Breiman 2001; Friedman 2001; Chen & Guestrin 2016; Zou & Hastie 2005.103104References: 21 (v1.0, 2 unverifiable) → 50 (v1.1, all verified).105106## 5. Results: inconsistencies found in v1.0 and what replaces them107108- Abstract/text/README/tables agreed on N = 5,000 / 3,412 / 1,906 and R² 0.052–0.274 but disagreed on the number of109  regressors (49 features, 50 parameters, 60 appendix rows); the appendix contained duplicated regressors with split110  pseudo-inverse coefficients (`is_superhost` −0.065 vs `superhost_flag` +0.060).111- "Has reviews" β = 9.511 (premium "> 1,000 %") arose because the M4+ samples required a non-missing rating, making the112  indicator almost collinear with the constant; the "review component" of the decomposition (mean 6.40) was this artefact.113- The quantile table's "Is entire home / private room / shared room" coefficients of ≈ 1.0 at every τ were the equal split of114  the constant across an exhaustive dummy set.115- Spatial section: text claimed "coefficients qualitatively similar … mild spatial bias" without a single number.116- ML: MAPE 14.3 % was |Δ ln p| / ln p; "CatBoost" and "GAM" were sklearn fallbacks; the test set (382) came from one random split.117- Robustness: "adjusted R² 0.083–0.098" referred to a 9-regressor spec, not the 50-regressor main model; price-segment118  regressions conditioned on the dependent variable.119120**Replaced by (all verified, `rev_key_numbers.json`):** nightly-regime sample N = 2,480; M1–M5 R² 0.443/0.454/0.461/0.479/0.509;121M5 elasticities guests 0.331 (0.037), ln(1+bathrooms) 0.437 (0.070), bedrooms 0.160 (0.042); shared bath −0.385 (−32 % Kennedy);122studio +0.147; chalet +0.099 (10.3 %), house +0.079 (8.1 %); ln photos 0.087; ln amenities 0.094; rating 0.337/point; Superhost1230.023 n.s.; Guest Favourite −0.035 n.s.; ln reviews 0.015 n.s.; ln density 0.064; ln distance −0.035 (10 %). Clustered SEs124(51 groups) 20–60 % larger for capacity/location. VIF max 4.2. FE-only R² 0.13. Quantiles: pseudo-R² 0.278→0.405; bedrooms1250.014→0.187 (Δ = 0.17, p = 0.08); bathrooms 0.241→0.551; guests 0.374→0.307; ln reviews +0.042→−0.042 (Δ p < 0.001);126Superhost +0.081 at τ = 0.10 only. Moran's I: ln p 0.244, M4 residuals 0.126 (z = 10.8), M5 residuals 0.072 (z = 6.2).127SAR ρ̂ = 0.200 (0.022), SEM λ̂ = 0.284 (0.028), SDM ρ̂ = 0.261 (0.028); LR SDM vs SAR χ²(20) = 52.8; SAR multiplier 1.25;128direct/coefficient ratio 1.006. CV (random | blocked): OLS-M5 0.473 | 0.407; XGBoost 0.559 | 0.483; MdAPE 26–30 %. SHAP shares:129guests 20.9 %, bedrooms 9.8 %, density 8.9 %, FE 8.8 %, bathrooms 8.8 %, reviews 8.6 %, rating 6.6 %.130131## 6. Verified results vs proposed analyses132133Everything reported in v1.1 was executed (`scripts/10_revision_reanalysis.py`, 172 s plus a 6-minute bootstrap cached in134`rev_iq_bootstrap.json`). **Recommended but not executed:** (i) Hartigan dip test of unimodality (package not installed; the135mixture and the median-ratio table make the point); (ii) a concomitant-variable mixture with city fixed effects in the regime136equation; (iii) Conley HAC standard errors (the FE-cluster and 60-cell-cluster SEs are reported instead; `KEY.ols.M5_cluster_cell60`137is in the JSON but not in a table); (iv) a GWR / spatially varying-coefficient model for the Montreal vs resort heterogeneity;138(v) hyper-parameter tuning of the learners by nested CV (fixed, documented settings were used); (vi) SHAP interaction values;139(vii) a hedonic model on the stay-regime listings with the implied stay length as an offset (not identified without stay dates).140141## 7. Remaining limitations142143Asking prices on one day; cleaning fee, room type, host ID, amenity list, minimum stay unobserved; no stay length for the14428 % stay-regime cards (dropped, not corrected); single cross-section (no seasonality despite the v1.0 wording); scrape145coverage; city FE for 54 % of listings only (the rest in 25 cells); the ≤ \$31 winsorisation floor inherited from the WP 5146cleaning affects 35 listings; Montreal sub-sample small (N = 506).147148## 8. Continuity with the research programme149150Terminology aligned with WP 1/9/11 ("hedonic price function", "implicit price", "neighbourhood fixed effects", "out-of-sample",151MdAPE); the WP 5 price-field diagnosis is cited as the companion paper (UQO WP 5) and extended (mixture of regressions instead of152a \$1,000 rule, with the rule shown to bias the capacity elasticity to zero). No paragraph is reused from WP 5.153154## 9. Maturity for publication155156- **Target journals:** *Journal of Housing Economics* (short paper), *Tourism Economics*, *International Journal of Hospitality157  Management*, *Journal of Real Estate Research*, *Current Issues in Tourism*; *Regional Science and Urban Economics* only if the158  spatial heterogeneity (Montreal vs resort) is developed further.159- **Risks of rejection:** (i) data sparseness (no room type / host ID / amenity list) — a referee may ask for a re-scrape with160  these fields; (ii) the stay-price contamination, now modelled, will still invite the question "why not re-scrape with161  dates?"; (iii) a single cross-section of asking prices limits the contribution to descriptive hedonics; (iv) the ML section162  is a benchmark rather than a method contribution.163- **Verdict:** publishable as a careful descriptive hedonic working paper with a genuine methodological lesson on scraped164  prices; before journal submission, a re-scrape recording search dates, stay length, room type and host ID is strongly165  recommended, after which the mixture model becomes a validation exercise rather than a necessity. Not yet SSRN-posted;166  v1.1 is suitable for posting.167