Airbnb Booking Prediction
BUS-K 353 · Kelley School of Business, Indiana University · 2024
Machine Learning · Predictive Analytics · R · Random Forest
This project was completed as part of my Business Analytics coursework at Indiana University. Our three-person team was given a large Airbnb dataset and tasked with developing a model that could predict future booking activity as accurately as possible. The project was structured as a prediction challenge, with model performance evaluated using root mean square error (RMSE).
The dataset contained more than 1.3 million observations, which meant that a large part of the project involved preparing the data before we could begin modeling. We worked through missing values, categorical variables, low-frequency categories, and other data-quality issues while also creating and selecting features that could help explain differences in booking behavior.
From there, we tested several modeling approaches and compared their performance rather than relying on a single model from the beginning. Our final submission used a tuned Random Forest model, which ultimately placed first in the class prediction challenge and was approximately 11% more accurate than the class average.
Overview
The first part of the project focused on cleaning and restructuring the data so that it could be used effectively for prediction. We handled missing observations, converted categorical variables into usable formats, grouped infrequent neighborhoods into broader categories, and worked to maintain consistency between the training and validation data.
We then looked at which characteristics of an Airbnb listing were most useful for predicting bookings. These included property characteristics such as bedrooms and published nightly rates, host-related information such as responsiveness, review information, and other listing details. We also created additional features from the information already available in the dataset and used model-based feature importance to help determine which variables were most useful.
Our modeling process began with simpler approaches so that we had a baseline for comparison. A linear regression model produced an RMSE of approximately 21.2, while a decision tree improved this to around 19.3. We then developed and tuned multiple Random Forest models, bringing the RMSE down further to approximately 18.1. We also experimented with more complex ensemble approaches as part of the model-development process, but ultimately used the strongest-performing Random Forest model for the final prediction submission.
A major part of the process was balancing model complexity with actual predictive performance. We adjusted Random Forest parameters, compared errors across different approaches, and investigated larger prediction errors to understand whether they were being driven by missing information, unusual observations, or weaknesses in the model itself.
Analysis
Results
First place in the class prediction challenge.
Our final model produced the strongest prediction performance in the class and was approximately 11% more accurate than the class average. The project showed us that improving prediction accuracy was not simply a matter of using the most complicated model available. Data preparation, feature construction, model selection, parameter tuning, and repeated evaluation all had a meaningful effect on the final result.
The final Random Forest model represented a clear improvement over the simpler models we tested earlier in the project, reducing RMSE from approximately 21.2 with linear regression and 19.3 with a decision tree to approximately 18.1.
Please click on the images to access the full content.
Meet the Team