Forecast hotel room-nights 60 days ahead from a booking export
We forecast daily room-nights (by arrival date) for each of 2 hotels 60 days ahead from a public dataset. In testing on past data, the selected method (the AI forecasting model) was off by 29.6% of actual volume on average, 37% less error than repeating the same weekday last week.
The request
"Forecast daily room-nights booked (and cancellations) for each hotel for the next 60 days so we can set prices and decide how much to overbook."
The forecast
We expect about 21,476 room-nights (by arrival date) over the next 60 days across both series, about 358 per day on average.
How accurate was it?
We hid the most recent stretch of history, forecast it using only what came before, and compared with what really happened. We did that 5 times, each time 60 days ahead, for every method below. The typical error is the share of actual volume the forecast missed by, added up across all 2 hotels.
The selected method, an AI forecasting model that was not trained on this data, was off by 29.6% on average, against 46.8% for simply repeating the same weekday last week.
| Method | Kind | Typical error | Actual inside 80% range |
|---|---|---|---|
| AI forecasting model Selected | AI | 29.6% | 80% |
| Exponential smoothing | Classic | 30.4% | 89% |
| Theta method | Classic | 31.9% | 88% |
| Repeat the last value | Simple rule | 44% | 100% |
| Repeat last season | Simple rule | 46.8% | 94% |
What the engine noticed in the data
- 5 days with no rows were filled by interpolation, because room-nights (by arrival date) is otherwise never close to zero (more likely missing data than a closed business). If you were closed on those days, tell us and we will treat them as zero.
Technical details
- Data
- Hotel Booking Demand (Antonio, de Almeida & Nunes, Data in Brief 2019), Portugal. 2 hotels, daily, from 2015-07-01 to 2017-08-31.
- How we prepared the data
- Room-nights of non-canceled bookings, counted on the arrival date (a booking of 3 nights arriving Monday counts 3 on Monday). One series per hotel. Cancellations are a second target the request mentions; v1 runs one target per job.
- Testing
- 5 rolling tests, each 60 days ahead. Selection metric: WAPE (weighted absolute percentage error, the "typical error" above). Also reported: MASE 0.78 for the selected method.
- Methods
- Chronos-2 (AI foundation model), Exponential smoothing (ETS), Theta, Naive (last value), Seasonal naive.
- Reproduce
- The case folder, spec and outputs are in the 4castPlannr repository under
cases/hotel-booking-demand/.
Data source and license
Antonio, N., de Almeida, A., & Nunes, L. (2019). Hotel booking demand datasets. Data in Brief, 22, 41-49. https://doi.org/10.1016/j.dib.2018.11.126. CC BY 4.0.
License: CC BY 4.0. Source: original data. The forecasts and charts on this page are derived from that data and carry the same attribution.
Have a decision like this?
This case is an example of staffing plans for call centers and service businesses. Send us your own export and question, and we will run the same tests on your data.
Related case studies
-
Contact center staffing plan
San Francisco 311 public data: daily phone, web and app requests forecast six weeks ahead, and an agent shift plan replayed on the weeks that followed.
San Francisco, United States · 9.8% error · 27% better than repeating last season
-
Airport passengers by airline
San Francisco International Airport's public statistics: monthly passengers for the 10 largest airlines forecast a year ahead.
San Francisco, United States · 11.8% error · 38% better than repeating last season
-
Bike rentals with weather
Capital Bikeshare data from the UCI repository: hourly rentals forecast a week ahead, with and without weather as an extra input.
Washington, DC, United States · 28.6% error · 54% better than repeating last season