想要愉快入住酒店?缺了它还真不行!(含PPT)

编者注:别想歪了!咱们说的是“机器学习”~算法

在携程技术中心推出的线上公开课程[携程技术微分享]上,来自携程酒店研发的BI经理潘鹏举,介绍了如何借助大数据和算法,经过机器学习去克服酒店服务行业挑战,给用户带来更好的预订体验,但愿能对你有所启发。如下为全文实录。微信

PS:关注携程技术中心微信号(ctriptech),回复“微分享”,可得到[携程技术微分享]最新课程信息。架构

 

你们好,我叫潘鹏举,人称PPJ,来自携程酒店研发BI。上图是个人自我介绍,简单作了一下标签,作了词云可视化。机器学习

不知道各位有谁不知道携程,我简单介绍一下,携程是一个在线OTA服务公司,提供酒店预订、民宿、短租、机票预订、度假预订、汽车预订、租车、邮轮、轮船预订,火车票预订、商旅管理、签证、会场预订、全球购等业务,简单的说就是个旅游中介,主要是想玩转整个旅游生态圈,从我罗列的结果上看,各类旅游相关产品都有。工具

公司介绍完了,言归正传,如下是我今天要分享的主题:机器学习如何创造价值,目录结构以下:性能

首先简单介绍一下OTA酒店行业有哪些咱们关心的KPI及其面对的挑战,让你们有个简单概念;学习

接着重点介绍一下算法在酒店行业是怎么用的,看一下咱们的经验对各位有没有启发,也想借此机会和你们交流一下怎么才能让算法创造出更大的价值;字体

最后分别简单介绍一下使用算法的经验和算法的上线架构等;大数据

1、OTA酒店行业优化

1、OTA酒店行业和其余行业的区别和挑战

首先咱们先说第一块,OTA酒店行业;

 

我截取了某一个酒店的详情页,即咱们的产品。在上面我也罗列出了OTA酒店行业和其余行业的最主要的区别。

首先最大的区分就是:咱们的房型是限时限购的,从图上能够看到,咱们只能5.11号入住,过期不候。另外每一个酒店的房间数量是相对固定的,因此若是酒店超卖的话,那么就很差意思,酒店没有办法一天内加盖房型,只能协调客人到其余酒店去入住了。

而后是第二部分,代理(供应商)房型,这部分就是二房东,它从酒店拿到库存,而后放到携程售卖。,这样有个什么问题呢?我没办法从酒店打听到任何库存信息、订单信息,因此咱们在管理代理方面就很谨慎,由于很差的代理会拉低携程的服务水平,若是订单出了问题,只能找二房东去协调,速度慢不说,还有可能解决不了问题。

第三部分,自营:指的是携程和酒店直接谈合做的房型,这些房型中有保留房、直连、直签,自营的房型是靠谱的房型,咱们直接跟酒店要库存,知道房价、房态信息,出了问题也能够跟酒店直接协商,自营房源是咱们服务标杆,各项服务指标都很好。

说完了行业区别,咱们看看咱们面对哪些挑战;

 

由于咱们的商业模式,因此第一点挑战对咱们影响很大,咱们很依赖酒店行为;有些酒店虽然在咱们这里售卖,可是比较无赖,会出现不付佣金、前台切客等行为,形成业务损失,固然咱们对各类行为有相应的识别方法和会有相应的惩罚措施,另外酒店服务水平良莠不齐,管理起来比较困难。

第二点提一下,有些低星酒店很落后,咱们跟它联系只能用小灵通,致使咱们管理一些酒店比较困难。其余的挑战都比较好理解,简单的说就是低频、长尾、季节性。

2、酒店OTA的服务KPI

说完了挑战,咱们看看咱们有哪些关心的服务KPI。

 

服务KPI就是好、快、准。

