目录
1.分析目的
现如今,在电信行业蓬勃发展的同时,电信市场也趋于饱和,获取一个新客户的难度要远远高于维系一个老客户的难度,而老客户的流失意味着收益的流失和市场占有率的下降。可以说,电信运营商的竞争就是针对客户资源的竞争。然而,客户流失从来都是无法避免的,客户流失的原因也不尽相同。若想做到客户流失前预防、流失后召回,就必须通过数据分析和建模来总结经验、预测未来。因此,本文选取了Kaggle中一个现实世界里的电信公司的客户流失数据,用其来探究电信客户流失背后的主要原因,并建立客户流失预警模型,帮助电信公司为优化业务、提高客户留存、减少流失制定策略。无论是互联网行业还是传统行业,所有产品都需要关注用户流失,用户流失原因的拆解思路也都大致相同。因此,本文的探究思路是比较具有现实的推广意义的。
2.分析思路
首先,将数据集中的标签属性划分为不同的维度。在每一个维度下,通过数据处理和数据可视化的手段,逐个探究各个因素与客户流失率之间是否具备相关性。
其次,处理数据并建模。通过手工筛选方式对数据做特征工程处理,然后选取逻辑回归模型、随机森林模型建立电信客户流失预警机制。
最后,结合以上分析结果,分别从业务角度和用户角度为电信公司加强客户黏性、减少客户流失提出一些可供落地的建议。
3.探索数据集
3.1去除重复值
每条数据记录代表一位客户,使用字段customerID对数据进行去重
#保证数据完整性先备份数据
data_cleaner = data.copy()
#重复值处理
data_cleaner = data_cleaner.drop_duplicates(['customerID'])
print('去重前的数据形状为:{},去重后的数据形状为{}'.format(data.shape,data_cleaner.shape))
去重前的数据形状为:(7043, 21),去重后的数据形状为(7043, 21)
可见在本数据集中,没有重复值
3.2变量类型转换
TotalCharges为总计缴费,应转变为数值变量
TotalCharges存在11个空字段,无法直接转化为浮点数类型,将空字段填充为np.nan
进行处理
data_cleaner['TotalCharges'] = data_cleaner['TotalCharges'].replace(' ',np.nan).astype(float)
3.3缺失值处理
TotalCharges 字段是客户的总计缴费,总计缴费=留存月数(tenure)×月度缴费(MonthlyCharges)
data_cleaner['TotalCharges'].fillna(data_cleaner['tenure']*data_cleaner['MonthlyCharges']
,inplace=True)
3.4异常值处理
本数据集的数据主要有两种类型,一种是以str类型为主的离散型数据,二是以int,float为主的连续型数值数据。
# 离散型数据
for i in data_cleaner.select_dtypes(include='object'):
print('\n','-'*20,i,'的值有')
print(data_cleaner[i].value_counts())
观察离散数据的分布情况,没有明显的异常值,各值均正常。
绘制连续型数值MonthlyCharges,TotalCharges 的箱型图与分布图,观察是否有异常值
由上图可知,字段MonthlyCharges,TotalCharges不存在异常值情况。
4.流失率的影响因素分析
4.1客户个人特征属性
客户的个人特征属性包括Gender(性别)、SeniorCitizen(是否为老年人)、Partner(是否有配偶)、Dependents(是否有子女)。
4.1.1 性别维度
总体样本中,女性与男性客户比例接近1:1,女性客户3488人,占比49.52%;男性客户3555人,占比50.48%
男女人数比例 | 男女流失人数占比 |
---|---|
将客户以性别分群,从上述环形图可知,该电信业务的男性客户稍多一些,但男女占比基本为1:1;客户流失方面,男女比例也基本持平,男女客户流失情况大致相同
作图并计算流失率,男性客户流失率在26.2%,女性客户流失率在26.9%,二者相差无几。因此可以断定,客户的性别与其是否流失并无直接联系。
4.1.2 年龄维度
将客户以是否为老年人进行分群,从客户体量来说,客户群体偏向年轻化,老年客户只占到所有客户的16.21%,仅为1142人;非老年人占83.79%,有5901人。非老年人与老年人用户占比接近5.2:1。老年人是样本中的小群体,大部分客户是非老年人
再用流失率对两组客户进行细分,作图并计算流失率,发现老年客户的流失率在41.68%,而非老年客户的流失率在23.61%。可以认为,客户的年龄与其是否流失有直接联系,老年人群相对于非老年人群更容易流失。
年龄维度流失占比 | 年龄维度流失率 |
---|---|
探究造成老年客户高流失率的原因。根据现实经验,老年人比较容易在电子产品上出现使用困难,尤其是在使用网络服务的时候。因此提取出老年客户的主要业务开通情况数据(包括电话业务、互联网业务以及技术支持服务)
Phone Service服务中的老年人订购情况 | 流失率 |
---|---|
Internet Service服务中的老年人订购情况 | 流失率 |
---|---|
由上图可知,90%以上的老年客户都开通了电话业务和互联网业务,其中互联网业务的覆盖率更是达到了95%以上。
从电话业务上看,无论是否开通此项业务,老年客户的流失率都是比较高的,均达到了40%+,猜测可能是老年客户的需求还没有被完全满足,具体是什么需求可以通过问卷、走访等形式进行调研。此外也不排除是由于死亡等不可抗力因素导致的流失。
然而,开通了互联网服务的老年客户的流失率却相当高,达到了43.21%,几乎是未开通这项服务的老年客户的流失率的5倍。这个数据在一定程度上验证了上文的猜想,老年客户确实存在上网困难的问题,这最终导致了他们的流失。另一方面,也可能是互联网业务本身存在一定的问题,比如网络不稳定或者价格与服务质量不相匹配等等。在后文会对此展开讨论。
对于使用上存在的问题,可以通过开通技术支持服务这项附加服务来解决。观察老年客户开通技术支持服务的情况。
Tech Support服务中的老年人订购情况 | 流失率 |
---|---|
大多数老年客户都开通了技术支持服务。通过计算发现,没有开通技术支持服务的老年客户的流失率在48.19%,而开通了技术支持服务的老年客户的流失率仅在19.62%。可以认为,开通技术支持服务能够有效缓解老年客户的流失情况。
4.1.3 亲属维度
Dependents | Dep_loss | Dep_loss_rate |
---|---|---|
Partner | Par_loss | Par_loss_rate |
---|---|---|
从图上可以发现,无配偶、无子女客户的流失率更高。
根据现实经验,有配偶或子女的人群在日常生活中使用手机的时长更长,他们更倾向于长期固定使用一个电话号码,而不是频繁更换移动运营商,因此他们流失率也相对较低。
将是否有配偶和是否有子女两列合并为是否有亲属列(有配偶或有子女),画出是否有亲属与在网时长、月租费、总费用之间的箱线图。
上图呈现出的结果与经验相符,有亲属客户的在网时长集中在20-60个月之间,而大多数无亲属客户的在网时长不到40个月。两类客户的月租费分布比较相似,有亲属客户的月租费整体相对高一些。然而总费用就呈现出显著的差异。有亲属客户的总费用集中在800-5000元之间,而无亲属客户的总费用集中在200-2400元之间。
从上图还可以观察到,一些客户虽然无配偶或子女,但他们已经成长为超级忠诚客户,在网时长、月租费和总费用都相当高。此外,上图也证明了,在网时长和总费用之间呈现出显著的正相关关系。
4.1.4 小结
- 性别与是否流失无关;年龄和亲属关系与是否流失有关。
- 老年客户的流失率更高,造成这种高流失率的原因可能是老年客户存在上网困难问题,而开通技术支持服务可以在一定程度上减少流失,也可能是互联网业务本身存在一定问题,更有可能是两者的共同作用
- 有亲属(即有配偶或子女)的客户流失率较低,相比无亲属的客户,他们的平均在网时长更长,月租费和总费用都要更高
4.2电信业务服务属性
包括PhoneService(电话业务)、InternetService(互联网业务)、MultipleLines(多线业务)、OnlineSecurity(在线安全业务)、OnlineBackup(在线备份业务)、DeviceProtection(设备保护业务)、TechSupport(技术支持业务)、StreamingTV(网络电视)、StreamingMovies(网络电影)
4.2.1电话业务
PhoneService | Ph_loss | Ph_loss_rate |
---|---|---|
90%以上的客户都开通了电话业务。开通了电话业务的客户流失率为26.71%,未开通电话业务的客户流失率为24.93%,二者差异不大。这说明从业务角度看,电话服务并不是导致流失的原因之一
4.2.2互联网业务
InternetService | In_loss | In_loss_rate |
---|---|---|
约有78%的客户开通了互联网服务,其中使用Fiber optic的客户占比较高,但其流失率也相当高,超过40%,差不多是DSL客户流失率的两倍。
根据现实经验,Fiber optic属于光纤,网速快且稳定,使用体验比DSL更好。 然而它却带来了相当惊人的客户流失率,因此可以断定Fiber optic存在一定的问题,必须尽快改进以提升这项业务的质量。
画出DSL和Fiber optic与月租费之间的箱型图,不难看出,开通了Fiber optic的客户的月租费几乎是开通DSL客户的月租费的两倍。很明显,高费用的Fiber optic并没有给客户带来相匹配的使用体验,优化该项业务迫在眉睫。
4.2.3附加业务
Multiple Lines | loss_number | loss_rate |
---|---|---|
OnlineSecurity | loss_number | loss_rate |
---|---|---|
OnlineBackup | loss_number | loss_rate |
---|---|---|
DeviceProtection | loss_number | loss_rate |
---|---|---|
TechSupport | loss_number | loss_rate |
---|---|---|
StreamingTV | loss_number | loss_rate |
---|---|---|
StreamingMovies | loss_number | loss_rate |
---|---|---|
从环形图来看,基本上每一项附加业务的开通客户数都在总体的30%左右,多线业务的开通人数比较多,在40%左右。而开通了在线安全、在线备份、设备保护和技术支持这四项附加业务的客户的流失率都比较低。
其中,未开通在线安全服务或技术支持服务的客户的流失率大概是已开通客户的流失率的两倍,说明这两项附加业务的开通确实可以显著地减少客户流失。
此外,涉及互联网服务支持的网络电视、电影业务的流失率相对较高,又一次印证了公司的基础互联网服务的确存在着比较大的问题。
4.2.4小结
- 从公司的两项主要业务来看,目前基础的互联网服务存在着比较大的问题。这之中使用Fiber optic的客户最多,但其带来的流失率也高得惊人。这可能是因为高额月费并没有给客户带来高质量的体验,因此优化业务迫在眉睫。依托互联网服务的网络电视和网络电影业务上的高流失率也证明了这一点
- 虽然公司的基础网络业务确实有一定问题,但是通过多项附加业务的补充,该问题带来的流失率可以被有效降低。其中,应当将在线安全服务和技术支持服务作为推荐给客户的附加业务的优先级
4.3客户消费属性
包括PaperlessBilling(账单形式)、PaymentMethod(支付方式)、Contract(合同签订方式)、tenure(在网时长)、MonthlyCharges(月租费)、TotalCharges(总费用)。
4.3.1账单形式
PaperlessBilling | loss_number | loss_rate |
---|---|---|
PaperlessBilling中,yes代表电子计费,No代表纸质化计费。从上图中可以得知,使用电子账单服务的客户流失率更高。这可能是因为,电子账单比较容易被忽视,带给客户的体验不佳
4.3.2支付方式
PaymentMethod | loss_number | loss_rate |
---|---|---|
使用电子支票支付的客户的流失率要远远高于其他方式,这可能是因为客户更习惯于传统的支票、银行卡支付方式,对电子支付的接纳度不高。
对比之下,使用银行或信用卡自动转账的客户的流失率最低,推测是因为无需人工操作,对于客户来说更加便捷,自动支付带来的消费惯性也会使得客户不会轻易更换运营商。因此应当引导客户采用其他三种方式进行支付,尤其是自动转账方式
4.3.3合同签订方式
Contract | loss_number | loss_rate |
---|---|---|
从环形图上可以看出,目前大多数客户仍然采用按月签订的方式;通过柱形图可以明显看到,合同签订方式对客户的流失率有较大的影响,合同期限越长,客户的流失率越低,客户的黏性也越大。按月签订合同的客户流失率非常高,达到42.71%。 当合同期限为1年时,流失率陡降至11.27%,合同期限为2年时,流失率仅有2.83%
画出合同签订期限与总费用之间的环形图。可以明显看到,签订长期合同(1年或2年)的用户贡献了60%以上的收入,也再一次表明,将月租客户逐渐发展为年租客户应当成为公司的一项重要发展策略
4.3.4在网时长
密度曲线表明,客户的流失率随着在网时长的增加而逐渐减少,在网时间越长,说明客户黏性越大,更不容易流失。此外,在网的第20个月是客户流失与否的分水岭。在20个月之前,尤其是前3个月,客户有着较高的流失率,因此应当在入网的前三个月尽可能让新客户感受到业务的价值所在。而在第20个月以后,客户的流失率越来越低,此时公司已经拥有了稳定的客户群。
从以上箱型图也可以看出,在网时间越长的客户,流失的可能性越低。 大多数未流失客户的在网时长都在16个月以上。客户的在网时长超过30个月的,其流失的可能性则比较小
还能观察到,有个别在网时间很长的客户也已经流失,这反映出公司对忠诚客户的关怀不足。
这里将在网时长作为整个客户生命。根据描述性统计,所有客户的平均生命周期大约为32个月,大多数客户的生命周期集中在8-56个月之间。画出所有客户的生命周期直方图
这是双峰趋势图。可以观察到,大量客户的生命周期集中在1-3个月。再一次证明,应当在前3个月尽量引导客户进行消费。此外,高质量的客户集中在67个月之后,他们属于忠诚用户。
4.3.5月度与年度费用
画出月租费的区间分布直方图。从图上可以直观地看到所有客户的月租费分布情况,以及每个费用区间的客户流失情况。显然,月租费在70-100元内的客户更容易流失。画出月租费在这一区间的客户流失率柱形图
计算得到,月租费在70-80元的客户流失率为39.82%,80-90元的客户流失率为36.12%,90-100元的客户流失率为37.80%。对于这部分客户,可以通过调研形式询问流失原因,若是由于月费价格高昂,则可以通过优惠券或减免形式对这一区间的在网客户进行补贴,以降低流失率
同样画出总费用的区间分布直方图,可以看到,流失率随着总费用的增长而不断降低,低消费人群更容易流失,总费用在2000元以内的客户的流失率最高,达到31.98%。这再一次证明,引导客户提高消费额度、延长客户合同存续期是提高客户留存、减少流失的不二之选。
4.3.6小结
- 客户的消费行为背后隐藏着他们的消费偏好,通过数据发现,客户更习惯纸质的账单形式和自动转账的支付方式,而使用电子账单和电子支付的客户的流失率则比较高
- 客户在网时间越长,总费用越高,流失率越低,客户黏性越大。月租费在70-100元间的客户、总费用低于2000元的客户更容易流失。易流失客户的生命周期通常为1-3个月,而生命周期达到67个月的则为高度忠诚用户,对这两种客户应当采取不同的留存和维系策略
- 延长客户的合同期限,推动客户从月签转向年签,引导客户提高消费额度,是提高留存的重要策略
5.流失预警模型构建
5.1 特征工程
根据上述分析,本文选取了以下17个与流失率较为相关的特征
df = data.loc[:,['SeniorCitizen','Partner','Dependents','tenure','PaperlessBilling','Contract','PaymentMethod'
,'InternetService','OnlineSecurity','OnlineBackup','DeviceProtection','StreamingTV','StreamingMovies'
,'TechSupport','MonthlyCharges','TotalCharges','Churn']]
创造新特征Families
df['P_trans'] = df['Partner'].map({'Yes':1,'No':0})
df['D_trans'] = df['Dependents'].map({'Yes':1,'No':0})
df['F_trans'] = df['P_trans'] + df['D_trans']
df['Families'] = df['F_trans'].apply(lambda x: 0 if x==0 else 1)
对分类型变量进行0-1编码处理
columns = ['PaperlessBilling','OnlineSecurity','OnlineBackup','DeviceProtection'
,'TechSupport','StreamingTV','StreamingMovies','']
for i in columns:
df[i] = df[i].apply(lambda x:1 if x=='Yes' else 0)
对标签进行编码处理
from sklearn.preprocessing import LabelEncoder
df['Churn'] = LabelEncoder().fit_transform(df['Churn'])
对连续性变量进行分箱处理
from sklearn.preprocessing import OrdinalEncoder
for i in ['tenure','MonthlyCharges','TotalCharges']:
df[i] = pd.cut(df[i],bins=10,right=False)
df[i] = df[i].astype(str)
df[i] = OrdinalEncoder().fit_transform(df[i][:,np.newaxis])
删除相关虚拟变量,减少多重共线性
df = df.drop(columns=['Contract_Month-to-month','PaymentMethod_Mailed check','InternetService_No','Partner'
,'Dependents','P_trans','D_trans','F_trans'])
5.2 模型构建
划分测试集与训练集
x = df.drop(columns=['Churn'])
y = df['Churn']
from sklearn.model_selection import train_test_split
xtrain,xtest,ytrain,ytest = train_test_split(x,y,train_size=0.8,random_state=0)
使用逻辑回归进行建模
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression().fit(xtrain,ytrain)
y_prod = lr.predict_proba(xtest)[:,1]
y_predict = lr.predict(xtest)
查看score与auc值
from sklearn.metrics import roc_curve,auc,accuracy_score
fpr_lr,tpr_lr,threshold_lr = roc_curve(ytest,y_prod)
auc_lr = auc(fpr_lr,tpr_lr)
score_lr = accuracy_score(ytest,y_predict)
print('准确率为{0},AUC值为{1}'.format(score_lr,auc_lr))
准确率为0.7856635911994322,AUC值为0.8160918640103579
通过建立流失预警模型,可以提前预判哪些客户存在流失风险,并及时采取措施对这些客户进行挽留。相比流失后召回,流失预警的成本低、召回难度也相对小。
6.结论与建议
1.根据客户个人属性分群制定策略
从数据来看,老年客户很可能因为在手机服务使用上存在一定困难而流失,而技术支持这项附加业务则可以有效改善这种状况,因此可以向老年客户推出包含电话、互联网和技术支持业务的温暖套餐,承诺定期线上回访。此外,还可以开通老年客户电信服务专线,将“送温暖”服务理念深入人心,进一步拉近与老年客户群之间的距离,提高留存率,也有利于吸纳更多的老年客户。
对于有亲属的客户,可以推出包含主要业务和所有附加业务的家庭年费套餐,给予一定的折扣优惠或者免费赠送三个月的影视会员,针对网络电视和电影服务,承诺在合同期限内提供免费的技术升级。也可以开发仅限配偶和子女之间的“亲人圈”业务,合同以年计,同城的亲属之间通话免费,以此作为“亲人圈”的卖点,吸引客户的亲属入网。
针对地点变动比较频繁的客户,推出“全国通”电话和流量套餐,力求减少这种不必要的流失。
2.设立客户忠诚计划,引入积分和会员体系
引入积分制度,建立积分商城。客户的任意电信消费都可以等额地兑换成积分,积累到地一定额度即可在积分商城内兑换虚拟或实物礼品,商城内也可以设置轮盘抽奖活动,增加趣味性、积分每年年底清零,公司也要定期向客户发送短信提醒其完成积分兑换。
建立会员体系,进行差异化的运营和管理。客户连续使用本公司电信服务达到三个月即自动入会,成为普通会员。再根据总消费金额向上划分会员等级,例如铂金、黄金、钻石会员等等。同时要为不同等级的会员,配置不同层次的权益。比如专属客服、积分翻倍、赠送节日礼包、纪念品等等。
3.吸纳新客户,维系老客户,召回流失客户
- 新客策略
根据图表分析,新客户在入网的前三个月最容易流失,而在短时间内留存客户的最有效手段就是让客户迅速感受并认同业务的价值。通过分析发现,电信附加业务可以在一定程度上弥补基础业务的不足。
因此,对于新客户,除了入网即赠送消费券、给予折扣等常规促销手段,还可以开展附加业务首月免费体验活动。让新客户通过体验增值服务,感受到本公司电信业务的便捷、快捷与安全性。另外可以规定,新客户签订的合同期限越长,其获得的折扣和福利也会越多。因为比起说服老用户转变月签方式,培养新的长约客户显然来得更加高效。
此外,开展老带新活动也是吸纳新客户的重要手段。经老客户推荐来的新客可以享受折上折,新客入网后老客即可获得积分,且拉新人数越多,积分越多。 - 老客策略
根据前文分析,在网时长超过20个月即可视为忠诚客户。对于忠诚客户,要定期维系和关怀,比如向客户发送生日短信、节日礼等等,忠诚客户的个性化需求也要满足。此外,也要定期对忠诚客户进行线上和线下回访,开展客户满意度调研,在优化当前业务的同时,发掘新的业务需求点。 - 流失客户策略
对于普通流失客户,可以通过批量发送短信或邮件的方式召回,内容中注明重新入网可享受的折扣优惠以及优惠的时限。
对于高价值流失客户,可以通过电话回访、赠送伴手礼的方式进行召回。此外,也可以通过举办优惠活动大面积召回流失客户。
4.提高业务服务质量,精准定位客户需求
从客户的消费行为数据来看,多数客户尚未习惯使用电子支付,他们更倾向于传统的纸质账单形式和支票、银行卡的付款方式。因此要大力推荐并引导新老客户使用这两种方式,进而延长客户的存续期。
从电信业务数据来看,目前互联网业务尤其是光纤方面仍然存在缺陷,对其进行技术改造和升级迫在眉睫。
此外,开通在线安全、在线备份等附加业务对流失率的有效降低反映出客户对安全、便捷的业务的日益增长的需求。但在目前来说,开通附加业务的客户数量还比较少,因此要向客户大力宣传推广这些业务,唤醒他们的需求意识。