Hotel customer segmentation
Which hotel guests behave differently, and how could the hotel tell them apart?
- records cleaned and analysed
- 83,590
- clustering methods compared
- 3
- ways of plotting the groups
- 2
Inside the projectProblem, method, sources
Problem
The hotel had 83,590 customer records, and a lot of them needed work before they were useful. Some columns were hashed IDs, revenue was split across two channels, and a field called DaysSinceCreation was really measuring how long someone had been a customer.
Method
- I dropped the ID, NameHash and DocIDHash columns. They say nothing about how a guest behaves, and keeping them would have grouped people by identity instead of behaviour.
- I explored revenue, lead time, cancellations, no-shows and special requests before deciding which features to use.
- I clustered the data three ways. K-Means gave me compact groups, and DBSCAN and HDBSCAN picked up the unusual stay lengths and big spenders that averages hide.
- I used PCA and t-SNE to plot the groups in two dimensions, so I could actually see them and sanity-check them.
- I wrote up each group as a customer profile, with a suggestion for how the hotel could look after it.
Sources
- 83,590: HotelCustomersDataset.xlsx