掘金 人工智能 07月29日 12:21
【数据可视化】电信用户流失数据可视化分析:Python + Pyecharts 炫酷大屏(含完整数据、代码)
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文使用Python和Pyecharts对电信用户流失数据进行了深入的可视化分析。通过对用户性别、合同类型、入网时间、月度费用、总费用、付款方式及互联网服务类型等多个维度的数据解读,揭示了导致用户流失的关键因素。例如,新用户、按月签约用户、使用电子支票付款的用户以及未开通互联网服务的用户流失率较高。基于这些洞察,文章提出了优化合同策略、调整费用结构、改善付款方式及增强互联网服务等一系列切实可行的建议,旨在帮助电信企业有效降低用户流失率,提升客户忠诚度,为后续的流失预测奠定基础。

📊 **整体用户流失情况严峻**:数据显示约有26.5%的用户已流失,这是一个不容忽视的问题,需要引起企业高度重视并采取针对性措施。分析显示,女性用户流失率略高于男性用户,提示在用户关怀方面可能存在性别差异化需求。

⏳ **客户生命周期与流失密切相关**:用户入网时间越短,流失率呈现出明显升高的趋势,尤其是在入网20个月以内的用户群体中。这表明初期用户留存是关键,需要加强新用户的 onboarding 体验和早期关怀。

💰 **费用与合同是影响流失的重要因素**:按月签约的用户流失率最高,而两年期合同用户流失率最低,这凸显了合同期限对用户忠诚度的重要影响。同时,月度费用在70-100元区间的用户流失率偏高,而费用超过110元时流失率反而下降,总费用较低的用户也更容易流失,这提示在定价策略和价值感知上需要精细化运营。

💳 **支付方式与服务类型影响用户留存**:使用电子支票付款的用户流失率最高,而使用银行转账付款的用户流失率最低,这表明支付便利性和习惯对用户满意度有一定影响。此外,未开通互联网服务的用户流失率最高,而光纤互联网用户流失率最低,这强调了提供高质量互联网服务的重要性。

💡 **数据驱动的策略优化建议**:文章基于可视化分析结果,提出了具体的优化建议,包括鼓励用户签订长期合同、为新用户提供优惠套餐、优化付款方式选择(推广银行转账和信用卡支付)以及提升光纤互联网服务的质量和覆盖范围,这些策略旨在从多个维度提升用户满意度和忠诚度。

🧑 博主简介:曾任某智慧城市类企业算法总监,CSDN / 稀土掘金 等平台人工智能领域优质创作者。

目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。


一、引言

在电信行业,用户流失是一个关键问题,因为它直接影响到公司的收入和市场份额。通过分析用户流失的原因,我们可以制定有效的策略来减少流失率,提高用户满意度和忠诚度。本文将使用 Python 和 Pyecharts 对电信用户流失数据进行可视化分析,并构建一个炫酷的组合大屏。

二、数据集介绍

数据集包含以下字段:

三、环境准备

在开始之前,请确保安装了以下库:

pip install pandas pyecharts

四、数据预处理

我们首先读取数据,并进行必要的清洗和转换。

import pandas as pdfrom pyecharts import options as optsfrom pyecharts.charts import *from pyecharts.globals import ThemeTypefrom pyecharts.commons.utils import JsCode# 读取数据df = pd.read_csv("WA_Fn-UseC_-Telco-Customer-Churn.csv")# 将列名转换为中文df.columns = [    '用户ID''性别''是否老年人''是否有配偶''是否经济独立''用户入网时间',    '是否开通电话业务''是否开通多条电话业务''是否开通互联网服务''是否开通网络安全服务',    '是否开通在线备份服务''是否开通设备保护服务''是否开通技术支持业务''是否开通网络电视',    '是否开通网络电影''合同签订方式''是否开通电子账单''付款方式''月度费用',    '总费用''是否流失']# 将总费用列转换为浮点型df['总费用'] = pd.to_numeric(df['总费用'], errors='coerce').fillna(0)# 将是否流失列转换为数值型df['是否流失'] = df['是否流失'].map({'Yes'1'No'0})

五、可视化分析

接下来,我们将从多个角度对数据进行可视化分析。

5.1 用户流失率

我们首先查看整体的用户流失率。

# 用户流失率churn_rate = df['是否流失'].mean() * 100# 绘制饼图pie = (    Pie(init_opts=opts.InitOpts(theme='dark', bg_color='#000'))    .add("", [("未流失", 100 - churn_rate), ("流失", churn_rate)])    .set_global_opts(title_opts=opts.TitleOpts(title="用户流失率"))    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)")))

分析: 从饼图中可以看到,约 26.5% 的用户已经流失,这是一个值得关注的问题。

5.2 不同性别用户流失率

接下来,我们查看不同性别的用户流失率。

# 不同性别用户流失率gender_churn = df.groupby('性别')['是否流失'].mean().reset_index()# 绘制柱状图bar_gender = (    Bar(init_opts=opts.InitOpts(theme='dark', bg_color='#000'))    .add_xaxis(gender_churn['性别'].tolist())    .add_yaxis("流失率", gender_churn['是否流失'].round(2).tolist())    .set_global_opts(title_opts=opts.TitleOpts(title="不同性别用户流失率")))

分析: 从柱状图中可以看到,女性用户的流失率略高于男性用户。

5.3 不同合同类型用户流失率

我们再看看不同合同类型对用户流失率的影响。

