一、分析方法与过程
本案例的目标是客户价值识别,即通过航空公司客户数据识别不同价值的客户。识别客户价值应用最广泛的模型是通过 3 个指标,即最近消费时间间隔(Recency)、消费频率(Frequency)和消费金额(Monetary)来进行客户细分,识别出高价值的客户,简称 RFM 模型。
在 RFM 模型中,消费金额表示在一段时间内,客户购买该企业产品金额的总和。由于航空票价受到运输距离、舱位等级等多种因素影响,同样消费金额的不同旅客对航空公司的价值是不同的。例如,一位购买长航线、低等级舱位票的旅客与一位购买短航线、高等级舱位票的旅客相比,后者对航空公司而言价值可能更高。因此,这个指标并不适用于航空公司的客户价值分析。我们选择客户在一定时间内累积的飞行里程 M 和客户在一定时间内乘坐舱位所对应的折扣系数的平均值 C 两个指标代替消费金额。此外,考虑航空公司会员入会时间的长短在一定程度上能够影响客户价值,所以在模型中增加客户关系长度 L,作为区分客户的另一指标。
本案例将客户关系长度 L、消费时间间隔 R、消费频率 F、飞行里程 M 和折扣系数的平均值 C 五个指标作为航空公司识别客户价值指标(见表 5-1-2),记为 LRFMC 模型。
表 5-1-2 LRFMC 指标含义
针对航空公司的 LRFMC 模型,如果采用传统的 RFM 模型分析属性分箱方法,如图 5-1-1所示(它是依据属性的平均值进行划分,其中大于平均值的表示为 f,小于平均值的表示为 1),虽然也能够识别出最有价值的客户,但是细分的客户群太多,提高了针对性营销的成本。因此,本案例采用聚类的方法识别客户价值。
图 5-1-1 RFM 模型分析
通过对航空公司客户价值的 LRFMC 模型的五个指标进行 K-Means 聚类,识别出最有价值客户。本案例航空客户价值分析的总体流程如图 5-1-2 所示。
图 5-1-2 航空客运数据挖掘建模总体流程
航空客运信息挖掘主要包括以下步骤。
(1)从航空公司的数据源中进行选择性抽取与新增数据抽取分别形成历史数据和增量数据。
(2)对步骤(1)中形成的两个数据集进行数据探索分析与预处理,包括数据缺失值与异常值的探索分析,数据的属性规约、清洗和变换。
(3)利用步骤(2)中形成的已完成数据预处理的建模数据,基于旅客价值 LRFMC 模型进行客户分群,对各个客户群进行特征分析,识别出有价值的客户。
(4)针对模型结果得到不同价值的客户,采用不同的营销手段,提供定制化的服务。
(一)数据抽取
以 2022-03-31 为结束时间,选取宽度为两年的时间段作为分析观测窗口,抽取观测窗口内有乘机记录的所有客户的详细数据形成历史数据。对于后续新增的客户详细信息,以后续新增数据中最新的时间点作为结束时间,采用上述同样的方法进行抽取,形成增量数据。
从航空公司系统内的客户基本信息、乘机信息以及积分信息等详细数据中,根据末次飞行日期(LAST_FLIGHT_DATE),抽取 2020-04-01 至 2022-03-31 内所有乘客的详细数据,总共有 62 988 条记录。其中包含了会员卡号、入会时间、性别、年龄、会员卡级别、工作地城市、工作地所在省份、工作地所在国家、观测窗口结束时间、观测窗口乘机积分、飞行里程、飞行次数、飞行时间、乘机时间间隔和平均折扣率等 44 个属性。
(二)数据探索分析
本案例的探索分析是对数据进行缺失值分析与异常值分析,分析出数据的规律以及异常值。通过对数据观察发现,原始数据中存在票价为空值、票价最小值为 0、折扣率最小值为 0、总飞行里程大于 0 的记录。票价为空值的数据可能是客户不存在乘机记录造成,其他数据可能是客户乘坐 0 折机票或者积分兑换产生的。
(三)数据预处理
本案例主要采用数据清洗、属性规约与数据变换的预处理方法。
1. 数据清洗
通过数据探索分析,发现数据中存在缺失值,如票价最小值为 0、折扣率最小值为 0、总飞行里程大于 0 的记录。由于原始数据量大,这类数据所占比例较小,对问题影响不大,因此对其进行丢弃处理。具体处理方法如下:
(1)丢弃票价为空的记录。
(2)丢弃票价为 0、平均折扣率为 0、总飞行里程大于 0 的记录。
(3)使用 Pandas 对满足清洗条件的数据进行丢弃。
2. 属性规约
原始数据中属性太多,根据航空公司客户价值 LRFMC 模型,选择与 LRFMC 指标相关的 6 个属性:FFP_DATE、LOAD_TIME、FLIGHT_COUNT、AVG_DISCOUNT、SEG_K.M SUM、LAST_T0_END。删除与其不相关、弱相关或冗余的属性,如会员卡号、性别、工作地城市、工作地所在省份、工作地所在国家和年龄等属性。经过属性选择后的数据集见表 5-1-3。
SEG_K.MSUMLAST_T0_END。删除与其不相关、弱相关或冗余的属性,如会员卡号、性别、工作地城市、工作地所在省份、工作地所在国家和年龄等属性。经过属性选择后的数据集见表 5-1-3。
表 5-1-3 属性选择后的数据集
3. 数据变换
数据变换是将数据转换成“适当的”格式,以适应挖掘任务及算法的需要。本案例主要采用的数据变换方式为属性构造和数据标准化。
由于原始数据中并没有直接给出 LRFMC 五个指标,需要通过原始数据提取这五个指标,具体的计算方式如下。
(1)L = LOAD_TIME- FFP_DATE
会员入会时间距观测窗口结束的月数=观测窗口的结束时间-入会时间(单位:月)
(2)R = LAST_TO_END
客户最近一次乘坐公司飞机距观测窗口结束的月数=最后一次乘机时间至观察窗口末端时长(单位:月)
(3)F = FLIGHT_COUNT
客户在观测窗口内乘坐公司飞机的次数=观测窗口的飞行次数(单位:次)
(4)M = SEG_KM_SUM
客户在观测时间内在公司累计的飞行里程=观测窗口的总飞行里程(单位:千米)
(5)C = AVG_DISCOUNT
客户在观测时间内乘坐舱位所对应的折扣系数的平均值=平均折扣率(单位:无)5 个指标的数据提取后,对每个指标数据分布情况进行分析,其数据的取值范围见表5-1-4。从表中可以发现,5 个指标的取值范围数据差异较大,为了消除数量级数据带来的影响,需要对数据进行标准化处理。
表 5-1-4 LRFMC 指标取值范围
标准差标准化处理后,形成 ZL、ZR、ZF、ZM、ZC 5 个属性的数据,如表 5-1-5 所示。
表 5-1-5 标准化处理后的数据集