Transit Access and Airbnb Pricing in Montreal: A Hedonic Analysis

Hedonic OLS on 8,778 Montreal Airbnb listings shows the naive transit premium reverses sign once centrality enters: rail proximity is a centrality effect in disguise, and conditional on location, rail adjacency carries a slight price discount.

LIVE URBAN ECONOMICSCAUSAL INFERENCEGEOSPATIAL

The Question

Does proximity to metro rail increase Airbnb prices in Montreal — or is what looks like a transit premium actually a centrality premium wearing a transit label?

The intuition for a transit effect is obvious: being close to a metro station reduces travel time, which should increase a rental’s value. But metro stations are also located in dense, central neighbourhoods — and central neighbourhoods command higher prices for reasons unrelated to transit. The identification challenge is separating the transit effect from the location effect.

Data

8,778 Inside Airbnb listings (Montreal, June 2025 snapshot) merged with STM GTFS geospatial features. The June 2025 vintage was the latest available snapshot that still carried price data — subsequent snapshots have the price column stripped, likely in response to the 2025 short-term-rental regulatory regime.

Transit measures: haversine distance to the nearest rail station, nearest stop of any type, count of stops within an 800m walk buffer, and an AM-peak frequency-weighted access score. Metro versus bus identified by joining stop_times through trips to routes, since stops.txt carries no route-type field.

Method

Three nested hedonic OLS specifications on log price, with heteroskedasticity-consistent (HC3) standard errors throughout:

  1. Structural and quality controls (capacity, bedrooms, bathrooms, room type, review score) plus rail distance
  2. Same as (1), plus distance to downtown (centrality)
  3. Same as (2), plus neighbourhood fixed effects

Reporting all three in sequence shows what happens to the rail coefficient as confounders are progressively absorbed. Cross-validated with LightGBM and SHAP decomposition: if two very different methods agree on which features matter (or do not), the finding is harder to dismiss as a specification artefact.

Result

Estimated effect of rail proximity on log price, expressed as percent change per additional kilometre of distance from the nearest rail station:

SpecificationEffect per +1 km from railp-value
1. Structural controls only−3.7%< 0.0010.48
2. + distance to downtown+9.7%< 0.0010.55
3. + neighbourhood fixed effects+4.8%< 0.0010.56
[ INTERACTIVE DASHBOARD ] ↗ open full screen

In specification 1, the naive coefficient is negative: each kilometre farther from a rail station is associated with a 3.7% price reduction, which reads as a positive transit premium. Add distance to downtown and the sign reverses entirely — farther from rail is now associated with higher prices. The third specification tightens the test: comparing only listings within the same neighbourhood, the positive coefficient on rail distance persists at 4.8%.

The naive transit premium was a centrality premium. Controlling for where in the city a listing sits, proximity to metro rail is associated with a slight price discount, not a premium.

LightGBM confirms the pattern independently. The model’s most important predictors are capacity, distance to downtown, bathrooms, and room type. Rail distance does not appear in the top features. The SHAP dependence plot for rail distance is nearly flat once centrality is in the model.

[ INTERACTIVE DASHBOARD ] ↗ open full screen

Why

Two things are going on. First, the naive coefficient was measuring centrality, not transit access — central listings are close to rail for reasons entirely unrelated to the transit value itself. Adding distance to downtown lets the model separate the two, and almost the entire apparent transit effect belongs to centrality.

The harder piece: why the residual coefficient is positive (farther from rail = higher price). Short-term rentals serve tourists, for whom centrality and metro access are partial substitutes. If you are already at the attractions, you do not need the metro. Conditional on being central, the marginal value of a station within walking distance is small, and the disamenities that come with it (noise, foot traffic) appear to slightly dominate. The result is a negative residual capitalisation.

A commuter-housing equivalent of this study would likely show a different sign. Commuters value transit for itself.

What the data cannot see

Square footage, building age, interior quality, and host-specific effects are not in the Inside Airbnb schema. The R² of around 0.55 reflects how much listing variation is genuinely unobservable from open data. These omissions do not, however, threaten the identification of the sign reversal — the same unobservables are present in every specification in the table. The only thing changing between rows is the addition of the centrality variable, which is fully observed.

Technical Notes

  • Data: Inside Airbnb Montreal CC BY 4.0; STM GTFS open data
  • Libraries: pandas, geopandas, statsmodels, LightGBM, SHAP, Streamlit, plotly
  • Pipeline: five steps from raw download to fitted models, under two minutes end-to-end