# Forecasting demand across seasons and shocks
On a busy holiday travel day, an airline gate agent faces a full flight, a standby line out the door, and a system that sold more seats than the aircraft holds. Angry passengers. Missed connections. Viral videos. That scene is not bad luck. It is a forecasting failure.
Airlines and hotels deliberately overbook because some travelers cancel or no-show. The bet only works if the forecast of no-shows is accurate. When the model expects 8% no-shows and the real number is 2%, you have a planeload of bumped customers and a public relations mess.
This lesson is about making that bet smarter. Modern AI forecasting blends historical patterns, weather, search trends, and macro signals to predict occupancy and staffing weeks ahead, across both predictable seasons and sudden shocks.
The old way was a spreadsheet: look at last year's same week, adjust up or down by a gut feeling. This fails for three reasons.
Seasonality is layered. A beach resort has yearly seasons (summer peak), weekly cycles (weekend spikes), and event bumps (a nearby festival). These overlap. A single average smears them together.
Shocks are invisible to history. A hurricane, a strike, a viral destination on social media, or a currency swing does not appear in last year's numbers. Historical averages assume the future looks like the past.
Lead time varies. Business travelers book days ahead. Holiday travelers book months ahead. A forecast that ignores *when* bookings arrive misreads the final number.
AI helps because it can learn many overlapping patterns at once and combine them with live external signals.
Think of a demand forecast as a recipe with several ingredients.
The booking curve (also called the pickup curve) shows how reservations accumulate over time before a given date. If a hotel is usually 40% booked 30 days out and today it sits at 25%, the model flags soft demand early enough to act.
Weather drives leisure travel hard. A forecast heatwave lifts coastal bookings; an early snowfall lifts ski resorts. Free data from national meteorological services and aggregators like OpenWeather can feed a model directly.
Search interest is a leading indicator. When queries for a destination rise, bookings often follow weeks later. Google Trends offers a free, public view of relative search interest by region and time.
Exchange rates, fuel prices, consumer confidence, and holiday calendars all shift demand. A weaker local currency pulls in foreign visitors and pushes out domestic ones. Public holidays in a key source market (say, Golden Week in Japan or Eid across the Gulf) create predictable surges.
Concerts, conferences, and sports fixtures create sharp local spikes. Competitor rates matter too: if the hotel next door drops its price, your pickup slows.
You do not need to build this yourself, but understanding the mechanics helps you buy and question these tools.
A common approach is a gradient-boosted tree model or a time-series neural network that takes all the signals as inputs and outputs predicted demand for each future date. The model learns, from thousands of past examples, how much each signal matters and how they interact.
Here is a simplified sketch of the feature table that feeds such a model. Each row is one future date at one property.
# Each row = one forecast date for one hotel
features = {
"days_before_arrival": 30,
"day_of_week": "Saturday",
"month": 7,
"bookings_so_far": 82, # rooms already sold
"same_date_last_year": 140, # final rooms sold last year
"search_index": 118, # web interest vs baseline of 100
"forecast_temp_c": 31,
"local_event_flag": 1, # festival in town
"fx_rate_change_pct": -4.2, # local currency weaker
"competitor_avg_rate": 210
}
# Model predicts: expected final occupancy + a confidence rangeTwo things matter more than the algorithm.
Confidence ranges, not single numbers. A good forecast says "expected 88% occupancy, likely between 80% and 94%." The range tells you how much to trust the bet. Wide ranges mean caution on overbooking.
Continuous re-forecasting. The model reruns daily as new bookings and new weather forecasts arrive. A prediction made 60 days out is refined every day until arrival.
Seasons are the easy part. Shocks are where money is won or lost.
Sudden demand drops. A safety scare, a natural disaster, or a travel advisory can crater bookings in days. AI systems watch for anomalies: a booking pace that falls far below its predicted range triggers an alert. That early signal lets revenue teams cut rates or shift marketing before rooms go empty.
Sudden demand spikes. A destination goes viral, or a rival airport shuts down and traffic reroutes to yours. The model may not have seen this exact event, so humans override. This is the key point: AI handles the routine, humans handle the truly novel.
The COVID-19 pandemic (2020 onward) is the clearest lesson. Models trained only on pre-pandemic data were useless overnight. The rebuild taught the industry to include external shock signals and to widen confidence ranges during uncertainty, rather than trusting a false-precise number.
A forecast is worthless unless it changes an action. Here is where the numbers land.
If the model predicts a Saturday occupancy spike, housekeeping, front desk, and food service schedules adjust weeks ahead. Under-staffing means slow check-ins and bad reviews. Over-staffing burns payroll. Restaurants use the same logic to schedule kitchen crews around predicted covers (meals served).
This connects back to our gate agent. The overbooking limit should be set by the *predicted no-show rate and its uncertainty*, not a fixed rule. On routes where no-shows are stable and predictable, you can overbook aggressively. On volatile routes, you hold back. Getting this wrong produces the holiday disaster in our opening scene.
Soft demand 45 days out triggers a promotion. Strong demand triggers rate increases and holding back discount inventory. The forecast decides where marketing dollars go.
Vérification des acquis
1. Why does overbooking depend so heavily on forecast accuracy rather than being a simple revenue trick?
2. A resort sees a yearly summer peak, higher bookings every weekend, and a spike during a nearby festival. Why does averaging last year's same week fail to capture this?
3. Why are AI forecasting models better positioned than historical averages to handle a sudden viral surge in a destination's popularity?
4. Select ALL correct answers about why simple spreadsheet forecasting breaks down.
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers about the role of the booking (pickup) curve in demand forecasting.
Sélectionnez toutes les réponses correctes.
AI forecasting is powerful, but treat these tools with informed skepticism.
Garbage in, garbage out. If your booking data is messy (cancellations logged late, group bookings coded wrong), the model learns noise. Data qualityData qualityThe degree to which data is fit for purpose: accurate, complete, consistent, timely, valid and unique. Poor quality data undermines analytics, reporting and AI.Voir la définition complète → is the unglamorous foundation.
Feedback loops. If you cut prices because the model predicts weak demand, and demand then picks up because of the low price, the model may misread its own effect. Good systems account for the actions taken.
Over-trusting precision. A number like "87.3% occupancy" feels authoritative. During a shock it can be nonsense. Always ask for the confidence range and the assumptions.
Novel events. No model predicts a genuinely unprecedented event well. Keep humans in the loop for overrides, and keep a plan for when the model is clearly wrong.
If you are buying a forecasting tool, ask these questions.
A vendor who only shows you a single clean number for a stable season is hiding the hard part.