稍微解释一些KPI,到店无房指的是酒店发给了客人入住凭证,可是由于超卖致使客人没法入住,这种状况主要是酒店的违约行为,正常状况下携程会帮忙协调入住其余酒店并赔偿相应的损失,在旺季的时候会有所升高。而后是到店无预约率,跟到店无房的区别是:客人到了酒店,酒店说没有相应的订单信息,出现这个问题主要是携程和酒店传真客人入住信息的过程当中有问题,出现这种状况携程会当即帮忙解决客人的入住问题。

目前来讲,基于咱们强大的客服力量和优质的6sigma管理体系,这两个指标都控制在极低的水准上。剩下的指标就不一一解释了。

咱们如今面对的一个挑战是,业务量持续的增加,咱们没办法持续性的增长客服人员来维持一个高标准的服务水准,所以须要借助于算法来实现智能化、自动化。

说完了KPI,我再接着介绍一下咱们是如何评估项目收益的。

3、项目收益评估

这里重点说一下客户价值,这个是我以为值得说的地方,其余的收益和成本类,你们都拎得清。

客户价值实际上传达的是一个间接收益的概念,咱们会量化出每一个客人的等待成本,每一个环节的时间成本,每一个事件的客人损失成本,把全部的这些成本量化成对应的金额,因此咱们在每一个事件产生了以后,不只能够计算出直接损失还能计算出间接损失。

我举了一个例子:好比一个客人出现了到店无房,除了要直接赔款损失外,咱们还要额外计算间接损失,那么咱们在作到店无房项目的时候,若是间接收益+直接收益超过了成本,那么咱们就值得投入人力去作优化。

对于有些公司来讲,单纯提高客人感觉认为价值不大,可是咱们把客人感觉货币化了,那么这个价值就提升了。

行业背景就告一段落,我接着说重点,算法应用实践。

2、算法应用实践

在正式说应用实践以前,咱们先简要看看携程的数据量。2亿PV,10TB/日,数量仍是蛮大的。咱们用到的数据大致分红四块:业务数据、网站性能数据、用户行为数据和爬虫数据,其中咱们的应用实践主要会用到业务数据和用户行为数据。

1、关于数据的一些概念和观点

接着说说数据在哪块会产生比较大的价值。

 

我按照数据的冷热区分了一下数据价值,通常性数据时效性越高,数据价值越大。我划分了一下,若是只用冷数据,那么能够挖到银矿,用好了热数据,你就挖到了金矿,若是你都直接预测了将来,那么你就挖到了钻石。最下面我列了一个公式,将来的人工智能就是基于过去和当前的状态来预测将来,这样的一个组合是将来应用的一个趋势。按照冷热的分类,咱们看看数据是怎么应用的。

从这个ppt能够看到,越冷的数据,越不能影响到线上的实时业务,起的做用也越小。如何利用好当前的数据,对于应用,效果会更好。看最下面的备注,特地说一下,这样区分确实不严谨,可是从实践的角度看,越是过去的东西对将来的指导意义是越差的。接着我说说咱们在实际应用中的一些观点和想法;

这里面主要是说一下分析和模型之间的差异,对公司来讲,不一样阶段,重点会不一样,对模型的态度也不一样,咱们也花了很长的时间慢慢积累,才会有一个又一个的应用。

右边的图主要是从数据应用的层面上说的,里面没有提到DW层,可是DW层是地基,没有一个好的地基是没有办法说数据应用的。可是从价值上看,越往上,数据价值越大。

最后提一下,咱们可能会有一个误区,我要追求100%准确的数据,实际上,咱们的数据很难100%准确,特别是像用户行为数据,任何一种采集方式都会有PV漏记、错记的状况。咱们要能容忍必定的数据采集误差,在现有的数据中看一下怎么利用数据创造价值。反过来讲,若是数据一直都存在这个误差,那么对你将来的应用影响就小,数据已经适应了你的误差。说了模型这么多好话,咱们看看一个算法应用的完整闭环是怎么样的。

这里提一下标红色部分,人工和风控。在算法应用到线上的过程当中,人工经验、人工过滤以及风控会起到很关键的做用。若是没有作到这点,那么在实际应用中会大打折扣。

