Данные о гостиничных бронированиях содержат сведения о стоимости заказа, длительности проживания, количестве гостей, сроке между созданием бронирования и датой заезда, источнике поступления, способе оплаты и категории номера. Эти признаки отражают разные стороны поведения клиента и позволяют анализировать структуру спроса. Для выявления групп похожих бронирований целесообразно применять методы кластеризации, поскольку они не требуют заранее заданных меток классов [2].
Одним из распространенных алгоритмов кластерного анализа является K-means. Метод получил широкое применение благодаря простой постановке, сравнительно низкой вычислительной сложности и понятной интерпретации результата через центроиды кластеров. В классическом виде алгоритм минимизирует внутрикластерную сумму квадратов расстояний между объектами и центрами соответствующих кластеров [5; 6]. Целевая функция может быть записана следующим образом:
J = ∑ᵏ₌₁ᴷ ∑ⁿ₌₁ᴺ rₙₖ ||xₙ - μₖ||²,
где xₙ - объект выборки, μₖ - центроид k-го кластера, rₙₖ - индикатор принадлежности объекта кластеру. Алгоритм попеременно относит объекты к ближайшим центроидам и пересчитывает их положение до стабилизации разбиения.
При работе с гостиничными данными основная сложность связана с неоднородностью признаков. Стоимость бронирования измеряется в рублях, длительность проживания - в ночах, срок бронирования до заезда - в днях, а количество гостей выражается небольшими целыми значениями. Без масштабирования евклидово расстояние будет определяться прежде всего денежными показателями. В результате кластеризация может свестись к группировке по стоимости, тогда как временные и поведенческие характеристики окажутся менее значимыми.
По этой причине перед применением K-means необходимо выполнять нормализацию или стандартизацию числовых признаков. Выбор способа масштабирования зависит от распределений и наличия выбросов. Для гостиничных бронирований выбросы не всегда являются ошибками: к ним могут относиться длительные заезды, групповые заказы или бронирования с высокой стоимостью. Однако такие наблюдения способны смещать центроиды, поэтому их влияние следует оценивать до обучения модели [3].
Отдельного внимания требуют категориальные признаки. Источник бронирования, способ оплаты, тариф и категория номера не могут напрямую использоваться в алгоритме, основанном на евклидовом расстоянии. Для них применяют one-hot encoding. Если одно бронирование включает несколько категорий номеров, более корректным является multi-hot encoding. Такой подход сохраняет структуру заказа, но увеличивает размерность признакового пространства, что также влияет на расчет расстояний [1, с. 134-146].
Для задачи анализа бронирований K-means следует рассматривать не как средство автоматического объяснения причин отмен, а как инструмент сегментации. Кластеры могут отражать краткосрочные заезды, ранние бронирования, заказы с высокой стоимостью, групповые бронирования или сегменты, связанные с отдельными каналами продаж. Факт отмены при этом целесообразно использовать не как входной признак, а как показатель для последующей оценки выделенных сегментов. Это снижает риск утечки целевой переменной и позволяет анализировать долю отмен внутри групп.
Таблица 1.Методические особенности применения K-means к данным бронирований
Особенность данных | Проблема для K-means | Методическое решение |
Разные масштабы признаков | Доминирование стоимости в расстоянии | Масштабирование числовых переменных |
Категориальные признаки | Невозможность прямого расчета расстояний | One-hot и multi-hot кодирование |
Редкие дорогие заказы | Смещение центроидов | Анализ выбросов и проверка устойчивости |
Необходимость выбора K | Зависимость результата от числа кластеров | Метод локтя, силуэт и бизнес-интерпретация |
Факт отмены | Риск утечки целевого признака | Использование отмены после кластеризации |
Выбор числа кластеров является ключевым этапом. Формальные методы, включая метод локтя и силуэтный коэффициент, помогают оценить качество разбиения [7]. Однако для прикладной задачи этого недостаточно. Кластер должен быть интерпретируемым с точки зрения гостиничного бизнеса. Если группа объектов отличается только редким техническим признаком, ее практическая ценность ограничена.
После обучения модели каждый кластер следует описывать через предметные показатели: среднюю и медианную стоимость, длительность проживания, глубину бронирования, долю групповых заказов, структуру источников и долю отмен. Для числовых признаков центроид отражает усредненный профиль сегмента. Для бинарных признаков после one-hot кодирования значение центроида показывает долю объектов соответствующей категории внутри кластера. Такая интерпретация удобна, но не должна заменять содержательный анализ.
K-means может использоваться совместно с классификационными моделями. Классификация оценивает риск отмены отдельного бронирования, а кластеризация показывает, к какому типу заказов оно относится. Совмещение этих результатов позволяет выделять сегменты с высокой экономической значимостью и повышенной долей отмен. Такой подход согласуется с исследованиями, где прогнозирование гостиничных отмен рассматривается с учетом дисбаланса классов и различной значимости ошибок [4].
Ограничения метода также необходимо учитывать. K-means предполагает компактные кластеры и чувствителен к начальной инициализации центроидов. Для снижения этого риска может применяться стратегия k-means++, улучшающая выбор начальных центров [5]. При сложной форме групп или неодинаковой плотности объектов результаты K-means следует сопоставлять с альтернативными методами, например DBSCAN или агломеративной кластеризацией [2].
Применение K-means к данным гостиничных бронирований оправдано при корректной подготовке признаков и последующей проверке результатов. Метод позволяет получить компактную сегментацию, пригодную для аналитических отчетов и поддержки управленческих решений. Наиболее значимыми условиями его использования являются очистка данных, масштабирование, контроль выбросов, обоснованный выбор числа кластеров и интерпретация сегментов через бизнес-показатели.
Список литературы
- 1. Грас, Дж. Data Science. Наука о данных с нуля: пер. с англ. / Дж. Грас. - 2-е изд., перераб. и доп. - Санкт-Петербург: БХВ-Петербург, 2021. - 416 с.
- 2. Жилов, Р. А. Интеллектуальные методы кластеризации данных / Р. А. Жилов // Известия Кабардино-Балкарского научного центра РАН. - 2023. - № 6 (116). - URL: https://cyberleninka.ru/article/n/intellektualnye-metody-klasterizatsii-dannyh (дата обращения: 15.06.2026).
- 3. Макаров, А. В. Обзор методов очистки данных для машинного обучения / А. В. Макаров, Д. Е. Намиот // International Journal of Open Information Technologies. - 2023. - Т. 11, № 10. - С. 70-78.
- 4. Adil, M. Solving the Problem of Class Imbalance in the Prediction of Hotel Cancelations: A Hybridized Machine Learning Approach / M. Adil, M. F. Ansari, A. Alahmadi, J.-Z. Wu, R. K. Chakrabortty // Processes. - 2021. - Vol. 9, No. 10. - Article 1713.
- 5. Arthur, D. k-means++: The Advantages of Careful Seeding / D. Arthur, S. Vassilvitskii // Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms. - 2007. - P. 1027-1035.
- 6. Lloyd, S. Least squares quantization in PCM / S. Lloyd // IEEE Transactions on Information Theory. - 1982. - Vol. 28, No. 2. - P. 129-137.
- 7. Rousseeuw, P. J. Silhouettes: A graphical aid to the interpretation and validation of cluster analysis / P. J. Rousseeuw // Journal of Computational and Applied Mathematics. - 1987. - Vol. 20. - P. 53-65.


