Hotel Bookings Data Analysis
Introduction
When running a successful and demanding hospitality business, most hotel owners like a hotel that is running at full capacity and bringing in sizeable revenue. Most of the time hotel booking cancellations can be hurtful to business owners; although sometimes there are genuine reasons for guests to do so. These last-minute cancellations can result in lost revenue unless some measures are undertaken to mitigate the loss. The purpose of this project is to analyze Hotel Bookings data, investigate cancellations, and their underlying patterns; and suggest measures that can be implemented to reduce cancellations and secure revenue.
As per an article written on Booking.com, the first thing that hotel owners can do is to take a closer look at their propertyโs specific cancellation patterns and understand guest behavior patterns. Backed by this research Benjamin Verot suggests in his article 8 Tips to Reduce Last Minute Hotel Cancellations and No Shows some steps that owners can execute while setting up a robust cancellation policy.
- Requiring credit/debit card deposits
- Using length of stay restrictions
- Offering low rates/discounts for direct bookings
- Adopting a cautious overbooking strategy
Dataset Introduction
For this project, I used R and Shiny to create an app that will assist in a cancellation pattern study with the intention of aiding hotel owners in reducing cancellations. The data used for this project originally came from a scientific study and an article based on the findings - Hotel booking demand datasets; by Nuno Antonio, Ana Almeida, and Luis Nunes for Data in Brief, Volume 22, February 2019. The data was hosted on Kaggle - Hotel booking demand by Jesse Mostipak.


This dataset includes information about two different types of hotels (City and Resort) and whether the bookings were canceled. Each observation is a hotel booking and includes information such as arrival date, nights stated, number of adults/children staying, etc. For this project the topics that I studied are listed below:
- Deposits paid by the guests
- How and platform from which the bookings were made
- Guests that are cancelling most often
- Average daily rates
- Cancellation trends during a particular year
Cancelled/Non-Cancelled Bookings:
For this project, the first thing that I examined was the cancelled and non-cancelled bookings for the City Hotel and the Resort Hotel.

After analyzing the data, we can see that the cancelled vs non-cancelled bookings ratios are different for the different types of hotels. For the City Hotel, 58.28% of the bookings were non-cancelled vs 41.72% of the bookings that were cancelled, forming a majority. In contrast, for the Resort Hotel, 72.24% of the bookings were non-cancelled whereas 27.76% of the bookings were cancelled. Although, most of the bookings were not cancelled for both hotels; the point to note here is the difference in those numbers for both hotel types.

Booking Deposit Type
Next, I looked at total cancelled and non-cancelled bookings (both hotel types) and the numbers were split by different deposit types. In this dataset, we the bookings have three different deposit types which are:
- No Deposit: no deposit was made
- Refundable: a deposit was made in the value of the total stay cost
- Non-Refundable: a deposit was made with a value under the total cost of stay

When we look at the bookings that were not canceled per deposit type (majority of the total bookings) we see those bookings with no deposit taken, form the majority. There is a massive difference between no deposit bookings and the other types. Similarly, if we look at all the canceled bookings per deposit type, we can see that the bookings with no deposit collected for the majority, although the difference is not as pronounced in this case.

Hotel Distribution Type
For the next evaluation, I looked at canceled bookings and the average daily rate per hotel distribution type. The hotel distribution channel is defined as the platform on which the hotel booking is made. This dataset provides us with four different types of distribution types.
- TA/TO: Booking made via third-party platforms such as Orbitz, Expedia, etc.
- Direct booking: Booking is directly made through the hotel.
- Corporate: Booking made by a large company or group.
- GDS: no definition for this class is provided; bookings made through this channel are minimal.
First, when we look at the total canceled bookings, we can see that most of these bookings are coming from third-party booking platforms (TA/TO) for both hotel types.

For the canceled bookings there is also some difference between the average daily rates (ADR) for two different types of hotels. The rates were generally a bit higher for the direct booking channel than the third-party booking channel. For this evaluation, the bookings that had ADR above 400 were excluded.

