在一条从未飞过的航线开通之前,我们需要知道些什么?常见的来自航司的问题类似,需求量足以支持每天一个航班么?如何定价?如何分配营销资源?
通常来说,航司会根据一系列“直觉”回答如上问题。当“直觉”的预测效果不尽如人意的时候,也很容易归咎于竞争形势、宏观经济等其他干扰因素。航司常见的方法是根据“同一个国家的”、“已经开通航线的“其他城市来预估新航线。这个方法有明显的不足,例如说,根据“同国家的”不同城市预估,就会将莫斯科和圣彼得堡,或者里斯本和法鲁,分为同一组,虽然他们地理上是相近的,但是在航班需求方面则差异很大。
那么,是否有更科学的方法来对新的OD对(译者注:始发和到达,例如伦敦-里斯本,下同)进行预测呢?这将对营销投放的精准化,定价和收益管理的初始化,以及航班时刻规划等方面起到很大的助益。
机器学习可以提供这样一种更为科学的处理方式,本文我们将演示一下,机器学习如何在上文所述的多因素复杂情景下,实现以数据支持决策。虽然人工智能已经在很多行业领域被证明能切实提高效率,但是对于航线规划来说,应用还并不常见。本文我们采用较为简单的K-means算法对航班搜索数据进行处理,来帮助航司得到相较之前来说更为科学的预估,以便作出更好的后续决策。(译者注,k-means是难度和决策树差不多的入门算法,可以参考以前的一篇k-means入门博客)
方法:用机器学习处理航班搜索数据
在这个研究里,我们用机器学习来比较成千上万个OD对。我们的目标是运用无监督机器学习来对他们进行分组。(译者注,无监督就是没有事先分类的学习,相对的有监督学习就是已经有分类,将样本归入)
我们的数据来自skyscanner平台的travel insight(译者注,可以参考以前一篇关于sc数据产品的博客),对去年2016年全年的超过5万条OD对的数据进行分析。
分析搜索数据
在这个研究里,每个目的地均具备30个参数,包括如出行月份、预定时间、停留在目的地时长(译者注:特指非单程机票,可以是往返也可以是多程,例如上海到北京,4天后从北京返回上海,停留时长为4天)、出行组合类型(译者注:例如成人带儿童)等。在这个案例里,我们事先选择了有哪些参数,期望通过机器学习来运用这些参数的比较,对OD对进行分组。
在数据源方面,我们第一没有预先限制地理参数(译者注,也就是避免开头说的只考虑同一个国家),第二没有根据距离、始发国家对线路进行有偏好的事先分类,第三也没有引入类似价格、可售性等指标(译者注,也就是说不考虑客人搜索的线路是否有/如何进行售卖)。数据展现的是"纯粹"的用户搜索行为。
我们的目标是根据全球用户的(由搜索体现的)需求来寻找航线的内在共同点。
(译者注:虽然这段提到了参数选择,但sc的这个案例仍然省略了2个最最日常的步骤:
第一个是数据清洗和规约,例如部分数据记录缺失,或去重复-例如多次查询才会买机票的休假和一两次查询就订的出差,其查询次数是否需要去重复等规则,这部分占整个分析的九成时间;
第二个是特征参数筛选,最简单的方法例如两两散点图肉眼观察,选择离散程度大,也就是所谓有信息的属性组合,如果设定的属性互相没有产生更多的信息量-例如一个属性是出行日期,另一个是出行月份,那么这两个属性的距离就没有意义,还会影响整体聚类。
这个案例直接给出了洗好的数据源和现成的参数组合,可以说是面向用户的文章)
结果
完整的分析结果可以参考下面的dashboard(译者注,原文页面嵌了一个tableau的动态web报表,静态译文就只放了截图)。我们首先高屋建瓴的总体看一下分析结果。
毫不意外的结果是,长线、夏季、家庭休假出行是量级最大的查询分类。
数据显示这种类别含有最多的OD对(译者注,出差的大城市就那么几个,而休假冷门目的地繁多),通常这些线路是暑期假期出行,具有较高的周末出发或至少带一个小孩的比例。(译者注,一位sabre的同学也讲过类似的,周末+人数可以筛选出利润最高的线路,维度没有本案例30个那么多,用不着上算法)
距离的影响大于国家
研究显示地理因素确实存在,然而目的地离始发地的距离,关联性要强于目的地所在国家。例如法鲁(译者注,葡萄牙南部城市)作为目的地时,和阿尔及尔(译者注,大航海时代里的北非海盗基地之一)的搜索需求十分近似,因此被分在同一个分组。这两个目的地都是典型的冬季目的地、周一到周四出发(译者注,冬季休假)。他们在距离上比较相近,如果按照传统的按国家预估的方法,这两个目的地可能不会被归为同一类。
(译者注,城市和国家范围在欧洲非常淡漠,因为几十公里就可以多个国家,大部分欧洲网站都提供类似距离50km内的搜索,而不是限于城市、国家,这是产品国际化的欧洲特色之一)
传统的浪漫情侣目的地城市,对单独游客同样热门
数据显示无论是“solo”单人出行(译者注,单打独斗,游戏玩家不会不认识solo这个词),还是双人出行,都近似指向同一类目的地。(译者注,也就是没有产生离散化,没有产生影响,或者说信息熵不大)这个结果显示并不存在所谓"专门适合情侣"的目的地。以威尼斯为例,这是典型的情侣/蜜月目的地之一,但同时在单人出行目的地里,他的比重也相当高。
(译者注,如下是截图,我选了上海SHA始发,原文是交互报表,可以在右上角切换始发城市三字码,不知道啥是三字码请搜索引擎,这玩意和做酒店必背连锁品牌名单一样,是做机票必背的)
(译者注,再来个韩国SEL始发的看看,明显比我们国际化吧)
如何阅读报表?
- 在面板右侧选择始发城市,然后观察对应目的地城市的分组。
- 不同分组对应0-9数字和不同颜色标识的10个组
- 地图下方的柱状图,显示每个分组在各个参数下和其他分组的区别,柱子的具体数字只代表对比,独立看没有意义。(译者注,k-means的基本原理是计算距离,虽然超过三维的距离很难想象,然后根据远近来分组,为了避免较大数字的影响大于较小数字,例如金额对比订单数,需要先对原数据进行标准化处理,变成同一范围的数字,最简单的方法例如每个数值减去平均数,再除标准差)
- 左侧气泡的大小,表示每个分组的od对数量的相对量的比较
如何使用这些分析结果?
作为营销人员
- 可以作为“猜你喜欢”的推荐目的地来源之一。(译者注,例如用户预订过上海-巴黎,根据报表可见,上海始发,巴黎为目的地第9组,同组目的地均可以优先推荐,同时第9组的参数为,长期计划预定,夏季出行,周末出发,单人、双人均为热门,这些均可以用于推荐)
- 规划目的地营销的预算分配,特别是对于还没有历史数据的新航线来说,尤其适用。(译者注,也就是用同组已经开通的去预估)
作为收益管理人员
- 可以用同分组已有航线的数据来进行初始定价
- 在收益管理组合里优化航线归属(译者注,就是下一段说的网络运筹)
作为航线运筹规划人员
- 可以根据需求分组来辅助参考在一周的哪一天、或一天的哪些时段安排航班(译者注,例如大部分是周末起飞的搜索,倾向安排在周末)
- 可以将航线分组作为航线网络运筹的‘校准’(译者注,航线网络运筹是传统的机票收益管理,最简单的例子是根据不同航线冷热频次不同,从“航路网络组合”的角度提高整体收益,结果就是例如上海到北京、再从北京到东京的票价,比两段相加要便宜-甚至比其中一段都便宜,而形成弃程。‘校准’的意思是,可以利用同分组的已有线路,快速得到初始参数)
人工智能时代的航线规划
航空业一直以来都采用量化分析的方式预估并依次开通新航线。机器学习是更新、更高效处理复杂多维度数据的分析方法。引入机器学习,或许可以帮助航空业在新航线开通时减少对“直觉”的依赖。
skyscanner的数据产品travle insight可以收集大量用户搜索需求,帮助航司开展本文这样的分析,如需进一步了解,可以访问网站(译者注,请去原文地址看)。
注1:本文的工具是基于python实现的k-means,一种无监督学习算法。
注2:本文的数据基于skyscanner平台上,去年(2016年)全年的用户搜索数据,包括超过5万个OD组合。