Python电信客户流失预测研究:神经网络、K-Means聚类、RFM、CART决策树、Logistic回归、SVM多模型融合及客户分群

原文链接:https://tecdat.cn/?p=43458
原文出处:拓端数据部落公众号

分析师:Yuhui Jiang

封面图

封面图

电信行业正面临前所未有的存量竞争压力。根据工信部数据,2022年全国移动电话用户规模达16.6亿,渗透率超118%,新增用户红利基本耗尽,而用户流失率每降低1%,运营商年营收可提升3%-5%。在此背景下,如何通过数据驱动精准识别高流失风险客户、制定针对性挽留策略,成为运营商突围的关键。


本报告基于实战项目经验,系统拆解电信客户流失预测的全流程。我们以4972条真实客户数据为样本,通过Python工具链(pandas、scikit-learn等)完成从数据清洗到模型部署的闭环,创新点在于将RFM客户价值分析思想与机器学习模型融合,实现“分群-预测-挽留”的精细化运营。
本报告专题项目文件已分享在交流社群,阅读原文进群咨询、定制数据报告和600+行业人士共同交流和成长。

01 行业背景:电信用户流失的现实挑战

通信行业的竞争格局在十年间发生了根本性变化。2010年前后,用户选择运营商主要依赖网络覆盖,“转网成本高”使得客户黏性天然较强;而随着携号转网政策全面落地、5G套餐同质化加剧,用户决策门槛大幅降低——调研显示,仅17%的用户会因“网络质量”坚持使用原运营商,其余用户更关注套餐性价比与服务体验。
市场饱和与用户选择权提升的双重作用,使得“存量保卫战”成为运营商的核心战略。某省级运营商数据显示,2023年其用户流失率较2019年上升2.3个百分点,而挽回一个流失客户的成本是维持一个现存客户的4.2倍。这意味着,传统“广撒网”式的挽留策略已失效,必须通过数据挖掘锁定高风险客户,实现精准干预。

02 数据准备:从原始数据到可用样本
2.1 数据概览

本次分析使用的电信客户数据集包含18个字段,涵盖客户基本属性(如地区)、消费行为(如白天通话时长Day_Mins)、服务使用(如是否开通国际计划Intl_Plan)及流失标签(Churn)。其中,定量变量14个(如通话时长、费用),定性变量4个(如地区、流失状态),样本量初始为5000+条。

2.2 数据清洗实战

数据清洗的核心目标是消除“噪声”,确保模型输入可靠。我们通过Python完成以下操作:

  • 缺失值处理:使用pandas的isna()方法检测缺失值,结果显示无缺失记录(代码示例:df.isna().sum()),无需填充。

  • 异常值处理:采用箱线图识别定量变量中的极端值(图1),发现白天通话时长(Day_Mins)、国际通话次数(Intl_Calls)等字段存在离群点。

处理规则:对单字段异常值,用该字段均值替换;对多字段同时异常的记录(如通话时长、费用均远超合理范围)直接删除,最终保留有效样本4972条,流失客户占比14.18%(图2)。

03 探索性分析:流失特征的关键发现

通过交叉分析与统计描述,我们识别出三个核心规律:

  • 地区影响有限:三个地区的流失率分别为13.86%、14.15%、14.85%,差异在1%以内,说明地域不是关键变量(表2)。

  • 国际计划用户风险高:开通国际计划的客户流失率达41.95%,是未开通用户(11.27%)的3.7倍(表3),推测其对资费敏感度更高。

  • 服务交互频次关联流失:客服联系次数(CustServ_Calls)越多的客户,流失概率越高——这提示“被动服务”可能反映用户不满。

04 客户分群:基于RFM思想的K-Means实践

不同客户的挽留价值差异显著,我们结合电信行业特点,将RFM模型改造为“通话时长+消费金额+时段偏好”的分群维度,选取8个核心特征(如白天通话费用Day_Charge、夜间通话时长Night_Mins)进行聚类。