# 不同合同类型用户流失率contract_churn = df.groupby('合同签订方式')['是否流失'].mean().reset_index()# 绘制柱状图bar_contract = (    Bar(init_opts=opts.InitOpts(theme='dark', bg_color='#000'))    .add_xaxis(contract_churn['合同签订方式'].tolist())    .add_yaxis("流失率", contract_churn['是否流失'].round(2).tolist())    .set_global_opts(title_opts=opts.TitleOpts(title="不同合同类型用户流失率")))

分析: 从柱状图中可以看到,按月签约的用户流失率最高,而两年签约的用户流失率最低。

5.4 用户入网时间与流失率

接下来,我们查看用户入网时间与流失率的关系。

# 用户入网时间与流失率tenure_churn = df.groupby('用户入网时间')['是否流失'].mean().reset_index()# 绘制折线图line_tenure = (    Line(init_opts=opts.InitOpts(theme='dark', bg_color='#000'))    .add_xaxis(tenure_churn['用户入网时间'].tolist())    .add_yaxis("流失率", tenure_churn['是否流失'].round(2).tolist())    .set_global_opts(title_opts=opts.TitleOpts(title="用户入网时间与流失率")))

分析: 从折线图中可以看到,用户入网时间越短,流失率越高。特别是入网时间在 20 个月以内的用户,流失率较高。

5.5 月度费用与流失率

我们再看看月度费用对用户流失率的影响。

# 月度费用与流失率monthly_charges_churn = df.groupby(pd.cut(df['月度费用'], bins=10))['是否流失'].mean().reset_index()# 绘制折线图line_monthly = (    Line(init_opts=opts.InitOpts(theme='dark', bg_color='#000'))    .add_xaxis(monthly_charges_churn['月度费用'].astype(str).tolist())    .add_yaxis("流失率", monthly_charges_churn['是否流失'].round(2).tolist())    .set_global_opts(title_opts=opts.TitleOpts(title="月度费用与流失率")))

分析: 从折线图中可以看到,月度费用高于110,流失率会降低。特别是月度费用在 70-100 元之间的用户,流失率较高。

5.6 总费用与流失率

我们再看看总费用对用户流失率的影响。

# 总费用与流失率total_charges_churn = df.groupby(pd.cut(df['总费用'], bins=10))['是否流失'].mean().reset_index()# 绘制折线图line_total = (    Line(init_opts=opts.InitOpts(theme='dark', bg_color='#000'))    .add_xaxis(total_charges_churn['总费用'].astype(str).tolist())    .add_yaxis("流失率", total_charges_churn['是否流失'].round(2).tolist())    .set_global_opts(title_opts=opts.TitleOpts(title="总费用与流失率")))

分析: 从折线图中可以看到,总费用较低的用户流失率较高,而总费用较高的用户流失率较低。

5.7 不同付款方式用户流失率

我们再看看不同付款方式对用户流失率的影响。

# 不同付款方式用户流失率payment_churn = df.groupby('付款方式')['是否流失'].mean().reset_index()# 绘制柱状图bar_payment = (    Bar(init_opts=opts.InitOpts(theme='dark', bg_color='#000'))    .add_xaxis(payment_churn['付款方式'].tolist())    .add_yaxis("流失率", payment_churn['是否流失'].round(2).tolist())    .set_global_opts(title_opts=opts.TitleOpts(title="不同付款方式用户流失率")))

分析: 从柱状图中可以看到,使用电子支票付款的用户流失率最高,而使用银行转账付款的用户流失率最低。

5.8 不同互联网服务类型用户流失率

最后,我们看看不同互联网服务类型对用户流失率的影响。

# 不同互联网服务类型用户流失率internet_churn = df.groupby('是否开通互联网服务')['是否流失'].mean().reset_index()# 绘制柱状图bar_internet = (    Bar(init_opts=opts.InitOpts(theme='dark', bg_color='#000'))    .add_xaxis(internet_churn['是否开通互联网服务'].tolist())    .add_yaxis("流失率", internet_churn['是否流失'].round(2).tolist())    .set_global_opts(title_opts=opts.TitleOpts(title="不同互联网服务类型用户流失率")))

分析: 从柱状图中可以看到,未开通互联网服务的用户流失率最高,而开通光纤互联网服务的用户流失率最低。

六、组合大屏

最后,我们将所有图表组合成一个炫酷的大屏。

# 组合大屏page = Page(layout=Page.DraggablePageLayout)page.add(pie, bar_gender, bar_contract, line_tenure, line_monthly, line_total, bar_payment, bar_internet)page.render("telecom_churn_dashboard.html")print("✅ 已生成 telecom_churn_dashboard.html")

七、总结

通过上述可视化分析,我们可以清晰地看到电信用户流失的多个关键因素:

基于这些分析结果,我们可以制定以下策略来降低用户流失率:

    优化合同策略:鼓励用户签订长期合同,如两年合同,以降低流失率。调整费用结构:对于新用户,提供优惠的月度费用和总费用套餐,以吸引他们入网并长期使用。改善付款方式:提供更多的付款方式选择,特别是银行转账和信用卡支付,以提高用户满意度。增强互联网服务:为用户提供高质量的互联网服务,特别是光纤互联网服务,以提高用户忠诚度。

希望这篇文章能帮助你更好地理解和分析电信用户流失数据。为后续的客户的流失预测奠定基础,如果你有任何问题或建议,欢迎在评论区留言!🎉


如果您在人工智能领域遇到技术难题,或是需要专业支持,无论是技术咨询、项目开发还是个性化解决方案,我都可以为您提供专业服务,如有需要可站内私信或添加下方VX名片(ID:xf982831907)

期待与您一起交流,共同探索AI的更多可能!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

电信用户流失 可视化分析 Pyecharts 用户留存 数据挖掘
相关文章