学习笔记 | 生活平淡又惊奇

⭐ 用户流失数据的发掘与分析(数据分析及机器学习建模)

2022.07.02

1、项目实验介绍

  • 分析目的:
    • 找出影响电信用户流失的关键因素
    • 分析流失原因,给出可落地的意见
  • 思路:
    • 建模找出与客户流失相关重要特征
    • 分析特征找出应对流失的主要手段
    • 客户分类,根据不同类型客户给出更具针对性的建议

深入了解电信用户画像及行为偏好,挖掘出影响用户流失的关键因素,并通过算法预测客户流失的结果,从而更好地完善产品、提升用户体验。

2、数据集介绍

本数据集描述了电信用户是否流失以及其相关信息,共包含7044条数据,共20个字段

  • customerID :用户ID。
  • gender:性别。(Female & Male)
  • SeniorCitizen :老年人 (1表示是,0表示不是)
  • Partner :是否有配偶 (Yes or No)
  • Dependents :是否经济独立 (Yes or No)
  • tenure :客户的职位(0-72,共73个职位)
  • PhoneService :是否开通电话服务业务 (Yes or No)
  • MultipleLines:是否开通了多线业务(Yes 、No or No phoneservice 三种)
  • InternetService:是否开通互联网服务 (No, DSL数字网络,fiber optic光纤网络 三种)
  • OnlineSecurity:是否开通网络安全服务(Yes,No,No internetserive 三种)
  • OnlineBackup:是否开通在线备份业务(Yes,No,No internetserive 三种)
  • DeviceProtection:是否开通了设备保护业务(Yes,No,No internetserive 三种)
  • TechSupport:是否开通了技术支持服务(Yes,No,No internetserive 三种)
  • StreamingTV:是否开通网络电视(Yes,No,No internetserive 三种)
  • StreamingMovies:是否开通网络电影(Yes,No,No internetserive 三种)
  • Contract:签订合同方式 (按月,一年,两年)
  • PaperlessBilling:是否开通电子账单(Yes or No)
  • PaymentMethod:付款方式(bank transfer,credit card,electronic check,mailed check)
  • MonthlyCharges:月费用
  • TotalCharges:总费用
  • Churn:该用户是否流失(Yes or No)

3、实验

相关代码可以在colab链接中找到:
https://colab.research.google.com/drive/1dpCi2KtaOyNvwseIsXnrX28VRUYKCkET?usp=sharing
数据集可以在下面的链接中下载:
https://www.datafountain.cn/datasets/35
整个实验流程大致如下图所示,根据关键步骤的操作画了一个流程图
主要的关键步骤有6个:读取数据、数据清洗、数据分析可视化呈现、数据预处理、构建模型、模型预测
用户流失数据流程图

4、实验结果分析

4.1、目标变量分析

1_300dpi
拿到数据后作为一个分类任务,首先看一下给的数据中目标变量的分类情况,可以看到这里的数据中有73.4%的客户维持现状而有26.6%的客户流失,超过了四分之一的人因为各种原因没能维持原有的选择。

4.2 特征相关性分析

2_300dpi

【数值映射】
该热力图展示的是20个变量之间相关的相关系数,使用数值映射构造出了该矩阵。方格颜色越红说明相似系数越接近1,那么对应两个变量之间就会更相似,反之则相反。
从图上可以发现中间一部分的矩形颜色更接近红色,互联网服务、网络安全服务、在线备份业务、设备保护业务、技术支持服务、网络电视和网络电影之间存在较强的相关性,多线业务和电话服务之间也有很强的相关性,并且都呈强正相关关系。

3_300dpi-1656915863925

【one-hot编码】
这张柱形图采用的是one-hot编码得到的相关系数情况,是每一个特征变量对目标变量间的相关系数。其中绿色代表相关系数是正的,红色表示相关系数是负的,我们需要关注的是中间一部分柱形比较低的值。可以发现变量gender和PhoneService处于图形中间,其值接近于0,这两个变量对电信客户流失预测影响非常小,后续数据预处理时可以直接舍弃。

4.3、特征变量对目标变量的影响分析

(即20个特征对客户流失的影响情况是什么样的,特征变量的选择可以根据前面的一些相关性分析来选择。尽量选择那些相关性较大的特征)

4.3.1、老年人、配偶、经济独立

4_300dpi-1656916614703

  • 图1:在老年用户中流失占比明显比非老年用户更高
  • 图2:在所有数据中未婚与已婚人数基本持平,但未婚中流失人数比已婚中的流失人数高出了快一倍
  • 图3:有亲属从而经济未独立的用户流失率要远远高于经济独立的用户

4.3.2、网络安全服务、在线备份业务、设备保护业务、技术支持服务、网络电视和网络电影

5_300dpi

在网络安全服务、在线备份业务、设备保护业务、技术支持服务、网络电视和网络电影六个变量中 ,没有互联网服务的客户流失率值是相同的,都是相对较低。这可能是因为以上六个因素只有在客户使用互联网服务时才会影响客户的决策,这六个因素不会对不使用互联网服务的客户决定是否流失产生推论效应

4.3.3、签订合同方式

6_300dpi
签订合同方式对客户流失率影响为:按月签订>按一年签订>按两年签订,这可能表明,设定长期合同对留住现有客户更有效

4.3.4、 付款方式

7_300dpi
在四种支付方式中,使用Electronic check的用户流失率最高,其他三种支付方式基本持平,因此可以推断电子账单在设计上影响用户体验

4.4、建模结果

image-1656917227692
最后选择F1分数最大(63.31%)的朴素贝叶斯(Naive Bayes)作为最后的模型,上图第三列为模型预测值,第四列为用户流失的真实值,相对比之后可以发现模型准确率还是挺高的

4.5、实验结果分析

面对电信用户流失这一问题我们选择了相关数据进行建模分析,作为一个典型的机器学习分类问题,我们选择了相关的模型最终得到了一个合理又具有高准确率的预测模型。在建模过程中我们可以得到以下这些结论来更好的帮助企业减少用户流失,增加用户粘性,从而进一步提升业绩营收。

  • 4.2:性别对用户流失的影响不大,所以在营销策划中可以不需要考虑针对不同性别的促销活动
  • 4.2:电话服务对用户流失也没有直接影响,所以不需要为了留住客户来让他们增加电话服务
  • 4.3.1:老年人、未婚、经济未独立的年轻人,这三个人群更容易流失,因此在维持客户时要更多关注这些群体,了解他们的需求来尽量减少这些群体的客户流失率
  • 4.3.2:提供的各种网络服务可以更好的降低用户的流失率
  • 4.3.3:长期合同对留住现有客户更有效,所以在签订合同时希望尽可能的增加合同的有效期
  • 4.3.4:使用电子账单会造成较多用户的流失,因此相关部门应注意用户这方面的体验

5、后期补充学习

  • 缺失值的处理(进行系统整理)
  • 异常点的处理(进行系统整理)
  • 十种模型的思路再进行复习整理
  • 十种模型的训练方式代码
  • SHAP模型对多种机器学习模型的应用
  • 整理一下机器学习的主要框架/主要任务