Assessing Airbnb Listing Prices in London Using Regression Models
The Airbnb market in London is large, heterogeneous, and stratified by neighbourhood, room type, and host profile in ways that are not immediately obvious from listing data alone. This project uses a dataset of 26,864 London listings from 10 December 2023 to quantify the effect of host characteristics, property attributes, and location on nightly price — building a series of progressively refined regression models to understand which factors drive price, how much, and under what conditions.
Data and dependent variable
The dataset covers all active London listings as of 10 December 2023. The dependent variable is the listed nightly price in US dollars. Raw price has a skewness of 13.5 and an extremely long right tail driven by luxury properties and multi-night minimum stay listings that artificially inflate the per-night figure. The log of price was used as the dependent variable throughout, which produces a more symmetric distribution and allows coefficients to be interpreted as percentage changes rather than absolute dollar amounts.
Variables
Binary variables: superhost status, host has profile picture, host identity verified, bathroom is private, instantly bookable.
Categorical variable: room type — Entire Home/Apartment, Private Room, Shared Room (with Entire Home/Apartment as the reference category).
Discrete numeric variables: number of years hosting, total host listings count, number of people accommodated, number of beds, number of bathrooms, number of reviews. Total host listings and number of reviews are right-skewed with outliers and were log-transformed before inclusion.
Continuous variable: review scores rating (1–5).
Control variable: London subregion — Central, East, West, North, South London. Included to absorb the substantial location premium in central areas without requiring precise geocoding.
Multicollinearity: accommodates and beds
Listings that accommodate more people tend to have more beds — a logical relationship that produces strong multicollinearity between these two variables. VIF scores above 4.0 for both confirmed the problem. Including both in the same model makes coefficient estimates unreliable. The solution was to construct a single composite variable: accommodates per bed, capturing the density of sleeping capacity relative to bedroom space. Because both source variables carry outliers, the composite also inherits them; log(accommodates per bed) was used, confirming a linear relationship with log(price). Including only this composite changes the estimated bathroom effect from +13.4% per additional bathroom to +31.3% — suppression bias from the collinear variables had been distorting the bathroom estimate.
Heteroskedasticity
The residuals against fitted values plot shows a clear pattern — variance is not constant across the fitted range of prices. This makes ordinary standard errors unreliable. Robust standard errors (Huber-White) were applied in all models, making inference valid regardless of the heteroskedasticity structure.
Key quantitative findings
Technical notes
All models were estimated in Stata. Robust standard errors (vce(robust)) were applied throughout. VIF diagnostics confirmed multicollinearity issues between accommodates and beds (VIF > 4.0 for both). Variable transformations — log of price, log of reviews, log of host total listings, log of accommodates per bed — were applied to address skewness and outlier sensitivity. The quadratic bathroom term was tested using a simple square term added to the OLS specification and confirmed via marginal effects plots. Location controls were included as indicator variables for the five London subregions.