Разработка AI-системы прогнозирования загрузки отеля
Прогноз загрузки (occupancy forecast) — основа операционного планирования отеля: сколько персонала нужно на смену, сколько завтраков готовить, когда проводить технические работы в номерах. Ошибка в прогнозе конвертируется в переполненный ресторан или простаивающий персонал.
Компоненты прогноза загрузки
On-the-books (OTB) база: Текущий portfólio бронирований — отправная точка. На дату за 30 дней OTB может предсказать финальный occupancy с точностью 70-80% только на основе существующих броней.
Pickup прогноз: Сколько ещё броней поступит от текущего момента до даты заезда. Паттерн pickup специфичен для каждого отеля и сегмента.
def pickup_forecast(arrival_date, current_reservations, pickup_curves):
"""
Для каждого сегмента: исторический pickup к данному дню до arrival
Пример: business-сегмент бронирует в среднем за 7 дней, leisure за 30
"""
days_until_arrival = (arrival_date - today).days
expected_pickup = {}
for segment, curve in pickup_curves.items():
expected_pickup[segment] = curve.predict(days_until_arrival, current_reservations[segment])
return sum(expected_pickup.values())
Cancellation correction: Не все брони реализуются:
- Cancellation rate зависит от: lead time (длинное = выше cancel), типа тарифа (non-refundable = 0%), ОТА vs. direct
- No-show rate: дополнительно к отменам, 2-5% для большинства отелей
Feature Engineering
occupancy_features = {
# OTB сигналы
'rooms_on_books': current_reservations,
'otb_vs_last_year_same_date': otb / last_year_otb,
'pace_index': otb_growth_rate,
'cancellation_exposure': high_cancel_rate_bookings,
# Исторические паттерны
'occupancy_same_date_last_year': historical_occupancy,
'occupancy_avg_dow_last_4w': avg_occupancy_day_of_week,
# События в городе
'convention_center_events': events_score,
'sports_events': sports_score,
'concerts': concert_score,
'graduation_season': graduation_flag,
# Сезонность
'month': month,
'week_number': week_of_year,
'is_holiday': holiday_flag,
'school_holidays': school_holiday,
# Рыночные условия
'competitor_sold_out': compset_availability_index,
'market_demand_index': str_market_demand # STR Global данные
}
Модели по горизонту
Short-term (1-14 дней): OTB + pickup model дают высокую точность. LightGBM с OTB-фичами. MAPE < 5%.
Medium-term (14-60 дней): OTB менее информативен. Больше вес исторических паттернов и событий. MAPE 8-12%.
Long-term (60-365 дней): Стратегическое планирование. Сезонная декомпозиция + event calendar + macro trends. MAPE 15-25%.
Сегментированный прогноз
Общий occupancy — недостаточно. Нужен разрез по:
Сегменты гостей:
- Transient leisure (FIT): наивысшая цена, чувствителен к ценообразованию
- Corporate: фиксированные ставки, предсказуемый паттерн
- Groups & Meetings: бронируется сильно заранее, высокий объём
- OTA vs. Direct: разная комиссия и тип клиента
Тип номера:
- Стандарт / Делюкс / Сьют: разная цена, разная эластичность спроса
- Single vs. Double: паттерны загрузки различаются
Сегментированный прогноз → сегментированная политика ценообразования.
Операционное планирование
Staffing:
Housekeeping: occupied_rooms × checkout_stayover_mix × min_per_room / 60
F&B: expected_guests × meal_plan_pct × meals_per_time_slot
Front Desk: check-ins_per_hour / optimal_agent_load
Procurement: Прогноз завтраков → закупка продуктов за 2-3 дня. Amenities (мыло, полотенца) → заказ еженедельно по прогнозу.
Maintenance scheduling: При прогнозируемой низкой загрузке → технические работы в номерах без потери revenue.
Интеграция с OTA и PMS
STR (Smith Travel Research) данные: Рыночный benchmark: occupancy конкурентного сета. MPI (Market Penetration Index) = hotel_occ / market_occ.
Автообновление прогнозов:
- Каждые 4 часа: импорт новых броней из PMS
- Пересчёт pickup forecast
- Обновление дашборда revenue management
Экспорт для операций:
- Ежедневный report: завтрашняя загрузка по сегментам и типам номеров
- Недельный report: 7-дневный прогноз для планирования смен
- Ежемесячный report: стратегический месячный план для CFO
Метрики точности:
- D-1 forecast MAPE: < 5% (день до заезда)
- D-7 forecast MAPE: < 8%
- D-30 forecast MAPE: < 12%
Сроки: базовый occupancy forecast с LightGBM + OTB фичами — 4-5 недель. Сегментированная система с событийным календарём и операционным планированием — 3-4 месяца.







