社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

酒店用机器学习,预测哪些客人会放鸽子

大数据文摘 • 3 年前 • 460 次点击  

大数据文摘授权转载在HyperAI超神经

作者:神经小兮


如今, 各大 OTA(Online Travel Agency)平台极大地方便了人们的出行,酒店住宿、景点门票等,只需要动动手指就可以轻松完成预订。


国内外酒店民宿预订平台,多达数十种


为了吸引更多用户预订,这些平台会鼓励商家设定较为宽松的取消预订政策,比如可随时免费取消,或限时免费取消等。


全球客房销售量最大的网上酒店预订网站 Booking(缤客网),就凭借可免费取消的优势,深受广大驴友喜爱。


不过,对于用户来说,「免费取消」非常 nice,但对酒店来说,就很头大了。订单临时被取消,通常会给酒店带来以下损失:


  1. 被取消房间无法及时出售,酒店损失收入;
  2. 酒店降低价格出售被取消房间,减少了利润
  3. 为了尽快订出这些房间,酒店需要增加额外的宣传、分销渠道的费用;

在用户可以随时放酒店鸽子的情况下,酒店有没有什么办法,尽可能减少损失呢?

一位葡萄牙业务分析师(Business Analyst,简称 BA,这一职位相当于 IT 公司的产品经理) Manuel Banza,有超过 5 年的酒店管理从业经验。他利用公开的欧洲酒店预订平台数据,发现了更容易取消订单的用户特点,以帮助酒店及时进行止损。

从近 12 万条酒店预订数据中,发现规律


作为一名数据科学爱好者,Manuel Banza 从数据科学和机器学习入手。

他首先对一个「酒店预订需求数据集」(Hotel booking demand)进行了全面分析。该数据集包含了普通酒店和度假酒店共 32 个维度的数据,具体包括:


用户国籍、预订时间、住宿时间、成人和儿童或婴儿的数量、订单最终是否取消、用户在此次订单之前共取消订单次数等信息。

Hotel Booking Demand酒店预订需求数据集
发布机构:葡萄牙里斯本大学
包含数量:共 119390 条数据,32 个维度
数据格式:csv
数据大小:16.9 MB(压缩文件 1.3 MB)
地址:
https://hyper.ai/datasets/14866


部分数据展示

通过统计,Manuel Banza 发现一年时间里,取消酒店订单的用户真不少。

2018 年 OTA 平台 Booking 上的预订订单中,有 49.8% 的用户取消了订单;在 HRS Group 上,这一比例甚至高达 66%。整体来看,多家平台在 2018 年平均预订订单取消率达到 39.6%。

各类预订渠道被取消的订单比例

接着,作者对数据进行了探索性分析,有以下几个发现:

  • 普通酒店和度假酒店相比,订单更容易被客人取消;
  • 春节和夏季的取消比例更大,而冬季的取消比例最低;
  • 各种预订渠道中,用户在 OTA 平台下单最多,同时 OTA 平台上被取消订单的也最多;
  • 用户预订时间越早,不确定性越大,取消的概率越大

作者表示,预订时间是分析酒店收益表现时,最重要的指标之一。分析结果表明,提前 1 年以上预订的取消概率最高,为 57.14%;一周内预订取消概率最低,为 7.73%。

预订提前的天数(横轴)与取消订单概率(纵轴)成正比。看来,计划越早越赶不上变化啊

机器学习模型:预测谁最可能「放鸽子」


对数据集进行全面分析后,作者开始建立预测订单取消的模型。

第一步:数据清洗

首先,对数据集中缺失的值进行处理。如果该变量是数字变量,则必须用该特征的均值替换这些缺失值;如果该变量是分类特征,则必须用常数替换。

然后删除 reservation_status(预订状态,该变量代表订单是否被取消,0 为未取消,1 为取消),因为这是机器学习模型将要预测的值。

第二步:选择最佳模型

在开始为数据测试最佳算法之前,将数据集按 8:2 的比例分开。之后将用 80% 的数据来训练模型,并将 20% 的数据作为验证集。

在数据科学领域,预测订单取消是一个监督分类问题,也叫做二元分类。因此,作者选取了几个现有的二分类模型如 LightGBM,CatBoost、XGBoost 及 H2O 等,进行训练及对比,最终选出了实验结果最佳的模型 CatBoost。

通过 CatBoost 预测结果,发现以下几点:

  1. 如果用户的国籍是葡萄牙,则取消订单的可能性很高。不过,对于团体订票来说,酒店一般不会事先得到每个人的国籍信息。如果订单被取消,大多数酒店都会将其国籍默认为酒店所在的国家。所以,这项信息只作为参考,并不一定准确;
  2. 与至少提出一个特殊要求的用户相比,未提出任何特殊要求的用户,取消订单的可能性更高;
  3. lead_time(预订时间与入驻时间间隔天数)值越低,预订被取消的可能性就越低(这一点预测结果与之前数据分析结果相一致)。

葡萄牙人气酒店欧洲之星博物馆,店内以考古展览为特色,上线多个 OTA 平台,支持在线预订及免费取消

CatBoost 模型在验证集上的表现:


在整个「酒店预订需求」数据集上的表现:


店:在取消之前,我先抢救一波


使用这一预测模型,酒店就可以提前获知哪些用户可能取消订单,及时采取补救措施。

比如,提前联系取消可能性较大的用户,通过沟通,让他们尽可能更早地取消,给酒店预留更多的时间出售房间。

或者,也可以与有取消倾向的用户联系,向其介绍酒店的优点,给出一些入住奖励,力挽狂澜挽留他们。

机器学习,帮酒店先下手为强

新闻来源:

https://www.linkedin.com/pulse/u-hotel-booking-cancellations-using-machine-learning-manuel-banza



点「在看」的人都变好看了哦!
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110718
 
460 次点击