就像我左下角写的那样,人是商业的CPU,决策过程当中要依赖人来调整方向。而风控是决定应用快慢的GPU,若是没有作好风控措施,不只可能会致使业务损失也有可能让算法没有发挥出做用,后面的实例中我会提到一些。

2、模型评估

说了一些概念后,我先说说咱们怎么评估模型,而后就讲讲咱们的实践实例。

这里列出了三种经常使用的模型评估方法,第一种A/BTest,用的最多,几乎全部的项目若是没有ABTest是不能拿出来说的。第二种是为了替代A/BTest想到的简单办法,针对有些状况下面很难作AB实验。最后一种状况是咱们评估+风控的方式,先上线模型,可是业务不采纳模型结果,而后咱们用log来解析模型是否运转正确,效果好很差。

说完了评估,咱们说说酒店服务用到了哪些模型;

按照预约流程,区分了预订前、中、后流程,主要目的是为了提高客户体验和提升服务效率。预订前的主要目的是为了让信息更加准确、预订中主要是为了提高预订效率和速度,预订后就是为了订单风控、酒店风控和客人风控。左下还罗列了一些常见的算法应用,排序、推荐和画像,这里就不细说了。这边说了一个总体的应用的架构,接下来我举一些具体的例子。首先看第一个;

3、具体案例

订单量预测的做用,咱们一个应用是用来作业务监控,作到了准实时,延迟一分钟预测。右边写了应用的大体流程,跟我以前写的算法应用闭环是同步的,从预测到应用,接下来咱们看看用了什么算法。

其实就是简单的ARIMA+季节系数+一些人工调整,把模型作了出来,没有用很复杂的算法。最后的效果是平均偏差~5%。评估指标我也列了一下,主要是看漏报率,不一样阶段重点不一样,在稳按期间,咱们比较关心误报率,由于系统稳定了,咱们就要尽可能减小人力损失。关于预测偏差,我这里也提到,预测老是有偏差的,不可能100%,咱们能够根据咱们的预测的精准度来进行一些规则的设定,看最下面的规则,这个规则让你有些弹性空间来防止预测错误致使的误报。

在时效性上,咱们之前是吃过亏的,最老的版本咱们上线过T+1预测,就是预测昨天的结果,看昨天是否异常,咱们发现这个对业务一点帮助也没有,你的业务损失已经产生了,再去看异常没有特别大的做用,后面咱们就慢慢的提升了时效性并作了可视化,目前这块的监控效果和可视化都很好,也监控了各关键KPI的异常状况。

第一个例子说完了,接着看第二个例子。

可能有人以为,怎么会有怎么长的确认时长,我在右边的解释了一下,而且罗列了相应的挑战,针对这些挑战,咱们是怎么作的呢,继续接着看。

咱们看一下旧流程和新流程的差异,最大的差异就是咱们在新流程中植入了一个预测模型,根据模型的预测结果来调整业务流程。这样作的好处就是,之前回复慢的订单要白白等待X分钟,经过模型预测以后,咱们就调整了顺序,把原来确认慢的订单提前确认了,能够提升确认速度。

这个应用点是个很好的一个案例,它让咱们来思考那些流程有一样的问题,促进咱们进行相应的优化。这个模型准确率为93%,召回率53%,取得了一个不错的效果。这是第二个案例,接着看第三个案例。

询房模型,罗列了一下碰到的问题和须要解决的问题。针对这么庞大的房态数据,若是用人肉的办法确定是没办法作的很好的。针对这些问题和困难,咱们也花了很长的时间来去解决这个问题,最后的解决方案请接着看PPT。

咱们的解决方案见右边的流程图,核心是两个模型和IVR自动化工具。

我稍微简单的描述一下,简单的说,针对关掉的房型,咱们会用自动开房模型预测出当前状态下每一个房型的可定的几率score,咱们统计出score的准确率,在可接受的准确率下,把高于这个分数的房型所有自动打开,而后让客人在网站上能够进行预订。针对那些不能自动打开的房型,咱们会把这些房型放在询房看板上去。

另一边,针对如今可订的房型,咱们去预测房型无房的几率,而后把这些数据放在询房看板上。