----------------------------------------------------------------------------------------------------------------------------

相关文章 

相关文章图

专题|R语言、SPSS电信客户流失预测实例汇总:KNN、决策树、聚类、RFM分群、挽留策略研究

原文链接:https://tecdat.cn/?p=41115

----------------------------------------------------------------------------------------------------------------------------

4.1 聚类流程
  • 特征标准化:通过StandardScaler消除量纲影响(代码:scaler = StandardScaler(); X_scaled = scaler.fit_transform(features))。

  • 最优K值确定:绘制手肘图(图3),当K=4时,聚类内误差平方和(SSE)下降速率明显放缓,故分为4类。

4.2 分群结果解读

雷达图(图5)显示四类客户的显著差异:

  • 类别1:夜间通话主导(Night_Mins/Night_Charge高),流失率12.86%;

  • 类别2:傍晚通话活跃(Eve_Mins/Eve_Charge高),流失率11.02%;

  • 类别3:轻度使用(各指标均低),流失率11.53%;

  • 类别4:白天通话高频+国际需求(Day_Mins/Intl_Mins高),流失率21.55%(图6)。

05 预测模型:四类算法的实战对比

我们选取四种经典模型,基于“8:2”划分的训练集与测试集进行验证,核心指标如下:

5.1 CART决策树

通过基尼指数选择分裂特征,发现白天通话时长(Day_Mins)为首个分裂节点(图8)。剪枝后(CP=0.014,图9)模型准确率93.9%,AUC=0.88(图10),优势在于可解释性强,适合业务方理解关键影响因素。

5.2 Logistic回归

经逐步回归筛选出9个显著变量(如Intl_Plan、CustServ_Calls),模型表达式为:
Y=2.05X1+2.19X2+0.04X3+…+0.46X9(X1为Intl_Plan,X9为CustServ_Calls)
AUC=0.84(图12),适合需要量化变量影响权重的场景。

5.3 支持向量机(SVM)

采用径向基核函数处理非线性关系,测试集准确率94.5%,AUC=0.91(图13),对复杂特征交互的捕捉能力优于线性模型。

5.4 BP神经网络

构建三层隐含层(11-6-3节点),relu+sigmoid激活函数组合,测试集准确率95.3%,AUC=0.92(图16),综合性能最优,但需注意过拟合风险。


06 业务建议:分群施策的挽留方案

结合分群结果与模型洞察,针对性策略如下:

  • 类别4客户(高流失风险):推出“白天畅聊+国际分钟包”组合套餐,附加专属客服通道,降低服务响应时间;

  • 国际计划用户:设计“阶梯式国际资费”(时长越长单价越低),减少因资费敏感导致的流失;

  • 客服高频联系用户:建立“预警-回访”机制,当CustServ_Calls≥3次时,主动推送个性化补偿方案(如流量赠送)。

附:核心代码模板(可直接运行)
# K-Means聚类分群完整代码
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
# 1. 数据加载
df = pd.read_csv("telecom_data.csv")
# 2. 特征选择(RFM思想8个指标)
features = df[['Day_Mins', 'Day_Charge', 'Eve_Mins', 'Eve_Charge', 
'Night_Mins', 'Night_Charge', 'Intl_Mins', 'Intl_Charge']]
# 3. 标准化处理
scaler = StandardScaler()
features_scaled = scaler.fit_transform(features)
# 4. 聚类(K=4)
kmeans = KMeans(n_clusters=4, random_state=42)
df['cluster'] = kmeans.fit_predict(features_scaled)
# 5. 查看分群结果
print(df['cluster'].value_counts())

封面图 

关于分析师

在此对 Yuhui Jiang 对本文所作的贡献表示诚挚感谢,他在安徽大学完成了应用统计专业的硕士学位,专注数据领域相关研究。擅长 R 语言、Python、matlab,在数据处理、可视化及数据挖掘方面具备扎实能力。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值