曹卫东,白 亮,聂笑盈
(1.中国民航大学 计算机科学与技术学院,天津300300;2.中国民航信息技术科研基地,天津300300)
随着民航信息化程度日益加深,各航空公司的订票系统中都积累了大量的旅客订座记录 (passenger name record,PNR)数据信息[1]。面对这些宝贵的数据资源,很多航空公司并没有进行有效地数据挖掘与数据分析。目前,航空公司都推出了常旅客计划,但是,常旅客计划只是根据飞行里程来发展VIP客户,并通过积分兑换来提高客户对本公司的忠诚度。显然,根据飞行里程这一单一的数据指标并不能准确有效地识别高价值旅客。同一旅客可能是多家航空公司的VIP会员,由此可见,常旅客计划并不能对旅客出行形成有效的吸引力。在激烈的市场竞争中,如何运用非常旅客的PNR数据,快速准确地识别高价值旅客,并结合有限的资源,在短期内创造更大效益,是航空公司亟需解决的问题。
高价值旅客经常是因为工作需要而选择航空旅行,对时间、飞行服务、机舱环境等要求较高,对价格方面的优惠往往并不看重。因此,高价值旅客的一个简单定义[2]即为:经常选择航空旅行,且订票舱位等级较高的那部分客户为高价值旅客。高价值旅客在一段时间内选择的航线往往比较固定,所以,在某条具体航线上对旅客短期价值进行分析研究,将高价值旅客挖掘出来,并在他们再次在某条具体航行上出行之前,对其进行一些针对性的推送服务,以吸引他们乘坐本航空公司的航班,对航空公司来说,无疑会有很大帮助。
目前,在挖掘航空公司高价值客户方面,国内大多数的研究都是在数据量较小的常旅客数据集进行挖掘。对于挖掘结果,往往需要航空公司进行长期投入,资源利用率很低。而航空公司宝贵的PNR数据集虽然十分具有挖掘潜力,但由于其数据量太大,使用常规方法很难处理[3]。目前较为先进的 Map/Reduce作为一个可以将计算机进行集群,并行处理计算任务的数据处理模型,处理海量数据资源快速准确。因此,本文提出一种基于 Map/Reduce的民航高价值旅客发现方法。首先,对于海量的PNR数据资源,采用Hadoop分布式处理方式,利用Map/Reduce数据处理模型[4],快速有效地进行过滤,筛选及预处理。根据改进的RFD客户价值模型,对客户价值指标进行变换与确定,再利用AHP层次分析法,根据专家经验值,确定各指标权重。然后,根据客户价值指标与权重计算客户价值,运用优化的K-Means聚类算法对经过处理的数据集进行聚类,并将聚类结果与数据集均值进行比较,对旅客价值进行识别,从而发现高价值旅客,并对客户群特点进行分析。最后,采用真实的PNR数据集进行实验。实验结果表明,本文提出的方法准确有效,能够快速地识别出航空公司高价值旅客,从而为航空公司短期内集中有限资源做出有效决策,并对高价值客户进行更优质的推送服务提供有利支持。
Hadoop是Apache软件基金会开发的一个开源计算平台,它以Map/Reduce编程框架为核心,为用户提供了底层细节透明的分布式基础架构。Map/Reduce作为Google公司的核心计算模型,可以对不同的计算任务进行高效地调度以及准确地计算。它将计算机集群上运行的并行计算过程高度地抽象为了两个函数:Map函数和Reduce函数。Map函数接收一个形如<key,value>的输入,产生一个形如<key,value-list>的中间输出,所有具有相同key值的value值形成一个集合被传递给Reduce函数,Reduce函数接收一个形如<key,value>的输入,然后将这个value值集合打开并对里面的value值进行处理。最后,Reduce函数产生一个形如<key,value>的输出作为处理结果。由于拥有Map/Reduce这一高效的任务调度模型,所以Hadoop允许用户在不了解分布式系统底层细节的情况下开发并行应用程序,并组织计算机资源,搭建自己的分布式计算平台,充分利用集群的计算威力完成海量资源的处理[5,6]。
Map/Reduce运行机制如图1所示。
图1 Map/Reduce运行机制
在客户关系管理中,RFM模型是衡量客户价值的一种经典模型。它有如下3种客户价值指标:Recency(最近消费时间),Frequency(消费频率),Monetary(消费金额)。Goodman等提出根据RFM模型将企业有限的资源应用到高价值客户身上,提高资源的使用效率。Hughes等通过RFM模型将客户分为五类,并针对五类客户采取不同的销售策略。但是,鉴于航空公司的行业特殊性,传统的RFM模型并不完全适合航空公司的旅客价值分析。所以,本研究对RFM这3个指标作如下改进,并利用改进的RFD模型对航空公司高价值旅客进行数据分析[7,8]。
R:旅客最近一次乘坐该航空公司某条航线的航班日期与统计日期的距离天数;
F:旅客在一段时间内乘坐该航空公司某条航线的航班累计次数;
D:旅客在一段时间内乘坐该航空公司某条航线的航班平均折扣;
层次分析法 (analytic hierarchy process,AHP)是一种将定性分析与定量分析相结合,对较为模糊或较为复杂的决策问题做出决策的方法,由匹兹堡大学的A.L.Saaty教授于1980年提出。它将专家的经验和判断量化为具体数值,展现了思维决策的发展过程及基本特征,具有简单成熟、思路清晰、系统性强等优点。因此,使用AHP层次分析法确定客户价值分析中各个指标的权重。
层次分析法计算权重的具体步骤请参见文献 [9-11]。
不同的客户价值指标具有不同的数量级,如果数量级相差很大会使得3个因素对目标值的影响严重不平衡。为了消除这种分布失衡及数量级不同产生的影响,在进行聚类分析之前,数据集需要经过数据标准化处理。在本次研究中,采用的方法是对数据集进行转换,使数据集中的全部数据取值在0~1之间[12]。
设X为R,F或D变量,XL为数据集中R,F或D变量的最大值,XS为数据集中R,F或D变量的最小值,X′为标准化后的X变量。
对于R变量,它的值越大,旅客价值越小,所以R变量对旅客价值有负面影响,是负相关指标。因此,用式(1)对其进行标准化
对于F和D两个变量,它们的值越大,旅客价值越大,所以F和M两个变量对旅客价值有正面影响,是正相关指标。因此,用式 (2)对其进行标准化
K均值聚类算法是比较经典和成熟的聚类算法,该算法的最大特点就是能够使簇内的数据具有较高的相似度,而簇间的数据则相似度较低。而且,K均值聚类算法还具有计算量小,收敛速度快等优点,在处理大数据集时,与其它聚类算法相比,占用的内存空间和计算时间较小[12,13]。K均值聚类算法的具体应用步骤如下:
(1)输入数据个数为N的数据集,并指定簇的数目K。令I=1,选取其中的k个点作为初始聚类中心Zj(I),j=1,2,3,…,k;
(2)计算数据集中每个数据与k个初始聚类中心的距离D(xi,Zj(I)),i=1,2,3,…,n;j=1,2,3,…,k,若满足D(xi,Zm(I))= min{D(xi,Zj(I)),j=1,2,3,…,k},则将xi归入第m类;
(3)根据式 (3)计算误差平方和准则函数Jc并判断若|Jc(I)-Jc(I-1)|<ξ
则算法结束;否则令I=I+1,根据式 (4)计算k个新的聚类中心,并返回 (2)步
但是,数据集中必然会出现孤立点,即少数一些数据点远离数据密集区的情况,由于初始聚类中心是随机选取的,那么就有可能会将孤立点选为初始聚类中心,这样会对聚类结果产生很大的影响。因此,这里对经典K-Means聚类算法进行改进,首先根据距离和的思想排除孤立点,然后对初始聚类中心的选择进行优化,之后再对数据集聚类,而孤立点在聚类算法之后单独聚类[14]。
根据距离和的思想,通过计算数据集中各个对象之间的距离,列出距离和矩阵 (见表1,其中:d(i,j)为欧式距离;D(i,j)为距离和;d=sqrt ((x2-x1)2+ (y2-y1)2+……+ (z2-z1)2);)筛选掉与其它数据距离之和最大的那些点,根据要求的准确度,筛选掉一定比例的数据对象,使孤立点不在初始聚类中心的选择范围之内,从而避免影响最终的聚类结果。
表1 距离和矩阵
在删除一定比例的孤立点之后,将剩余的数据对象再次做出距离和矩阵,以找到距离最大的两个点。本次研究所用数据集为三维数据,这里将两点连成线段,以线段中心为球心,以线段为直径画球。再以线段中心为球心,以线段的一半为直径画内球。根据球心作三维直角坐标系,在8个象限中分别取内球每个弧面上的中心点作为初始聚类中心。选定初始聚类中心之后,根据经典K-Means聚类算法进行聚类。最后,计算各孤立点与聚类中心的距离,并进行归类。
在本次研究过程中,采用某信息公司提供的国内旅客2010年1月1日至2011年2月28日的PNR数据集进行分析研究,该数据集大小为48.6G,利用5台PC机进行集群处理,处理时间约为4个小时。设统计日期为2011年1月1日,则R变量所代表的距离天数为统计日期与客户最近一次乘机的日期所相差的天数。对于实验所采用的大数据集,首先利用 Map/Reduce数据处理模型,对具有相同旅客ID和航线的PNR数据进行计算:
(1)对起飞日期取最大值;
(2)统计具有相同客户ID和航线的PNR数据个数;
(3)对航班折扣取平均值;
因为识别高价值旅客的3个基本条件为经常出行,选择舱位等级较高且短期内仍有出行记录。所以,出行次数较少,选择低折扣出行或短期内没有出行记录的旅客不在研究范围之内。因此,过滤掉不符合以下3个条件的数据:
(1)2010年内出行次数大于等于4次;
(2)平均出行折扣大于等于4折;
(3)最近60天内有过出行记录;
经过处理的PNR数据集见表2。
表2 经过处理的PNR数据集
在确定航空公司客户价值指标时,邀请多位民航领域内经验丰富的专家参与,采用问卷调查的方式并运用AHP层次分析法,对客户价值指标的相对重要性进行了分析。
首先,让每位专家使用9级标度法两两比较3个客户价值指标的相对重要性,并做出判断矩阵。然后,对这些判断矩阵做出一致性检验,有8个判断矩阵满足一致性要求,这8个判断矩阵为有效判断矩阵。最后,对每个有效判断矩阵的权重进行计算,并对结果取算术平均值,即得到各个客户价值指标的最终权重[15]。判断结果为:wR=0.1036,wF=0.3705,wD=0.5259。结果显示,D变量的权重最大。可以看出,专家们一致认为影响旅客价值大小的最重要因素是旅客的航班平均折扣。
数据处理如图2所示。
图2 数据处理
为使实例分析更具代表性,在本次聚类分析中,选择某航空公司的北京-上海这条黄金航线上的PNR数据集作为研究对象。
在进行聚类分析之前,需要对数据进行标准化。然后,根据判断出的客户价值指标的权重以及标准化后的PNR数据,利用式 (5)计算每个旅客的客户价值
式中:VR,VF,VD——客户价值指标R,F,D标准化后的值。
根据距离天数,出行次数,平均出行折扣这3个客户价值指标,利用优化初始聚类中心的K-Means聚类算法进行聚类分析。该聚类算法必须事先给定聚类结果中簇的数目K,由于最后要将聚类结果中每簇的客户价值指标均值与整个数据集的客户价值指标均值相比较,而每个客户价值指标的比较只能有大于 (等于)或小于这两种情况,其中,旅客价值是由其它3个客户价值指标经过加权计算得出的。因此,在数据分布均匀的情况下,簇的数目应为2*2*2=8个,即K=8。
得出聚类结果之后,将各簇的客户价值分析指标均值与整个数据集的客户价值分析指标均值作比较,以便能够将各簇中的客户特点更清晰地显示出来,从而为航空公司提供更加有利的参考依据。
由表3-聚类结果及表4-各簇均值与数据集均值比较结果中可以看出,第1簇中的客户群R↓F↑D↑V↑且客户价值是最高的。所以,对航空公司来说,这些客户是最具商业价值的旅客,即星级客户。他们经常乘坐该航空公司的航班往返于两个城市之间,且平均购票的票价很高,多集中在头等舱,因此,这部分旅客创造的利润相当可观,航空公司应集中其有限资源最先服务于这部分旅客,以便留住他们,并与之建立起长期友好的客户关系。
表3 聚类结果
第5簇中的客户群R↑F↑D↑V↑且旅客价值相对较高。这部分旅客的R变量大于平均值,有可能是近期在这条航线上出行的时候,选择了其它航空公司的航班。这部分客户在出行的时候不固定选择哪家航空公司的航班,因此,他们与哪家航空公司都有可能建立紧密客户关系,具有很大的潜力成为航空公司的星级客户。航空公司应特别重视与这些客户的进一步发展,并对他们开展一些具有市场针对性的促销活动,从而提高航空公司对他们的吸引力。
表4 各簇均值与数据集均值比较结果
第6簇和第7簇中的客户群R↓F↑D↓V↑且旅客价值略高,这部分客户的出行特点是这条航线上出行较为频繁但平均出行折扣不高。针对这部分旅客,基于他们的消费行为,航空公司应多推出一些航班服务优惠活动,例如若购票折扣达到1.2即可享受购票折扣1.5以上的头等舱服务等,以刺激其消费。
其它簇的客户群的客户价值指标均值均与整个数据集均值接近或小于整个数据集均值,他们对航空公司的商业价值较小,航空公司不应把有限的资源用于吸引这些旅客。
利用2011年前两月的PNR数据对该方法挖掘出的高价值旅客在未来短时间内继续在某条航线上出行的概率进行验证,验证准确率结果如图3所示,由2010年PNR数据集挖掘出的北京-上海航线上的高价值旅客在2011年1月继续出行的概率为51.1%,2011年1-2月继续出行的概率为63.9%,在北京-广州,北京-深圳这两条航线上2011年1月和2011年1-2月继续出行的概率分别为47.2%,59.5%和53.1%,66.4%。可见,预测结果准确率较高,该方法快速有效。
航空公司订票系统中基于非常旅客的PNR数据是十分珍贵的数据源,从中可以挖掘出对航空公司价值很高的旅客。这些客户大部分是某段时间内由于工作原因频繁往返于两个城市之间,且平均购票价格较高。他们很可能不受具体航空公司的约束,因此,哪家航空公司能够快速准确地找到这部分高价值旅客并与之建立长期友好的客户关系,哪家航空公司便能在激烈的市场竞争中占得先机。本文提出这种基于 Map/Reduce的民航高价值旅客分析方法,并在某航空公司真实的PNR数据集上进行了实例分析。分析结果表明,该方法即使面对具有海量数据的PNR数据集,也可以轻松处理,并且它能够有效地识别航空公司高价值旅客,为航空公司在短期时间内集中有限资源做出有效决策提供了参考依据。
图3 预测准确率结果
[1]Manyikaj,Chui M,Brownb Bughin J,et al.Big data:The next frontier for innovation,competition,and productivity[EB/OL].[2012-11-25].http://www.fujitsu.com/downloads/svc/Fla/03_Michael.Chui.pdf.
[2]LIU Pan.Modeling of aviation customer value based on data mining [D].Guangzhou:South China University of Technology,2010 (in Chinese).[刘攀.基于数据挖掘的航空公司客户价值建模 [D].广州:华南理工大学,2010.]
[3]Gantz J,Reinsel D.THE digital universe decade are you ready[EB/OL]. [2010-03-10].http://viewer.media.bitpipe.com/938044859_264/1287663101_75/Digital_Universe.pdf.
[4]DOU Meng,WEN Lijie,WANG Jianmin,et al.Parallel algorithm to convert big event log based on MapReduce [J].Computer Integrated Manufacturing Systems,2013,19 (8):1784-1793 (in Chinese).[窦蒙,闻立杰,王建民,等.基于MapReduce的海量事件日志并行转化算法 [J].计算机集成制造系统,2013,19 (8):1784-1793.]
[5]White T.Hadoop:The definitive guide [M].O’Reilly Media,Inc,2009.
[6]LU Jiaheng.Hadoop in action [M].Beijing:China Machine Press,2011 (in Chinese).[陆家恒.Hadoop实战 [M].北京:机械工业出版社,2011.]
[7]XU Xiangbin,WANG Jiaqiang,TU Huan,et al.Customer classification of E-commerce based on improved RFM model[J].Journal of Computer Applications,2012,32 (5):1439-1442(in Chinese).[徐翔斌,王佳强,涂欢,等.基于改进RFM模型的电子商务客户细分 [J].计算机应用,2012,32(5):1439-1442.]
[8]LIU Chaohua,MEI Qiang,CAI Shuqin.The model of customer classification and evaluation of customer value based on RFM [J].Technoeconomics & Management Research,2012,33 (5):33-36 (in Chinese).[刘朝华,梅强,蔡淑琴.基于RFM的客户分类及价值评价模型 [J].技术经济与管理研究,2012,33 (5):33-36.]
[9]LUO Xiaofeng,REN Aihua,LI Meng,et al.Application of AHP and SPC in quantitative process management [J].Computer Engineering and Design,2010,31 (12):2749-2753 (in Chinese).[罗晓峰,任爱华,李萌,等.AHP和SPC技术在量化过程管理中的应用 [J].计算机工程与设计,2010,31(12):2749-2753.]
[10]LIU Dongfei.Software process performance evaluation based on AHP and cloud mode [J].Computer Engineering and Design,2013,34 (3):894-898 (in Chinese).[刘东飞.基于AHP与云模型的软件工程绩效评价方法 [J].计算机工程与设计,2013,34 (3):894-898.]
[11]WANG Feng,LIU Jingao,CHEN Yahua.Customers’value assessment model in AHP-based telecommunication [J].Computer Systems & Applications,2009,19 (1):26-28(in Chinese).[王峰,刘锦高,陈亚华.基于AHP的电信客户价值评价模型研究 [J].计算机系统应用,2009,19(1):26-28.]
[12]ZHANG Wenxin.Research on frequent flyer segmentation of airlines [D].Nanjing:Nanjing University of Aeronautics and Astronautics,2009 (in Chinese). [张文欣.航空公司常旅客细分研究 [D].南京:南京航空航天大学,2009.]
[13]WANG Fudong,MA Yufang.Research of method for customer segment based on data mining [J].Computer Engineering and Applications,2011,47 (4):215-218 (in Chinese).[王扶东,马玉芳.基于数据挖掘的客户细分方法的研究[J].计算机工程与应用,2011,47 (4):215-218.]
[14]ZHOU Aiwu,YU Yafei.The research about clustering algorithm of K-Means [J].Computer Technology and Development,2011,21 (2):61-65 (in Chinese). [周爱武,于亚飞.K-Means聚类算法的研究 [J].计算机技术与发展,2011,21 (2):61-65.]
[15]LUO Liangsheng,ZHANG Wenxin.Research of method customer segment of airlines based on database of frequent flyer[J].Modernbusiness,2008 (23):54-55 (in Chinese). [罗亮生,张文欣.基于常旅客数据库的航空公司客户细分方法研究 [J].现代商业,2008 ( 23):54-55.]