这样咱们的询房看板上就有两部分的得分结果,开房分数和关满房分数,针对这些房型,咱们有个IVR自动外呼工具把几率高的房型优先外呼到酒店,若是酒店告知房态有变化,咱们会作对应的房态变动。

经过这一整套流程,咱们彻底实现的开房和关房的自动化,针对高准确率的房型,系统自动操做。对准确率不高的房型,咱们采用酒店介入(即人工介入)的方式来平摊风险,把损失降到最低。

因此决策过程当中,会有不少人工的接入,而后针对风险的高低,咱们会有不一样的风控和措施,这样的结合才能让算法的做用最大化。这个案例针对那些数据量大,花费人力多,重复性工做多的事情具备很大的启发意义。

案例三说完了,接着说第四个案例吧。

用户价格偏好,是用户画像的一个很小的子集。为何会单独拎出来讲,我等会讲。

咱们先看看咱们碰到了什么问题,一个用户根据不一样场景,价格是一直在波动的,我提供了一个例子,某个客人在历史上的消费价格。咱们后面用了一个算法来进行预测,没有用简单的规则来刻画用户价格偏好,花这么多力气作这个预测是由于猜中了客人的价格偏好,对产品和推荐都颇有帮助。

看一下咱们是怎么作的,图里面罗列了相应的思考维度,用了xgboost来进行预测。咱们考虑了不少的实时场景,包括了客人的入住天距离节假日的天数,区域、星级紧张度等,这都是为了刻画客人在当前状态中会变成什么样。

最后这个模型的效果还能够,77%的用户预测价格和实际价格误差在50元之内。模型说完了,看看这个应用给咱们的启示。

这上面说了一件事情,画像不是一成不变的,一直在变,要场景化。因此若是只是为了画像而画像的话,意义不大,咱们会根据应用场景的不一样进行调整。

3、算法经验分享

以上就是第二部分,算法的应用实践分享,接着我分享一下在算法方面的经验。

 

这个是咱们实验下来比较好的模型项目流程,给你们参考一下,其中标黄色字体是咱们比较关心的,数据校验是为了让模型产生效果,由于俗话说的好:垃圾进,垃圾出。接着说一下Feature Engineering的事情;

这个没有特别好说的,跟其余人的作法雷同。

提一下缺失值预测。若是咱们以为某些变量对业务帮助很大,可是有必定量的缺失值,那么咱们就会用另外一个模型来预测缺失值,作法就是取出关键变量不存在缺失值的样原本进行训练,而后再对有缺失值的变量进行预测。

而后说一下归一化,咱们这里没有罗列,由于咱们如今用的经常使用的机器学习方法gbm,xgboost对量纲不敏感,因此咱们为了减小数据分布的损失较少作归一化。大家在实际应用中,有些模型是必定要求你归一化的,因此仍是须要进行归一化处理。

类别变量处理方法罗列了一些,你们能够找资料看一下。

这里说一下模型融合方法,咱们经常使用这两种,有对应的连接,你们看看资料,这里不细说。

对整个模型的总结见图。特地提一下倒数第二点,线下模型上线,根据线上数据进行调优。主要是担忧线上上线过程当中有人为失误致使数据计算有误差,因此能够直接根据线上模型来进行模型优化来适应线上的开发错误,而且可以快速的定位出开发中的数据错误。

列了一下通常状况下,分类算法的优劣对比,你们能够试验一下。算法经验分享结束,咱们最后说一下上线架构。

4、模型上线架构

你们看一下模型API架构简图,咱们的开发语言是Java,咱们会用Java封装模型的全部输入参数,而后把模型训练的结果存储成文件xx.Rdata或者xx.Py文件,最后Java把模型结果常驻内存,最后去调用Rserver和Pyserver来进行预测。整个过程涉及的角色比较多。

最后说一下数据校验,咱们很是关注的,罗列了一下咱们的经常使用校验逻辑,供你们参考。个人分享就是这些,谢谢你们。

 

相关文章
相关标签/搜索