用户dsn保存位置‘_电信用户流失分析与预测

背景
提出问题
理解数据
数据清洗
可视化分析
用户流失预测
结论和建议

背景

关于用户留存有这样一个观点,如果将用户流失率降低5%,公司利润将提升25%-85%。如今高居不下的获客成本让电信运营商遭遇“天花板”,甚至陷入获客难的窘境。随着市场饱和度上升,电信运营商亟待解决增加用户黏性,延长用户生命周期的问题。因此,电信用户流失分析与预测至关重要。

数据集来自kaggle。

提出问题

  1. 分析用户特征与流失的关系。
  2. 从整体情况看,流失用户的普遍具有哪些特征?
  3. 尝试找到合适的模型预测流失用户。
  4. 针对性给出增加用户黏性、预防流失的建议。

理解数据

根据介绍,该数据集有21个字段,共7043条记录。每条记录包含了唯一客户的特征。

1ecb527342550e71b3c0ddf19e59bdb9.png

利用Jupyter Notebook工具,采用Python结合matplotlib、seaborn、sklearn等工具包进行进行用户流失可视化分析和预测。

数据清洗

数据清洗的“完全合一”规则[1]

1. 完整性:单条数据是否存在空值,统计的字段是否完善。
2. 全面性:观察某一列的全部数值,通过常识来判断该列是否有问题,比如:数据定义、单位标识、数据本身。
3. 合法性:数据的类型、内容、大小的合法性。比如数据中是否存在非ASCII字符,性别存在了未知,年龄超过了150等。
4. 唯一性:数据是否存在重复记录,因为数据通常来自不同渠道的汇总,重复的情况是常见的。行数据、列数据都需要是唯一的。

导入工具包。

#!/user/bin/env python 3

导入数据集文件。

# 使用open方法可以在路径中包含中文

查看数据集信息,查看数据集大小,并初步观察前10条的数据内容。

# 查看数据集大小

查看数据是否存在Null,没有发现。

# Null计数

4d38acd57770e2c48475bbb2b6f554c9.png

查看数据类型,根据一般经验,发现‘TotalCharges’总消费额的数据类型为字符串,应该转换为浮点型数据。

# 查看数据类型

e2cf5d204d39d57c851bf4a38e1b83ca.png

将‘TotalCharges’总消费额的数据类型转换为浮点型,发现错误:字符串无法转换为数字。

#customerDf[['TotalCharges']].astype(float)

依次检查各个字段的数据类型、字段内容和数量。最后发现“TotalCharges”(总消费额)列有11个用户数据缺失。

# 查看每一列数据取值

cb995c53bcd8c05a11f2500775fa6f09.png

采用强制转换,将“TotalCharges”(总消费额)转换为浮点型数据。

#强制转换为数字,不可转换的变为NaN

转换后发现“TotalCharges”(总消费额)列有11个用户数据缺失,为NaN。

test

经过观察,发现这11个用户‘tenure’(入网时长)为0个月,推测是当月新入网用户。根据一般经验,用户即使在注册的当月流失,也需缴纳当月费用。因此将这11个用户入网时长改为1,将总消费额填充为月消费额,符合实际情况。

print

503b9a4309d7abee7c006a18a2721399.png

0f7ad7d3eb2002fcf100cb4aa88debaf.png
#将总消费额填充为月消费额

e7691c318b568180293a77614b91056e.png
# 将‘tenure’入网时长从0修改为1

查看数据的描述统计信息,根据一般经验,所有数据正常。

# 获取数据类型的描述统计信息

6d2a98c7edc33606362e75c3aed41a2e.png

可视化分析

根据一般经验,将用户特征划分为用户属性、服务属性、合同属性,并从这三个维度进行可视化分析。

6c59c984c5a3abcafdd0ce122aa9bf74.png

查看流失用户数量和占比。

#保存图片自定义函数

ecd0005af2576b486fedddc881bb214f.png
# 使用catplot需要安装seaborn V0.9.0:conda install seaborn==0.9.0

27af1514b032196396ba67240b38df54.png
  • 属于不平衡数据集,流失用户占比达26.54%。

(1)用户属性分析

def 

ccf47e97eb6795746528e2c2a01ef7aa.png

6b74e9bc0d53487f043345966837acf9.png
customerDf

de47f19657c074eea1d80e5584f35e3b.png

小结:

  • 用户流失与性别基本无关;
  • 年老用户流失占显著高于年轻用户。
fig

6c02c793f1abba42674a2349c549e2c2.png
# Kernel density estimaton核密度估计

8b03a33688a964f60e33ad2a98abaa2c.png

小结:

  • 有伴侣的用户流失占比低于无伴侣用户;
  • 有家属的用户较少;
  • 有家属的用户流失占比低于无家属用户;
  • 在网时长越久,流失率越低,符合一般经验;
  • 在网时间达到三个月,流失率小于在网率,证明用户心理稳定期一般是三个月。

