logo
0
0
WeChat Login

📊 信用卡客户细分与流失预测

项目概述

客户流失是消费信用卡行业面临的关键问题。失去现有客户不仅会降低收入,还会增加获客成本。

本项目旨在利用机器学习技术分析客户行为细分信用卡客户预测客户流失,从而为制定积极的客户留存策略提供切实可行的洞察。

本项目是**“Python 数据挖掘与智能金融”课程的作业,重点在于完整的数据挖掘流程以及人工智能方法在金融场景中的应用


业务问题

一位银行经理发现,越来越多的客户正在停止使用信用卡服务。

目标是:

  1. 基于人口统计和行为特征,识别不同的客户群体

  2. 了解某些客户群体更容易流失的原因

  3. 构建客户流失预测模型,提前识别高风险客户。


数据集描述

  • 数据集名称:信用卡客户(银行流失客户)

  • 数据来源:Analyttica Leap平台

https://analyttica.com/leaps/

  • 样本数量:约10,000名客户

  • 特征数量:18个(去除无关列后)

  • 目标变量Attrition_Flag

  • 现有客户

  • 流失客户

  • 类别不平衡

  • 流失客户 ≈ 16.07%

⚠️ 根据数据提供商的建议,在进行任何分析之前,已移除与朴素贝叶斯分类相关的最后两列。


项目目标

  • 执行数据清洗和特征工程,以进行金融行为分析

  • 应用无监督学习进行客户细分

  • 构建监督学习模型,用于在不平衡数据下预测客户流失

  • 客户细分与客户流失预测相结合,以增强模型的可解释性

  • 提供面向业务的客户留存洞察


方法论

1. 数据预处理

  • 删除无关列

  • 处理类别型和数值型特征

  • 标准化和编码

  • 构建金融和行为特征

2. 客户细分(无监督学习)

  • K-均值聚类(基线)

  • 高级聚类(例如,GMM/层次聚类/基于自编码器的聚类)

  • 使用轮廓系数和可视化(PCA/UMAP)进行聚类评估

  • 客户群体画像和解释

3. 客户流失预测(监督学习)

*逻辑回归(基线)

  • 基于树的模型(随机森林/XGBoost)

  • 使用以下方法处理类别不平衡问题:

  • 类别权重

  • SMOTE 优化

  • 使用召回率、F1 分数和 ROC-AUC 进行评估

4. 细分增强预测

  • 将聚类标签整合到流失预测中

  • 比较有无细分时的性能

  • 分析不同客户群体的流失风险

5. 模型解释

  • 特征重要性分析

  • 基于 SHAP 的可解释性分析

  • 对流失关键驱动因素的业务解释


项目结构

TODO

团队贡献

本项目由团队成员协作完成,职责划分清晰:

  • 团队负责人 宋贞锐

负责项目整体设计、客户细分、模型集成和可解释性分析。

  • 成员 邹尚林

负责数据预处理和特征工程。

  • 成员 汪玉

负责客户流失预测建模和不平衡学习技术。

  • 成员 张轩昂

负责可视化、商业解读和结果展示。


评估指标

由于类别不平衡,准确率并非主要评估指标。

以下指标重点关注:

  • 召回率(流失类别)

  • F1 分数

  • ROC-AUC

  • 混淆矩阵


主要发现(实验后填写)

  • 不同的客户群体表现出显著不同的流失行为。

  • 交易活动和信用额度使用等行为特征是流失的强预测因子。

  • 引入客户细分可以提高模型的可解释性和决策能力。


局限性和未来工作

  • 数据集是静态的,不包含时间序列交易数据。

  • 干预成本和客户生命周期价值未进行显式建模。

  • 未来工作可能包括:

  • 行为趋势的序列模型

  • 成本敏感学习

  • 实时流失预测系统


工具和技术

  • Python
  • Pandas、NumPy
  • Scikit-learn
  • XGBoost / LightGBM
  • Matplotlib, Seaborn
  • SHAP

免责声明

本项目仅用于学术用途。

数据集仅用于学习和研究,并遵守数据源提供的条款。

About

Use machine learning and deep learning methods to segment bank credit card customers and analyze segment financial behavior and risk profiles.

Language
Python8.1%
Shell5.7%
Dockerfile1.3%
Others84.9%