酒店用机器学习,预测哪些客人会放鸽子
如今, 各大 OTA(Online Travel Agency)平台极大地方便了人们的出行,酒店住宿、景点门票等,只需要动动手指就可以轻松完成预订。
国内外酒店民宿预订平台,多达数十种
为了吸引更多用户预订,这些平台会鼓励商家设定较为宽松的取消预订政策,比如可随时免费取消,或限时免费取消等。
全球客房销售量最大的网上酒店预订网站 Booking(缤客网),就凭借可免费取消的优势,深受广大驴友喜爱。
不过,对于用户来说,「免费取消」非常 nice,但对酒店来说,就很头大了。订单临时被取消,通常会给酒店带来以下损失:
被取消房间无法及时出售,酒店损失收入; 酒店降低价格出售被取消房间,减少了利润 为了尽快订出这些房间,酒店需要增加额外的宣传、分销渠道的费用;
在用户可以随时放酒店鸽子的情况下,酒店有没有什么办法,尽可能减少损失呢?
一位葡萄牙业务分析师(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 预测结果,发现以下几点:
如果用户的国籍是葡萄牙,则取消订单的可能性很高。不过,对于团体订票来说,酒店一般不会事先得到每个人的国籍信息。如果订单被取消,大多数酒店都会将其国籍默认为酒店所在的国家。所以,这项信息只作为参考,并不一定准确; 与至少提出一个特殊要求的用户相比,未提出任何特殊要求的用户,取消订单的可能性更高; lead_time(预订时间与入驻时间间隔天数)值越低,预订被取消的可能性就越低(这一点预测结果与之前数据分析结果相一致)。
CatBoost 模型在验证集上的表现:
在整个「酒店预订需求」数据集上的表现:
酒店:在取消之前,让我先抢救一波
使用这一预测模型,酒店就可以提前获知哪些用户可能取消订单,及时采取补救措施。
比如,提前联系取消可能性较大的用户,通过沟通,让他们尽可能更早地取消,给酒店预留更多的时间出售房间。
或者,也可以与有取消倾向的用户联系,向其介绍酒店的优点,给出一些入住奖励,力挽狂澜挽留他们。