银行客户流失率分析-数据可视化报告
银行客户流失率分析-数据可视化报告
在当前竞争激烈的金融环境中,银行客户流失已成为影响银行业绩的关键问题。客户流失不仅直接减少收入,还增加了获客成本,因此,预防客户流失对银行至关重要。本文将通过数据分析和可视化的方式,深入分析银行客户流失率的影响因素,并提出相应的业务改进建议。
一、项目背景
在当前竞争激烈的金融环境中,银行客户流失已成为影响银行业绩的关键问题。客户流失不仅直接减少收入,还增加了获客成本,因此,预防客户流失对银行至关重要。本项目根据这一实际需求,参考2022BI数据分析大赛作品的分析思路,旨在为制定客户挽留策略提供科学依据的同时,精进数据可视化技术以及加深对项目流程的理解。
二、数据来源及说明
本项目的数据来源于Kaggle平台的银行客户流失数据集,此数据集原本为数据分类所用数据源,由于其包含的维度较多,适合用来做数据分析,因此本项目选用该数据集。同时由于本项目只对数据进行描述性分析和探索,因此只选用该数据集中的训练数据集。此数据集包含165034条匿名跨国银行客户数据,包括信用分、地区、年龄、服务年限、账户余额、产品使用数量等多个维度。
三、项目思路
3.1 查看客户流失率
获取银行客户的相关数据,计算客户流失率(流失客户数 / 总客户数 × 100%)。通过饼图的方式查看客户的流失占比以及不同客户群体的流失情况。
3.2 明确业务目标
通过客户流失原因分析,优化客户体验,提高客户满意度,进而减少客户流失,提升客户对银行的价值贡献。
3.3 分析各因素与影响流失率之间的关系
数据集中客户信息维度包括:信用分、地区、性别、年龄、服务年限、余额、产品数量、是否拥有信用卡、是否为活跃用户、估计薪资、是否为流失用户。假设各因素之间相互独立,通过可视化图片分析各因素与流失率之间是否存在较为显著的相关关系。
3.4 提出改进建议
根据分析得出的与流失率相关的因素,提出针对性的业务改进意见,优化银行服务。
四、项目流程
4.1 数据预处理
由于原数据为英文数据,为了更直观展示数据,首先对英文数据映射为中文数据。然后检查数据是否存在缺失值(本数据集不存在缺失值),最后保存中文数据集,方便后续进行可视化。
import pandas as pd
# 读取Excel文件
df = pd.read_csv("train.csv")
# 定义字段映射关系
mapping = {
"CustomerId": "用户ID",
"Surname": "姓氏",
"CreditScore": "信用分",
"Geography": "地区",
"Gender": "性别",
"Age": "年龄",
"Tenure": "服务年限",
"Balance": "余额",
"NumOfProducts": "产品数量",
"HasCrCard": "是否拥有信用卡",
"IsActiveMember": "是否为活跃用户",
"EstimatedSalary": "估计薪资",
"Exited": "是否为流失用户"
}
# 重命名字段
df.rename(columns=mapping, inplace=True)
df["是否拥有信用卡"] = df["是否拥有信用卡"].astype(int).astype(str)
df["是否为活跃用户"] = df["是否为活跃用户"].astype(int).astype(str)
df["是否为流失用户"] = df["是否为流失用户"].astype(str)
# 定义内容映射关系
content_mapping = {
"France": "法国",
"Germany": "德国",
"Spain": "西班牙",
"Male": "男",
"Female": "女",
"1": "是",
"0": "否"
}
# 映射数据内容
df.replace(content_mapping, inplace=True)
# 检查数据是否有缺失值
if df.isnull().any().any():
print("数据中存在缺失值")
else:
print("数据中没有缺失值")
# 保存为新的Excel文件
df.to_csv("bank.csv", index=False)
print("数据预处理完成,并已保存为 'bank.csv'")
4.2 数据可视化
可视化工具:Tableau
- 首先,先对整体流失情况进行可视化,为了直观显示,流失率用饼图显示。
- 然后,按照二维表的形式粗略查看各个因素中流失率情况。
- 接着,详细分析每个因素与流失率之间的关系。由于薪资,信用分等数值型数据的跨度较大,可以通过创建计算字段的方式对数值型数据进行分组。在此以信用分与流失率分析为例子,大致介绍可视化步骤,其他因素分析则按照需求用不同的可视化图形进行分析。
(1)创建计算字段,对信用分进行分组。(在分组前,可以先查看数值的范围再进行分组)
(2)将刚刚创建的“用户信用分组”拖入列中,然后将“是否为流失用户”拖入标记卡的颜色当中,同时将标记卡当中的图形显示方式改为饼图。
(3)将“记录数”字段拖入角度,同时将“记录数”字段拖入标记标签当中,添加表计算“合计百分比-向下”,至此按照信用分分组的流失率饼图制作完成!(某些tableau版本可能需要自行创建“记录数”字段,创建方法可以自行搜查)
4.3 数据分析
在制作完各个因素与流失率的可视化图形之后,将它们添加至仪表盘当中,进行统一分析。(样式在最终报告当中展示)
此数据集,经过可视化分析得到以下结果:
(1)假设1:地区会影响银行客户流失,成立;(在客户流失率饼图筛选地区分析得出,德国客户流失率最高)
(2)假设2:客户性别会影响银行客户流失,成立;(女性客户的流失率更高)
(3)假设3:客户年龄会影响银行客户流失,成立;(34-64岁间的客户流失率较高)
(4)假设4:客户信用分会影响银行客户流失,成立;(客户信用分与流失率大致呈现负相关关系)
(5)假设5:服务年限会影响银行客户流失,不成立;(服务年限与流失率的趋势线斜率为0.0033,斜率很小,不能认为两个变量间存在显著关系。)
(6)假设6:是否拥有用卡会影响银行客户流失,不成立;(两类差异在2%,差异较小)
(7)假设7:是否为活跃用户会影响银行客户流失,成立;(非活跃用户更容易流失)
(8)假设8:用户余额会影响银行客户流失,成立;(0余额用户流失率高,随余额的升高呈现下降趋势)
(9)假设9:产品使用数量会影响银行客户流失,不成立;
(10)假设10:客户估计薪资会影响银行客户流失,成立;(流失率与客户估计信息薪资呈现正相关关系。)
4.4 分析建议
根据上面得出的假设成立因素,提出针对性的业务改进意见:
(1)地区分层:针对德国客户流失率最高(37.9%),市场调研了解具体原因,优化服务流程,推出符合当地需求的产品,推出本地化金融业务。
(2)性别差异化:针对女性流失率高的问题,设计女性客户专属产品(如0息婚育分期+财富社交圈)。
(3)中年客群绑定:34-64岁客户流失率较高,可以推出家庭联名账户(跨代资金池+失业缓冲基金)。
(4)信用分激励:信用分最低段(350-579)流失率最高(23.52%),实施信用分跃迁奖励(如50分提升赠特权券)。
(5)激活沉默用户:非活跃用户流失风险显著,触发行为唤醒机制(如大额消费时推送预授信分期)。
(6)零余额转化:0余额用户流失率高,可以通过「零钱卫星计划」绑定消费场景(找零自动存入)。
(7)高薪客户留存:薪资与流失率正相关,提供薪酬管家PRO(个税优化+行权过桥贷)。
五、最终报告
六、结语
这篇文章记录并分享了数据分析项目的思路和过程,希望对读者有参考意义。如果文章中有错漏之处,也欢迎大家指出。