生存分析在电信客户流失中的应用
2023-06-16张三妞张智斌
张三妞,张智斌
(昆明理工大学,云南 昆明 650504)
0 引 言
20 世纪以来,全球经济进入了快速发展的时代,伴随各种电子科技的问世,出现了经济全球化趋势,电信业在技术、竞争水平、运营商数量、新产品和服务等方面都有了巨大的增长和发展,移动、电信和联通在我国占据着重要的地位,据调查显示,2019 年宽带用户高达4.49 亿。然而,由于广泛的竞争、饱和的市场、动态的环境以及丰厚产品利润的冲击,电信运营商面临着较严重的客户流失难题[1]。
客户流失是指客户从一个运营商切换到另一个运营商,电信公司通常将客户流失作为一个关键的业务指标。客户数量在电信行业尤其重要,因为它直接影响电信运营商的竞争力[2]。
与其他机器学习模型相比,生存分析模型具有独特的优势[3]。电信用户流失研究中,其标签包括流失客户和未流失客户,这是一个分类问题,现阶段机器学习算法只能对电信客户流失进行分类,求其分类准确率,而无法预测电信客户流失的时间[4]。生存分析恰好解决了常见分类算法中流失时间点不够准确的问题,这也是生存分析广泛应用于生物医学等二分类学科问题中的优势所在[5]。把生存分析应用于电信客户流失中,可根据生存分析算法处理的结果分析出电信客户流失的时间点。
本文采用KM 与Cox 的电信客户生存分析模型预测电信客户流失的时间,主要将KM 分析模型用于电信客户流失的组间比较,运用Cox 风险比例模型对多因素进行分析,全面预测影响电信客户流失的因素及生存的时间。
1 生存分析算法
1.1 基于KM 的电信客户生存分析结构
KM 分析模型是采用一种无参数方式观察电信客户的生存时间,以此估计电信客户生存概率的技术,在电信客户流失研究中可表现为通过观察电信客户的留存时间估计其留存概率的技术[6]。生存概率(Survival Probability)是KM 模型生存分析中重要的指标之一。
电信客户的生存概率可表示为:
式(1)表示电信客户流失发生的时间T不小于给定时间t的概率。
则第n个时间点tn的电信客户生存概率可表示为:
式中:F(tn-1)表示tn-1时间点的电信客户生存概率;bn表示在时间点tn所发生的电信客户流失事件数;rn表示接近tn时刻还留存的电信客户。可以通过KM 分析电信客户流失模型绘制数条客户的生存曲线,判断生存曲线之间的差异显著性可以运用Log-Rank 检验方法。
Log-Rank 检验方法是一种非参数的检验技术,将Log-Rank 检验方法应用在电信客户生存分析中,可以检验KM 模型的显著性和差异性。其中检验电信客户的KM 模型生存分析思路是:如果无效假设成立,即两总体生存曲线无差别,将不同电信客户生存时间的初期观察数量与理论电信客户流失概率计算出的理论流失数,和实际电信客户流失数进行对比,得到的结果应相差较小,否则无效假设不成立[7]。其Log-Rank 检验统计量的计算公式如下:
式中:B表示实际电信客户流失数;S表示理论电信客户流失数。当所比较的几个样本生存分布全部是完全数据时,此检验被称为Sovnge 检验。
1.2 基于Cox 的电信客户生存分析结构
关于Cox 比例风险回归模型的电信客户流失预测中,一个重要的概念便是风险概率(Hazard Probability)。风险概率指的是在时间t之前未发生电信客户流失的前提下,在时刻t发生电信客户流失的概率[8]。风险概率表示为:
当对电信客户的单个因素进行客户生存分析时,生存概率F(t)与风险概率I(t)之间的关系为:
运用KM 模型分析电信客户流失具有很大的局限性,它只对分类变量和生存概率之间的关系进行分析,而无法对连续变量和生存概率的关系进行分析[9]。在运用KM 模型分析电信客户流失中,生存概率或风险概率都只能对单个因素进行分析;而在电信客户流失因素分析中,存在多变量和连续变量的分析,如影响电信客户流失的因素可能有年龄、每月的分钟数、经常性费用等。Cox 比例风险回归模型可处理以上两种问题。
1.3 Cox 比例风险模型
Cox 比例风险回归模型中采用电信客户数据中影响客户流失的特征变量x作为自变量,风险函数作为因变量,公式如下:
式中:α1,α2,…,αi为自变量的偏回归系数,是自变量x为0 时,I0(t)的基准风险比率。Cox 比例风险回归模型的另一个表达为:
Cox 比例风险回归必须满足以下两个重要的假设:
1)比例风险假设,即对所有风险因子的影响不会随着时间的改变而发生变化,见式(6);
2)协变量需和对数风险比成线性关系,见式(7)。
对电信客户数据进行Cox 模型流失预测,可得到电信客户特征的模型系数,本文运用一致性指数对电信客户流失的Cox 风险比例模型的效果进行评估。
一致性指数(C-index)的功能主要是计算健康数据分析中的Cox 模型预期值和实际数值之间的区分程度[10]。评估模型的综合优劣主要包括两个方面:一是模型的综合优度;二是评估指标,即模型的预期准确度,简单解释便是模型的实际值和预测值之间的偏离度、均方误差、相对误差程度等。由于模型的主要目的是实现预测,因此C-index 构成了建模评估指标体系中的预期准确度[11]。
一致性系数的计算方法是:将被研究资料中的每个关系对象随机地组成对子,对于一对电信客户,假设保留时间较长的电信客户,其预期存活时间长于存在时间较短的电信客户,或预期的存活概率高的电信客户存活时间又长于存在概率较低的电信客户,即称预期结果与真实情况相符[12]。电信客户生存分析计算步骤为:
1)形成所有的电信客户配对。若有n个观察的电信客户,则所有的对子个数为C2n。
2)需排除两种对子:一是对子中具有较短观察时间的电信客户未到观测时间;二是在对子中两个电信客户都未到观测时间。除上述两种对子,其余均为有用对子。
3)统计有用对子中预测结果与实际结果相同的对子数,就可得出预测结果和电信客户的实际观测时间长短的关系。
若用m表示一致对子数,s表示有用对子数,则一致性指数计算公式为:
本文的一致性指数是对Cox 模型内部一致性的评估,对于电信客户流失的Cox 风险比例模型一致性可理解为:若电信客户的某个特征风险增加,则具有该特征的观察结果风险会增高。
2 实 验
本文运用的数据为Kaggle 平台上公开的电信客户流失数据集(cell2cell),共计51 047 条电信用户数据,流失客户数据为14 711,未流失客户数据为36 336。该数据集中包括电信客户的特征变量和流失数据的目标变量共计58 列,其中电信客户数据中存在过多缺失值,需要处理数据中的缺失值。接着对数据进行可视化分析、皮尔逊相关系数判断和特征重要性排序,去除冗余特征变量;最后共剩余16 列特征,再对电信客户数据进行数据转换,转换为预测算法识别的数据。筛选后的16 列特征如表1 所示。
表1 电信客户生存分析的实验特征表
如表1 所示,基于KM 与Cox 的电信客户生存分析实验数据分为4 类,分别为客户基础信息、费用信息、使用情况信息以及目标变量。电信客户生存分析中必须包含电信客户生存分析所必须的时间周期和流失事件是否发生,其中Churn 特征为流失事件是否发生,发生流失为1,未发生流失为0;时间周期为MonthsInService,表示服务月数,以月为时间单位。本文运用KM 模型分析电信用户留存率,依次对每个特征的分类值进行分析;运用Cox 模型分析电信客户的风险比例,对影响客户流失的特征进行分析,得到电信客户发生流失的时间。
2.1 KM 模型的生存分析
本文通过KM 模型分析电信客户留存率,KM 模型是一种无参数的分析方法,主要观察电信客户流失的时间[13]。实验运用Python 中的生存分析工具包lifelines 实现,结果如图1 所示。
图1 KM 模型分析电信用户留存率曲线
图1 中黑色实线为生存曲线,灰色代表95%置信区间,横坐标表示时间线,单位为月,纵坐标表示保留概率。随着时间增加,用户的留存率随时间的推移逐渐下降,留存率越来越小,同时留存率等于0.5 时,时间的95%置信区间为[35,38]。
对于电信客户每个特征的组间比较,本实验依次从特征生存时间的平均值和中位数、总体比较以及生存分析函数进行分析。由于本文实验特征具有16 列,依次分析过于繁冗,故以CreditRating 和HandsetWebCapable为例进行分析。
2.1.1 CreditRating 特征分析
对CreditRating 特征生存分析时间的平均值和中位数进行分析,该特征共分为7 种类别,分别包括1-Highest、2-High、3-Good、4-Medium、5-Low、6-VeryLow 以及7-Lowest,依次对7 种类别的平均值和中位数进行分析,如表2 和表3 所示。
表2 CreditRating 生存分析时间的平均值
表3 CreditRating 生存分析时间的中位数
表2 中估算表示平均生存时间,为一个随机变量,产生标准错误,95%置信区间表示平均生存时间的置信区间,95%置信区间的上限大于估算值,95%置信区间的下限小于估算值。在CreditRating 特征的7 种类别中,平均生存时间最高的为1-Highest,最低的为2-High,总体的平均生存时间为35 个月。
表3 中估算表示中位数的生存时间,如1-Highest 有1/ 2 的用户生存时间超过44 个月,其中最高类别生存时间中位数为44,最低的生存时间为24,有明显的差异。
表2 和表3 对比中,CreditRating 的估算相差较小,最高相差4,但在标准错误中,中位数大于平均值,故根据CreditRating 特征中的组间比较,实验选用生存分析时间的平均值进行分析。
根据CreditRating 的不同等级进行Log-Rank 生存分析分布等同性检验,指标包括卡方、自由度以及显著性,结果如表4 所示。
表4 CreditRating 的Log-Rank 总体比较
表4 中Log-Rank 检验的显著性为0.001,小于0.05,故CreditRating 特征的7 个类别有显著性差异。
CreditRating 生存分析函数如图2 所示,其中7 种颜色代表CreditRating 不同的类别,“+”表示电信客户流失。由图2 可知,1-Highest 在前25 个月生存较为稳定,2-High 和7-Lowest 生存较为不稳定,累积生存下降急速,3-Good、4-Medium 和5-Low 生存函数相差较小。整体上看,7 种类别对电信客户的生存时间均有影响,且CreditRating 的7 种类别影响不同,2-High 在前30 个月更容易流失。
2.1.2 HandsetWebCapable 特征分析
电信客户流失数据中HandsetWebCapable 特征表示手机网络能力。当今各种手游、电影、小说等电子产品的多元化发展,使得手机的网络能力更加重要。HandsetWebCapable 特征影响着电信客户的流失,该特征共有两种类别,分别为1 和0。本文以生存分析时间的平均数和中位数、总体比较以及生存分析函数分析HandsetWebCapable 特征的生存时间。
表5 所示的HandsetWebCapable 生存分析时间的平均值中,95% 置信区间最高的为38.144,最低的为34.877,生存时间最高的为0 类别的37.556,0 和1 类别生存时间有差距,但相差较小。
表5 HandsetWebCapable 生存分析时间的平均值
表6 所示的HandsetWebCapable 中估算表示中位数的生存时间,最高的为0 类别的37,最低为1 类别的33,95%置信区间中最高的为37.814,最低的为32.541。
表6 HandsetWebCapable 生存分析时间的中位数
表5 和表6 对比中,HandsetWebCapable 的估算相差较小,最高相差2.231;但在标准错误中,中位数都大于平均值,故根据HandsetWebCapable 特征中的组间比较,实验选用生存分析时间的平均值进行分析。
根据HandsetWebCapable 的不同等级进行Log-Rank 生存分析分布等同性检验,总体比较结果如表7所示。
表7 HandsetWebCapable 的Log-Rank 总体比较
HandsetWebCapable 特征由Log-Rank 检验后,得卡方为171.933,自由度为1,显著性为0.002,表示类别1和0 有显著性差异,对电信客户流失有很大的影响。HandsetWebCapable 生存分析函数图如图3 所示。
图3 的HandsetWebCapable 生存分析函数图中,蓝色表示0 类别,红色表示1 类别,“+”表示客户流失。1 类别在40 个月之前下降速度较快,电信客户流失速度较快;0 类别在40 个月以前下降速度较缓慢,电信客户流失速度较慢。而在40~60 个月之间0 类别下降较快,1 类别下降较为缓慢,故可得电信客户流失的HandsetWebCapable 特征的1 类别在[0,40]个月电信客户易流失,0 类别在(40,60]个月电信客户易流失。
通过KM 模型分析电信客户留存率实验得出:电信客户在35 个月之后易发生客户流失,电信运营商需在35 个月之前采取措施挽留客户。在特征值分析中,运用平均值的生存时间分析每个特征,经Log-Rank 检验分析得到,每种特征值都对电信客户流失有显著性差异,电信运营商可根据每个特征的生存分析函数图对不同类别的客户采取针对性的措施挽留客户。
2.2 Cox 模型总体分析
在电信客户流失预测中,Cox 风险比例模型不但能预测电信用户流失的可能性,还能预测电信用户流失的时间,Cox 侧重用于电信用户多特征分析[12]。关于Cox风险比例模型的构建,首先,运用sklearn 的train_test_split( )函数把经过处理后的16 列特征的数据集以4∶1 的比例分为训练集和测试集;其次,运用lifelines 包中的CoxPHFitter( )函数进行数据拟合,得到的结果如图4 所示。
图4 Cox 模型的电信客户生存率变化图
图4 中,横坐标表示时间线,单位是月,纵坐标表示累积生存分析,累积生存越高,电信客户越不易流失。由图4 可得:在[0,10]区间内,电信客户累积生存较高,流失较少;在[10,35]区间内,电信客户生存率在0.5 以上,客户不易流失;在[35,62]区间内,电信客户生存率在0.5以下,客户易流失。因此,电信运营商应在35 个月后采取措施挽留客户。
本实验运用一致性指数对结果进行效果评价,具体指标如表8 所示。
表8 模型效果评价指标
表8 所示的模型效果评价指标中,Concordance 表示一致性指数,一致性指数最大值为1,生存分析模型的一致性指数为0.74,表明Cox 风险比例模型效果良好。
Cox 用于多因素分析,对于Cox 风险比例模型的建模,通过sklearn的train_test_split( )函数将处理后的16列特征利用lifelines 包中的CoxPHFitter( )函数实现数据拟合,得到的结果如表9 和表10 所示。
表9 Cox 风险比例模型中的部分特征模型系数(一)
表10 Cox 风险比例模型中的部分特征模型系数(二)
表9 和表10 中,coef 表示协变量的回归系数,exp(coef)表示风险比,se(coef)表示系数的标准误差,exp(coef)95%表示风险比的95%置信区,z值表示Wald统计值,Wald 统计值的p值表示该特征是否显著。如果表中系数是正的,那么该特征易发生用户流失;如果系数是负的,那么拥有该特征的用户不易发生流失。同时,模型给出了特征的显著性,HandsetWebCapable、UniqueSubs 等是用户流失的主要原因,且在95%的置信度下是具有显著性的。当风险比大于1 属于危险因素,值增大会增加客户的流失风险;小于1 属于保护因素,会降低客户的流失风险。例如CreditRating 的p值小于0.005,风险比HR=1.07,95%置信区间为1.06~1.08,表明CreditRating 值与流失风险增加之间有关系,保持其他协变量不变,CreditRating 增加一个单位,客户流失的风险增加2%。
运用Cox 风险比例预测电信客户流失中,从整体分析得,电信客户生存率在0.5 以上,即35 个月之前,不易发生客户流失,在35 个月之后易发生流失。特征分析中,HandsetWebCapable、UniqueSubs 等是用户流失的主要原因,电信运营商可根据流失原因的重要性采取针对性措施挽留客户。
随机选取本实验中的4 位电信用户,通过Cox 比例风险模型检验4 位电信用户的生存时间,随机选取的4 位电信用户在数据集中的客户ID 分别为19117、45937、21596 以及25572,图5 所示为4 位电信客户的流失时间。
图5 随机选取4 位电信用户的生存时间曲线
图5 随机选取的4 位电信用户的生存时间趋势图中,横坐标表示时间线,单位为月,纵坐标表示保留概率。虚线表示保留概率等于0.5,虚线以上表示电信客户保留的概率超过0.5,表示不易发生流失事件;虚线以下表示电信客户保留的概率小于0.5,表示易发生流失事件。随机选取的4 位电信客户在30 个月之前不易发生流失,45937 和25572 在30 个月之后易发生流失,19117 和21596 在40 个月之后易发生流失。
运用KM 和Cox 分析电信客户流失的整体分析中,随着时间增加,两种模型用户的生存概率逐渐下降,未流失概率越来越小,且生存率在0.5 以上,即35 个月之前,不易发生客户流失,在35 个月之后易发生客户流失。综上可知,电信运营商需在客户运用电信35 个月之前采取措施挽留客户。
运用Cox 比例风险模型分析电信客户流失因素中,去除时间周期和流失分类两种特征,剩余特征皆对电信客户流失具有影响,其中HandsetWebCapable、UniqueSubs 等是用户流失的主要原因,电信运营商可按影响因素的主次采取不同措施应对电信客户流失。
运用KM 模型分析电信用户留存率中,筛选出的特征皆对电信客户流失具有影响,每个特征的种类不同,对客户流失的影响具有不同的结果,电信运营商可根据不同特征中生存分析函数的走向,采取不同措施应对客户流失问题。
特征分析中,采用Cox 比例风险模型分析电信客户流失特征之间的影响,采用KM 模型分析的是每个特征的不同类别间的影响,两者互不冲突。 以HandsetWebCapable 特征为例,在Cox 比例风险模型中判断为电信客户流失的主要影响因素;在KM 模型中主要判断该特征中不同值的影响,具有1 和0 两种类别,1 类别在40 个月之前下降速度较快,客户速度较快,0 类别在40 个月之前下降速度较缓慢,流失速度较慢。故电信运营商应对HandsetWebCapable 特征着重分析,并在40 个月之前对1 类别的客户重点关注,从而采取针对性措施挽留客户。
3 结 语
在电信客户流失中,运用KM 模型与Cox 模型对电信客户进行生存分析,KM 模型分析电信客户留存率,Cox 模型分析电信客户的风险比例,使电信运营商能够把握客户的生存时间,采取必要措施挽留用户。