Kaggle-电信客户流失分析及应对措施
分析原因
在产品使用过程中,一些用户会因为各式各样的原因而不再使用我们的产品, 这些用户难道就任由他们流失了吗?
分析目标
正面,通过对流失客户的分析,我们产品质量和生命周期得到优化
反面,分析所有相关的客户数据,并开发针对性的客户保留服务
分析背景
项目数据来源于Kaggle-电信客户流失
数据集内容
1. 上个月内离开的客户–该列称为“客户流失”
2. 每个客户已签署的服务-电话,多条线路,互联网,在线安全,在线备份,设备保护,技术支持以及流电视和电影
3. 客户帐户信息–他们成为客户的时间,合同,付款方式,无纸化账单,每月费用和总费用
4. 有关客户的人口统计信息-性别,年龄范围以及他们是否有伴侣和受扶养人
分析流程
**首先我们导入PYTHON分析用的包,并对数据进行简单的观察
接下来对数据进行预处理
我们通过观察发现并未出现缺失值,但是customerID这项特征似乎对我们分析没有用,可以先将它剔除
我们首先分析核心特征:客户流失
上个月内离开的客户占到26.6%
接下来我们分析其他特征
gender:性别
看到女性的流失率稍微高于男性
seniorcitizens:是否为老年人
老年人的流失率明显高
Partner:是否有伴侣
Dependents:是否有受抚养人
PhoneService:是否有电话服务
PaperlessBilling:是否采用无纸账单
对于这几项数据,应该对流失率的影响大不大,我们可以将其转化类型,稍后带入机器模型中逐一比较
tenture:用户使用时长,单位月
分析得出,流失率在20月之前是最高的,看来20个月是个很关键的分水岭,我们如果要提升客户转化率不妨从这个时间点入手
MultipulLines:客户是否有多条线路(是,否,没有电话服务)
对于这种多指标的特征,我们可以另取方法,例如pd.get_dummies,这里我观察到可以将No phone service与No合并
InternetService:客户的互联网服务提供商(DSL,光纤,否)
对于这种无法合并的数据,我们就可以使用get_dummies
同理我认为无关紧要的特征,就直接把它们数值化,稍后代入模型
PaymentMethod:客户付款方式
Contract:合同
同理get_dummies
MonthlyCharges:月费月费大于60会导致客户大量流失,这个60是一个关键点,我们或许可以适当减少月费,或者让利促销
TotalCharges:总费用
当我对其进行数据类型转换时,“Unable to parse string “” at position 488”,我们首先要剔除空白值再进行转换
大多数流失的客户处于总费用2000以下
以上就是所有特征分析,最后我们将建立随机森林模型,使流失特征与每项特征进行交叉验证,最终得到的准确率为78%
随机森林算法(RandomForest)的输出有一个变量是 feature_importances_ , 特征重要性
带入可以得到每个特征所占的的比重,再将其进行可视化
可以很清楚的看到,前三项占权重最高,分别是,总费用,月费用,使用月长
分析结果
由以上分析得知,对客户流失影响较大的几个因素
- 总费用:大于2000会导致客户大量流失
- 月费:大于60会导致客户大量流失
- 使用时长:流失率在20月之前是最高的,看来20个月是个很关键的分水岭
制定策略
降低用户流失,设置用户流失预警机制
细分策略:
通过建立细分模型将具有流失倾向用户分成若干群组,分析得出流失可能性较高群组特征,并制定针对性的营销措施进行挽留,例如特殊福利折扣,优化流程、引导文案,等等
评分策略:
将频道高价值客户单独分群,对高价值客户的流失可能性进行建模评分,频道对流失得分较高的高价值用户给予格外关注,设计合适的挽留措施进行挽留
对流失用户进行召回
- 福利召回:优惠券,现金红包,体验金等福利
- 活动召回:节假日折扣,周年庆等
总结
通过此次项目练习,我受益匪浅,认识到最重要的还是建立客户对产品的信任