Forecast hotel room-nights 60 days ahead from a booking export

Case study on a public dataset from Portugal · Updated

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 request, written the way a business owner would ask it.

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.

Line chart of daily room-nights (by arrival date): the actual history, the forecast for the next 60 days with its 80% range.
The forecast for the next 60 days, with the range it expects 8 times out of 10.
Small line charts of the largest series in the data with their forecasts and 80% ranges.
The largest series, each with its own forecast.

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.

Typical error in testing, lower is better
MethodKindTypical errorActual inside 80% range
AI forecasting model SelectedAI29.6%80%
Exponential smoothingClassic30.4%89%
Theta methodClassic31.9%88%
Repeat the last valueSimple rule44%100%
Repeat last seasonSimple rule46.8%94%
Line chart comparing past forecasts with actual room-nights (by arrival date) over 5 test runs of 60 days each, made using only the data available at the time.
Back-testing: 5 times we hid the next 60 days, forecast them, and compared with what happened.
Bar chart of the typical error of each forecasting method in testing. The selected method had 29.6% error; repeating the same weekday last week had 46.8%.
Typical error of each method in testing, as a share of actual volume. Lower is better.

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