The last thing in this evaluation section that I looked at was the distribution of rates for cancelled and non-cancelled bookings per distribution type only for just the City hotel. The reason City hotel was chosen was because its total bookings were higher than the Resort hotel. Generally, the distribution of the ADRs seems consistent regardless of the cancellation status, distribution type, or hotel type.


Repeat/Non-Repeat Guests
In this project I also evaluated total, and weekday/weeknight cancelled bookings between repeat and non-repeat guests for both hotel types. In this data, repeat guests are binary encoded as 1 and the non-repeat guests are encoded as 0.


The tree maps shown above show that, although most of the bookings for the city and the resort hotel are coming from the non-repeat guests the margin of repeat bookings vs non-repeat bookings is evident to be much narrower for the cancelled bookings.

I also researched in all of the canceled bookings; the bookings made for weekday/weekend nights. What we can ascertain from the graphs above is that for both repeat and non-repeat guests (and for both hotel types) weekday night bookings are higher than the weekend night bookings.
Monthly Cancelations and Average Daily Rate (ADR)
In the last evaluation conducted on this data, I narrowed down the data for one year. For all the 12 months of that year, I looked at average cancelations and ADR. I did this compilation for both the City and the Resort Hotel. In this blog, we will look at the analysis results for the City Hotel. The graphs show the cancellations and ADR for just the direct bookings versus bookings of all other distribution types.

For the City Hotel, if we look at the data for all distribution types other than Direct bookings; we will see that average cancelations and daily rates are higher during certain months than in others. It also looks like some of the months that have high average cancellations also have high ADRs. It is much harder to come up with a similar conclusion if we look at the data below which shows the data analysis results for the direct city hotel bookings only.

Conclusions
- The cancelled vs. non-cancelled bookings ratio for City Hotel was different than Resort Hotel. It can be established that the type of hotel can play a factor while determining reasons for cancellations.
- The majority of bookings for both hotels had no deposit collected (rather than partial or full). The same majority is demonstrated in cancelled bookings for both hotels as well.
- If we just look at non-cancelled bookings data, we can conclude that if people were to cancel more, the majority of the cancellations would be the ones with no deposit collected.
- It is possible that guests tend to cancel less after paying some deposit. Some sort of deposit collection (partial or full or credit card detail requirement) at booking may reduce overall cancellations.
- Third-party cancellations are higher than direct hotel bookings, although there is no significant difference in average daily rates.
- More direct hotel bookings (with offers/discounts) could lead to lower cancellations. The data does not point to an ideal daily rate to use.
- Non-repeat guests make most of the cancelled and non-cancelled bookings (especially weekday bookings).
- Conversion of non-repeat to repeat loyal customer base (staying during the week) could lead to lower cancellations.
- For non-direct bookings (majority of cancellations - City Hotel), months with higher cancellations generally had a higher average daily rate. The same cannot be proved conclusively for direct bookings.
Future work
As for future work, something that I would really like to work on this the app itself. With more data, I would love to make the app more dynamic and useful. I would like the app to show a rigorous analysis of all their bookings and make recommendations. Furthermore, I would like to research more into the effect of length of stays, advance purchase requirement, and overbooking on cancellations and incorporate this information in the app as well.
References:
- Booking.com for Partners. 2021. How to better understand, prevent, and reduce cancellations. [online] Available at: <https://partner.booking.com/en-us/help/guides/how-better-understand-prevent-and-reduce-cancellations> [Accessed 16 June 2022].
- Verot, B., 2021. 8 Tips to Reduce Last Minute Hotel Cancellations and No Shows. [online] Hotelminder.com. Available at: <https://www.hotelminder.com/8-tips-to-reduce-last-minute-hotel-cancellations-and-no-shows> [Accessed 16 June 2022].
- Antonio, N., de Almeida, A. and Nunes, L., 2019. Hotel booking demand datasets. Data in Brief, [online] 22, pp.41-49. Available at: <https://www.sciencedirect.com/science/article/pii/S2352340918315191> [Accessed 15 June 2022].
- Mostipak, J., 2020. Hotel booking demand. [online] Kaggle.com. Available at: <https://www.kaggle.com/datasets/jessemostipak/hotel-booking-demand> [Accessed 16 June 2022].