(2)服务属性分析

plt

ca6c663e3380da7972b82e227bde0aa1.png
plt

53c89751593b51badec359cc3ab3be7c.png
cols 

22783ab4257a8c6f8174c3dda7e605c4.png
plt

13aa31f26a345d3fb1af8bf5bf616fe0.png
  • 电话服务整体对用户流失影响较小。
  • 单光纤用户的流失占比较高;
  • 光纤用户绑定了安全、备份、保护、技术支持服务的流失率较低;
  • 光纤用户附加流媒体电视、电影服务的流失率占比较高。

(3)合同属性分析

plt

2151121c7c0e356fc7e6911afec0c4a8.png
g 

de47f19657c074eea1d80e5584f35e3b.png
kdeplot

f2c98e04d0f2af22a76678e84893f176.png

9f6c77fabef26c899f16a435878c1728.png

小结:

  • 采用电子支票支付的用户流失率最高,推测该方式的使用体验较为一般;
  • 签订合同方式对客户流失率影响为:按月签订 > 按一年签订 > 按两年签订,证明长期合同最能保留客户;
  • 月消费额大约在70-110之间用户流失率较高;
  • 长期来看,用户总消费越高,流失率越低,符合一般经验。

通过以上分析,可以得到较高流失率的人群特征,具有这些特征的人群需要对其进行运营,增加用户黏性,延长其生命周期价值。

7062121eca5f489206fcf5fa1f1751b4.png

用户流失预测

对数据集进一步清洗和提取特征,通过特征选取对数据进行降维,采用机器学习模型应用于测试数据集,然后对构建的分类模型准确性进行分析。

(1)数据清洗

customerID

观察数据类型,发现大多除了“tenure”、“MonthlyCharges”、“TotalCharges”是连续特征,其它都是离散特征。对于连续特征,采用标准化方式处理。对于离散特征,特征之间没有大小关系,采用one-hot编码;特征之间有大小关联,则采用数值映射。

获取离散特征。

cateCols 

进行特征编码[2]

for 

查看关联关系

plt

50cc05e315132137407c981b5f173fe4.png

(2)特征选取

# 特征选择

构造训练数据集和测试数据集。

# 列表:特征

(3)构建模型

构造多个分类器,

# 构造各种分类器

(4)模型参数调优和评估

对分类器进行参数调优和评估,最后得到试用AdaBoostClassifier(n_estimators=80)效果最好。

# 对具体的分类器进行 GridSearchCV 参数调优

(5)实施方案

由于没有预测数据集,选择最后10条数为例进行预测。

# 使用上述得到的最优模型

4611eb6aeac353e484a8b1ef6ed601a6.png

结论和建议

根据以上分析,得到高流失率用户的特征:

  1. 用户属性:老年用户,未婚用户,无亲属用户更容易流失;
  2. 服务属性:在网时长小于半年,有电话服务,光纤用户/光纤用户附加流媒体电视、电影服务,无互联网增值服务;
  3. 合同属性:签订的合同期较短,采用电子支票支付,是电子账单,月租费约70-110元的客户容易流失;
  4. 其它属性对用户流失影响较小,以上特征保持独立。

针对上述结论,从业务角度给出相应建议:

  1. 根据预测模型,构建一个高流失率的用户列表。通过用户调研推出一个最小可行化产品功能,并邀请种子用户进行试用。
  2. 用户方面:针对老年用户、无亲属、无伴侣用户的特征退出定制服务如亲属套餐、温暖套餐等,一方面加强与其它用户关联度,另一方对特定用户提供个性化服务。
  3. 服务方面:针对新注册用户,推送半年优惠如赠送消费券,以渡过用户流失高峰期。针对光纤用户和附加流媒体电视、电影服务用户,重点在于提升网络体验、增值服务体验,一方面推动技术部门提升网络指标,另一方面对用户承诺免费网络升级和赠送电视、电影等包月服务以提升用户黏性。针对在线安全、在线备份、设备保护、技术支持等增值服务,应重点对用户进行推广介绍,如首月/半年免费体验。
  4. 合同方面:针对单月合同用户,建议推出年合同付费折扣活动,将月合同用户转化为年合同用户,提高用户在网时长,以达到更高的用户留存。 针对采用电子支票支付用户,建议定向推送其它支付方式的优惠券,引导用户改变支付方式。

参考

  1. ^《数据分析实战45讲》11 | 数据科学家80%时间都花费在了这些清洗任务上? https://time.geekbang.org/column/article/76307
  2. ^Churn prediction: tutorial with Sklearn https://www.kaggle.com/jsaguiar/churn-prediction-tutorial-with-sklearn
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页