This project will mainly focus on leveraging data mining techniques to conduct exploratory data analysis (EDA) of bookings to address the business needs of customers and also build models to predict whether a booking will be canceled.
(More details in the Code.ipynb and Presentation.pdf file)
Hotel Booking Demand Datasets: Nuno Antonio, Ana Almeida, Luis Nunes, Data in Brief, 2019 https://www.kaggle.com/datasets/jessemostipak/hotel-booking-demand?datasetId=511638&sortBy=voteCount
- Exploratory Data Analysis (EDA): This would involve looking at the distribution of the data, identifying any missing values, and visualizing the relationships between features using plots such as scatterplots and histograms.
- Upsampling and SMOTE: to address the data imbalance problems
- Time Series Analysis: identify trends in booking demand or cancellation over time, such as seasonal patterns and fluctuations.
- Clustering (K-Means & DBSCAN): for customers segmentation
- Predictive Modeling (Logistic Regression, Decision Tree, Random Forest, XGBoost, etc.): forecast future bookings or cancellations based on past data. We also utilized K-fold Cross Validation to enhance performance and avoid overfitting problems.
Our models' performance can be seen as follows:
In this project, our primary focus was on the recall rate. Based on the data presented in the table, we selected XGBoost as our final model. Notable features influencing this decision include:
- Requirement for Parking Spaces (Yes/No)
- History of Previous Cancellations (Yes/No)
- Market Segment Category
Our analysis resulted in the segmentation of customers into four distinct groups:
- Business Travellers: Prefer city hotels.
- Self-driving Enthusiasts: Require parking spaces.
- Group Travel Aficionados: Favor traveling in groups.
- Loyal Guests: Tend to be repeat visitors.
The geographical distribution of these customer groups can be seen in the following chart:
