% ========================================================================== \section{Empirical Results} \label{sec:results} % ========================================================================== % ------------------------------------------------------------------ \subsection{Nested Hedonic Models} \label{subsec:nested} % ------------------------------------------------------------------ Table~\ref{tab:nested} reports the five nested specifications. The structural block alone (M1) explains 44\% of the variance of log prices in the analysis sample, a figure in line with single-city Airbnb studies \citep{WangNicolau2017, ChenXie2017, Gyodi2021} and far above the 5\% obtained on the contaminated price field. Adding the presentation variables (M2) and the host and reputation variables (M3) raises $R^2$ by about one percentage point each; the two location variables (M4) add two points, and the city and cell fixed effects (M5) a further three, to 0.509 (adjusted 0.495). The fixed effects alone explain 13\% of the variance, so the structural and listing-level characteristics carry most of the explanatory power and location acts mainly through the composition of listings across places rather than through large city-level price differences. The root mean squared error of M5 is 0.475 log points, which is a typical prediction error of about 40\% of the nightly price for an individual listing. \begin{table}[!htbp] \centering \caption{Nested Hedonic Specifications, Dependent Variable $\ln$(Displayed Nightly Price)} \label{tab:nested} \begin{threeparttable} \footnotesize \setlength{\tabcolsep}{4pt} \input{../results/tables/rev_ols_nested.tex} \begin{tablenotes} \footnotesize \item \textit{Notes:} OLS on the analysis sample ($N = 2{,}480$). Columns (1)--(5) report HC3 standard errors in parentheses; column (5$'$) repeats M5 with standard errors clustered by fixed-effect group (51 groups) in brackets. The reference title category is \emph{Rental unit}. Rating is centred at 4.8 and set to zero for unrated listings, so the ``Rated'' indicator is the premium of a listing rated 4.8 over an unrated one. City / cell fixed effects: one indicator per municipality with at least 15 listings (26 cities) and 25 $k$-means cells for the remaining listings. ***, ** and * denote significance at the 1, 5 and 10\% levels. \end{tablenotes} \end{threeparttable} \end{table} The coefficients are stable across specifications, which indicates that the omitted-variable bias from leaving out reputation or location is small for the structural variables. Clustering the standard errors by fixed-effect group raises them by 20 to 60\% for the capacity and location variables and leaves the inference qualitatively unchanged, except that the bedroom elasticity falls from the 1\% to the 5\% level and the rating coefficient becomes more precise. Variance inflation factors in M4 peak at 4.2 (for $\ln$ bedrooms), so the capacity variables, although correlated, are separately identified (Appendix Table~\ref{tab:app_vif}). % ------------------------------------------------------------------ \subsection{Capacity, Type and Presentation} \label{subsec:structural} % ------------------------------------------------------------------ Capacity is priced through three channels. Holding bedrooms and bathrooms constant, a 10\% increase in guest capacity is associated with a 3.3\% higher price (elasticity 0.331, HC3 standard error 0.037); holding capacity constant, a 10\% increase in one plus the bathroom count is associated with a 4.4\% higher price (0.437, 0.070), and a 10\% increase in bedrooms with a 1.6\% higher price (0.160, 0.042). The bedroom elasticity is modest because capacity and bathrooms absorb most of the size effect; in M1 without the other capacity variables it would be far larger. A shared bathroom, which in these data identifies the room-in-a-home segment that the missing room-type field would otherwise have captured, carries a premium of $g = 100[\exp(-0.385 - \tfrac{1}{2}0.053^2) - 1] = -32\%$ by Equation~\eqref{eq:kennedy}, the largest single implicit price in the model. Studios are priced 16\% above an otherwise equivalent one-bedroom listing of the same capacity, which reflects their urban location and the fact that a studio of given capacity is a complete dwelling rather than a room. Title categories matter less than their raw price differences in Table~\ref{tab:price_category} suggest. Without location controls (M1--M3) no category differs significantly from rental units; once distance and density are held fixed (M4) and especially within cities (M5), chalets, cottages and cabins are priced 10\% above rental units of the same capacity (Kennedy-corrected premium 10.3\%, $p < 0.01$) and houses 8\% above ($p < 0.05$), while condominiums and lofts, hotel rooms and unconventional listings are not significantly different. The reversal between M3 and M4 arises because chalets are located where listings are sparse and far from city centres, two attributes that are themselves priced; the within-city chalet premium is the better estimate of the type's implicit price. Among the presentation variables the number of photos is the most robust: a 10\% increase in one plus the photo count is associated with a 0.9\% higher price in every specification. The amenity count has a smaller and less stable coefficient (elasticity 0.09 with fixed effects, $p < 0.05$), and allowing pets is associated with a price about 4\% lower, significant at the 10\% level. The first version of this paper reported large negative ``amenity index'' effects; those indices were noise and the amenity count, which is the only amenity information in the data, is positively priced. % ------------------------------------------------------------------ \subsection{Reputation Signals} \label{subsec:reviews} % ------------------------------------------------------------------ The reputation block adds little to the fit, and its coefficients are small relative to the capacity effects. The displayed rating is the one reputation variable with a sizeable and precisely estimated coefficient: among rated listings, each additional point of rating is associated with a 34\% higher price (0.337, standard error 0.068 in M5), so that the typical spread between a listing rated 4.6 and one rated 5.0 corresponds to about 14\%. Because ratings are compressed near the top of the scale, with a tenth percentile of 4.57 \citep[the pattern documented by][]{Zervas2021}, this coefficient is identified from small differences and should be read as the price distance between the lower tail and the mass of near-perfect ratings, not as a linear effect across the whole scale. Unrated listings, mostly new ones, are priced 4\% below rated listings at 4.8, a difference that is not significant. Superhost status and the Guest Favourite badge carry no premium once capacity, type and location are controlled: the Superhost coefficient is 0.023 (standard error 0.025) and the Guest Favourite coefficient $-0.035$ (0.027). Both badges are strongly associated with price in the raw data, but in the direction of the stay-price regime (Appendix Table~\ref{tab:app_stay_logit}), not of the nightly price. This null is consistent with the mixed evidence in the literature, where \citet{Teubner2017} and \citet{Gibbs2018} find Superhost premia of a few percent in some cities and none in others, and with the view that the badge rewards responsiveness and reliability rather than quality that guests pay for. The number of reviews is likewise unrelated to price on average (0.015, 0.010); the quantile results below show that this average conceals opposite signs at the two ends of the distribution. Figure~\ref{fig:partials} displays the partial relationship between the rating and log price and between distance to the nearest centre and log price as binned partial residuals from M4. \begin{figure}[!htbp] \centering \includegraphics[width=0.95\textwidth]{rev_fig_partials.pdf} \caption{Partial Relationships: Distance to Centre and Rating} \label{fig:partials} \begin{minipage}{0.9\textwidth} \footnotesize \textit{Notes:} Binned means (20 quantile bins) of the partial residual $\hat u_i + \hat\beta_k x_{ik}$ from specification M4, with 95\% confidence intervals. Left: distance to the nearest of 22 reference centres (symmetric-log axis). Right: displayed rating, rated listings only. \end{minipage} \end{figure} % ------------------------------------------------------------------ \subsection{Location} \label{subsec:location} % ------------------------------------------------------------------ The two location variables behave as the urban-economics literature predicts once the sample is restricted to nightly prices. Local density is positively priced: a 10\% increase in one plus the number of listings within 1~km is associated with a 0.6\% higher price (0.064, 0.013 with fixed effects), the opposite of the ``competitive pressure'' reading in the first version of this paper and consistent with density proxying for centrality and amenity within cities. Distance to the nearest reference centre has a small negative coefficient that is significant only at the 10\% level with fixed effects ($-0.035$, 0.019); across the province, distance mixes the within-city gradient with the fact that resort listings are far from any city centre and expensive, which the category and density variables partly absorb. The fixed effects themselves are jointly significant (robust $F$ test, $p < 0.001$), and the robustness section shows that finer spatial cells leave the listing-level coefficients essentially unchanged. % ------------------------------------------------------------------ \subsection{Quantile Regression} \label{subsec:quantile} % ------------------------------------------------------------------ Table~\ref{tab:quantile} and Figure~\ref{fig:quantile} report the quantile estimates. The pseudo-$R^2$ rises from 0.278 at $\tau = 0.10$ to 0.405 at $\tau = 0.90$: observed characteristics explain more of the variation among expensive listings than among cheap ones, the reverse of what the first version reported on the contaminated field. \begin{table}[!htbp] \centering \caption{Quantile Regression Estimates, Specification M5} \label{tab:quantile} \begin{threeparttable} \footnotesize \setlength{\tabcolsep}{4pt} \input{../results/tables/rev_quantile.tex} \begin{tablenotes} \footnotesize \item \textit{Notes:} Analysis sample ($N = 2{,}480$). Column OLS repeats M5 (HC3 standard errors); quantile columns report kernel-based standard errors. All regressions include the city / cell fixed effects and the studio and ``Other'' category indicators (not shown). Pseudo-$R^2$ is one minus the ratio of the minimised check-function loss to the loss at the unconditional quantile. ***, ** and * denote significance at the 1, 5 and 10\% levels. \end{tablenotes} \end{threeparttable} \end{table} \begin{figure}[!htbp] \centering \includegraphics[width=0.95\textwidth]{rev_fig_quantile.pdf} \caption{Quantile Regression Coefficients Across the Conditional Price Distribution} \label{fig:quantile} \begin{minipage}{0.9\textwidth} \footnotesize \textit{Notes:} Point estimates and 95\% confidence bands at $\tau \in \{0.10, 0.25, 0.50, 0.75, 0.90\}$; the dashed red line is the OLS (M5) coefficient. \end{minipage} \end{figure} Three patterns emerge. First, the implicit prices of bedrooms and bathrooms increase along the distribution: the bedroom elasticity is indistinguishable from zero at $\tau = 0.10$ and 0.19 at $\tau = 0.90$, and the bathroom elasticity doubles from 0.24 to 0.55, while the capacity elasticity moves the other way, from 0.37 to 0.31. Cheap listings are priced per guest; expensive listings are priced per room. The paired bootstrap puts the $\tau = 0.90$ minus $\tau = 0.10$ difference in the bedroom elasticity at 0.17 (standard error 0.10, $p = 0.08$) and finds no significant difference for capacity ($-0.07$, $p = 0.37$); the bathroom gradient, the steepest of the three, is visible in the non-overlapping confidence bands of Figure~\ref{fig:quantile}. The chalet premium shows the same gradient, from 2\% at the bottom to 21\% at the top of the distribution. Second, the reputation variables matter at the bottom. The Superhost badge is associated with 8\% and 5\% higher prices at $\tau = 0.10$ and 0.25 and with nothing above the median; the number of reviews is positively associated with price in the lower quantiles (0.042 at $\tau = 0.10$) and negatively in the upper quantiles ($-0.042$ at $\tau = 0.90$), the inter-quantile difference of $-0.084$ (standard error 0.023, $p < 0.001$) being the most significant in the table. At the lower end, reviews and the badge certify a cheap listing; at the upper end, heavily reviewed listings are high-turnover properties that are priced below the less reviewed, more exclusive ones. The rating coefficient, by contrast, is stable across quantiles (0.26 to 0.38) and its inter-quantile difference is not significant ($0.03$, $p = 0.86$). Third, the location gradient strengthens with price: distance to the centre is unpriced at $\tau = 0.10$ and carries an elasticity of $-0.07$ to $-0.08$ in the upper half, while local density is priced most strongly at the bottom (0.10 at $\tau = 0.10$, 0.04 at $\tau = 0.90$). Budget listings gain from being where listings are dense, premium listings from being close to the centre. % ------------------------------------------------------------------ \subsection{Spatial Dependence} \label{subsec:spatial} % ------------------------------------------------------------------ The residuals of the hedonic model are spatially autocorrelated. Moran's $I$ on the M4 residuals with the five-nearest-neighbour matrix is 0.126 ($z = 10.8$) ($p < 0.001$ under 999 permutations) and it remains 0.072 ($z = 6.2$, $p < 0.001$) after the city fixed effects, so dependence exists within cities as well as between them. Table~\ref{tab:spatial} reports the three spatial models estimated on the M4 regressor set. The spatial lag coefficient is $\hat\rho = 0.200$ (standard error 0.022) in the SAR and 0.261 (0.028) in the SDM; the spatial error coefficient is $\hat\lambda = 0.284$ (0.028). All three models improve substantially on OLS in log-likelihood; the SDM has the highest likelihood and the likelihood-ratio test rejects the SAR restriction $\boldsymbol{\theta} = \mathbf{0}$ ($\chi^2(20) = 52.8$, $p < 0.001$), while the SEM has the lowest AIC because it adds a single parameter. \begin{table}[!htbp] \centering \caption{Spatial Lag, Spatial Error and Spatial Durbin Models (M4 Regressors)} \label{tab:spatial} \begin{threeparttable} \footnotesize \setlength{\tabcolsep}{4pt} \input{../results/tables/rev_spatial.tex} \begin{tablenotes} \footnotesize \item \textit{Notes:} Maximum-likelihood estimates on the analysis sample with a row-standardised 5-nearest-neighbour weights matrix built on coordinates projected to kilometres. The last column reports the coefficients $\boldsymbol{\theta}$ on the spatially lagged regressors of the SDM. Studio and ``Other'' category indicators included but not shown. Standard errors in parentheses (HC3 for OLS, asymptotic for the spatial models). ***, ** and * denote significance at the 1, 5 and 10\% levels. \end{tablenotes} \end{threeparttable} \end{table} The hedonic coefficients are robust to the spatial specification: the capacity, shared-bathroom, photo and rating coefficients move by less than one standard error between OLS and any of the spatial models. The largest changes are in the variables that carry spatial information, the chalet premium (0.154 in OLS, 0.097 in the SAR) and local density (0.067 to 0.044 in the SDM), part of whose OLS coefficient is absorbed by neighbours' prices. The SDM's spatially lagged regressors are mostly insignificant; two exceptions are that a listing surrounded by high-capacity listings is priced lower ($\theta = -0.153$) and one surrounded by highly rated listings is priced lower ($-0.294$), conditional on its own characteristics, which is the pattern expected when neighbours are substitutes. Table~\ref{tab:impacts} translates the SAR and SDM estimates into average direct, indirect and total impacts. In the SAR the spatial multiplier is $1/(1 - \hat\rho) = 1.25$: the total impact of each characteristic is 25\% larger than its coefficient, and a fifth of the total impact accrues to neighbouring listings through the price feedback. The direct impacts are within a few percent of the coefficients, so the OLS coefficients are good approximations of the own-listing associations. In the SDM the indirect impacts are imprecisely estimated, with two exceptions: the bathroom count has a positive spillover significant at the 5\% level (total impact 0.70 against a direct impact of 0.45), and the rating has a negative spillover, significant at the 10\% level, that offsets its direct impact, so the total association between the average rating of a neighbourhood and its prices is close to zero. These spillovers describe the equilibrium price surface, not a causal effect of neighbours' ratings on a listing's price. \begin{table}[!htbp] \centering \caption{Average Direct, Indirect and Total Impacts, SAR and SDM} \label{tab:impacts} \begin{threeparttable} \footnotesize \setlength{\tabcolsep}{4pt} \input{../results/tables/rev_impacts.tex} \begin{tablenotes} \footnotesize \item \textit{Notes:} Impacts computed as in \citet{LeSagePace2009} from the dense inverse $(\mathbf{I} - \hat\rho\mathbf{W})^{-1}$. Standard errors (in parentheses) from 300 draws of the parameters from their estimated asymptotic distribution. ***, ** and * denote significance at the 1, 5 and 10\% levels. \end{tablenotes} \end{threeparttable} \end{table} % ------------------------------------------------------------------ \subsection{Machine Learning Benchmarks} \label{subsec:ml_comparison} % ------------------------------------------------------------------ Table~\ref{tab:ml} compares the out-of-sample accuracy of the M5 hedonic model and five learners under random and spatially blocked cross-validation. Under random folds the M5 hedonic model reaches an out-of-sample $R^2$ of 0.473 and a median absolute percentage error of 28.5\%; the elastic net, which regularises the same linear specification, does no better. The tree ensembles are clearly more accurate: XGBoost attains $R^2 = 0.559$, RMSE 0.450 and MdAPE 26.4\%, with gradient boosting, LightGBM and the random forest within one point of it. The gain of 0.086 in $R^2$ over the hedonic model is the value of the interactions and non-linearities that the semi-log specification rules out, for instance between type and capacity or between density and city. Spatially blocked cross-validation is the sterner test, and it lowers every model by about seven points of $R^2$: the hedonic model falls to 0.407, the tree ensembles to 0.48. The ranking is unchanged and the gap between the best learner and the hedonic model narrows slightly, from 0.086 to 0.076. Two conclusions follow. The random-fold figures overstate how well any of these models would price listings in an area absent from the training data, because listings in the same area share unobserved determinants of price; and the predictive advantage of the learners is not an artefact of their fitting local spatial structure more closely, since it survives when that structure cannot be exploited. A median error of 26 to 30\% of the nightly price is, in either design, the practical accuracy limit of an automated valuation of Quebec short-term rentals from listing-card information alone. \begin{table}[!htbp] \centering \caption{Out-of-Sample Accuracy Under Random and Spatially Blocked Cross-Validation} \label{tab:ml} \begin{threeparttable} \footnotesize \setlength{\tabcolsep}{4pt} \input{../results/tables/rev_ml_cv.tex} \begin{tablenotes} \footnotesize \item \textit{Notes:} Five-fold cross-validation on the analysis sample ($N = 2{,}480$); all models use the M5 regressors including the fixed-effect indicators. Random folds assign listings at random; blocked folds assign 20 $k$-means spatial clusters of listings to folds as whole blocks, so that each listing is predicted by a model that has seen no listing from its cluster. $R^2$, RMSE and MAE are on the log scale; MdAPE is the median absolute percentage error on the price scale. Hyper-parameters: elastic net with cross-validated penalty; random forest 500 trees, minimum leaf 3; gradient boosting 500 trees, depth 3, learning rate 0.05; XGBoost 600 trees, depth 5, learning rate 0.03; LightGBM 600 trees, 15 leaves, learning rate 0.03. \end{tablenotes} \end{threeparttable} \end{table} % ------------------------------------------------------------------ \subsection{SHAP Decomposition of the Boosted Model} \label{subsec:shap} % ------------------------------------------------------------------ Table~\ref{tab:shap} ranks the features of the XGBoost model by mean absolute SHAP value and Figure~\ref{fig:shap} shows the distribution of the contributions. Guest capacity is by far the most important feature (21\% of the total attribution), followed by bedrooms (10\%), local density, the aggregate of the city and cell indicators, bathrooms and the review count (9\% each), the rating (7\%), photos (5\%), distance to the centre (5\%), amenities (4\%) and the shared-bathroom indicator (3\%). The ranking mirrors the hedonic model in two respects: the capacity block dominates, and the badges, pets and the rated indicator are at the bottom, with the Superhost badge absent from the top sixteen. It differs in one: the review count, whose average hedonic coefficient is zero, receives a large attribution. The beeswarm plot explains why. The SHAP values of the review count are negative for listings with many reviews and positive for listings with few, exactly the sign reversal between the lower and upper quantiles in Table~\ref{tab:quantile}; a linear coefficient averages the two to nothing, whereas the learner uses the variable in both directions. Together with the quantile results, this is the clearest instance in these data of an implicit price that is not a constant. SHAP values quantify how the fitted model uses each feature; they are attribution weights for associations, computed from an estimator that has no identification strategy, and they carry no causal content. \begin{table}[!htbp] \centering \caption{Mean Absolute SHAP Values, XGBoost} \label{tab:shap} \begin{threeparttable} \input{../results/tables/rev_shap_importance.tex} \begin{tablenotes} \footnotesize \item \textit{Notes:} Exact SHAP values from the TreeExplainer for the XGBoost model fitted to the analysis sample. $\overline{|\phi_k|}$ is the mean absolute contribution of feature $k$ to the predicted log price; the share is relative to the sum over all features, including the individual fixed-effect indicators, which are reported as one aggregate row. \end{tablenotes} \end{threeparttable} \end{table} \begin{figure}[!htbp] \centering \includegraphics[width=0.9\textwidth]{rev_fig_shap.pdf} \caption{SHAP Summary Plot, XGBoost (Twelve Most Important Listing-Level Features)} \label{fig:shap} \begin{minipage}{0.9\textwidth} \footnotesize \textit{Notes:} Each point is one listing; the horizontal position is the SHAP value (contribution to predicted log price), the colour the feature value (blue low, red high). Fixed-effect indicators are excluded from the plot. \end{minipage} \end{figure}