Survival Analysis for Telco Customer Churn
生存分析项目 — Survival Analysis
学号:12310716
姓名:王新宇
项目概述
本项目演示了**生存分析(Survival Analysis)**在电信客户流失预测中的应用。生存分析是一组统计方法,用于分析和预测事件(如客户流失)发生所需的时间,广泛应用于客户生命周期管理、金融风控和医学研究等领域。
与传统的分类预测(仅判断”是否流失”)不同,生存分析可以回答以下关键问题:
- 客户在多长时间后会流失?
- 哪些因素显著影响流失速度?
- 不同客户群体的存活概率有何差异?
- 如何量化每个客户对企业的预期价值(CLV)?
项目内容
- 数据导入与预处理 — 下载 IBM 电信客户流失数据集并进行处理
- Kaplan-Meier 分析 — 构建生存概率曲线并进行 Log-Rank 检验
- Cox 比例风险模型 — 多变量生存分析
- 加速失效时间模型(AFT) — 参数化生存分析
- 客户生命周期价值(CLV) — 使用生存分析结果计算商业价值
一、数据导入与预处理
数据来源
- 数据集:IBM Telco Customer Churn
- 来源:IBM GitHub 仓库
- 数据描述:模拟电信公司的客户数据,包含客户信息、服务计划、使用情况和订阅状态
数据概况
原始数据集包含 7,043 条记录,共 21 个字段,关键字段包括:
| 字段 | 说明 |
|---|---|
customerID |
客户唯一标识 |
tenure |
客户在公司的时间长度(月) |
churn |
是否已流失(Yes/No) |
MonthlyCharges |
每月费用 |
TotalCharges |
总费用 |
数据预处理
预处理步骤采用”Bronze → Silver” 的数据分层理念:
- 流失标签转换:
Churn从字符串 “Yes”/“No” 转换为数值 1/0 - 筛选月度合同客户:仅保留
Contract == 'Month-to-month'的客户 - 筛选有互联网服务的客户:排除
InternetService == 'No'的客户
经过筛选,Silver 级数据集包含 3,351 条记录。
二、Kaplan-Meier 生存分析
方法概述
Kaplan-Meier 是一种非参数统计方法,用于构建生存概率曲线。它考虑了删失(censoring)现象,克服了使用均值或中位数低估生存概率的问题。
总体生存曲线
生存曲线起点坐标 (0, 1.0),表示在 0 个月时的生存概率为 100%。

关键指标:
- 中位生存时间:34.0 个月 — 即 50% 的客户在此时间点之前已流失
单变量分析 — Log-Rank 检验
Log-Rank 检验用于比较不同组之间的生存曲线是否存在显著差异(零假设:两组统计等价)。p 值 < 0.05 表示拒绝零假设,两组生存曲线存在显著差异。
以下变量被逐一检验:
| 变量 | Log-Rank 检验 | 结论 |
|---|---|---|
| gender(性别) | 曲线重合度高 | 无显著差异 |
| OnlineSecurity(网络安全) | 曲线有明显分歧 | 显著影响 |
| SeniorCitizen(老年人) | 存在差异 | 显著影响 |
| Partner(伴侣) | 差异较小 | 不显著 |
| Dependents(家属) | 曲线有分歧 | 显著影响 |
| PhoneService(电话服务) | 几乎重合 | 不显著 |
| MultipleLines(多线路) | 几乎重合 | 不显著 |
| InternetService(互联网服务) | 曲线有明显分歧 | 显著影响 |
| OnlineBackup(在线备份) | 曲线有明显分歧 | 显著影响 |
| DeviceProtection(设备保护) | 曲线有分歧 | 显著影响 |
| TechSupport(技术支持) | 曲线有明显分歧 | 显著影响 |
| PaperlessBilling(无纸化账单) | 存在差异 | 显著影响 |
| PaymentMethod(付款方式) | 存在差异 | 显著影响 |
DSL 客户 0-9 个月的生存概率示例:
| 月份 | 生存概率 |
|---|---|
| 0 | 1.000 |
| 1 | 0.903 |
| 2 | 0.864 |
| 3 | 0.835 |
| 6 | 0.784 |
| 9 | 0.751 |
三、Cox 比例风险模型
方法概述
Cox 比例风险模型是一种半参数生存分析方法,用于多变量分析。其核心方程为:
h(t) = h₀(t) × exp(β₁x₁ + β₂x₂ + …)
- h₀(t):基线风险,是时间的函数
- exp(β₁x₁ + …):部分风险,与时间无关
比例风险假设:不同个体之间的风险比率在时间上保持恒定。
模型结果
| 协变量 | 系数 (coef) | 风险比 (exp(coef)) | p 值 |
|---|---|---|---|
| Dependents_Yes | -0.33 | 0.72 | < 0.005 |
| InternetService_DSL | -0.22 | 0.80 | < 0.005 |
| OnlineBackup_Yes | -0.78 | 0.46 | < 0.005 |
| TechSupport_Yes | -0.64 | 0.53 | < 0.005 |
解读:
- 风险比 < 1 表示该因素具有保护作用(降低流失风险)
OnlineBackup_Yes的风险比仅为 0.46,意味着开通在线备份服务的客户流失风险降低 54%TechSupport_Yes的风险比为 0.53,流失风险降低 47%Dependents_Yes的风险比为 0.72,有家属的客户流失风险降低 28%
模型评估指标:
- Concordance = 0.64:模型区分能力中等
- Partial AIC = 22639.90
- log-likelihood ratio test = 337.77(p < 0.005),模型整体显著
比例风险假设检验
Schoenfeld 残差检验发现以下变量违反了比例风险假设:
| 变量 | p 值 | 结论 |
|---|---|---|
| InternetService_DSL | < 5e-05 | 违反假设 |
| OnlineBackup_Yes | < 5e-05 | 违反假设 |
| TechSupport_Yes | 0.0002 | 违反假设 |
解决方案:
- 保留原模型(若目标是预测而非推断)
- 对违反假设的变量进行分层(stratify)
- 引入时间依赖变量(Extended Cox 模型)
- 使用其他方法(如 AFT 模型)
四、加速失效时间模型(AFT)
方法概述
AFT 是完全参数化的生存分析模型,假设结果变量遵循特定分布。与 Cox 模型不同,AFT 模型直接估计时间如何被”加速”或”减速”:
S_A(t) = S_B(λ × t)
其中 λ 是加速因子。
Log-Logistic AFT 模型结果
| 协变量 | exp(coef) | p 值 |
|---|---|---|
| DeviceProtection_Yes | 1.62 | < 0.005 |
| InternetService_DSL | 1.47 | < 0.005 |
| MultipleLines_Yes | 1.94 | < 0.005 |
| OnlineBackup_Yes | 2.25 | < 0.005 |
| OnlineSecurity_Yes | 2.37 | < 0.005 |
| Partner_Yes | 1.97 | < 0.005 |
| PaymentMethod_Bank transfer | 2.10 | < 0.005 |
| PaymentMethod_Credit card | 2.22 | < 0.005 |
| TechSupport_Yes | 1.99 | < 0.005 |
解读:
- exp(coef) > 1 表示该因素延长了生存时间(即延缓客户流失)
- 以 Fiber Optic 为基线,DSL 客户的流失时间 1.47 倍更长
OnlineSecurity_Yes的 exp(coef) = 2.37,开通网络安全服务的客户流失时间延长 137%TechSupport_Yes的 exp(coef) = 1.99,技术支持使流失时间延长 99%
模型评估指标:
- Concordance = 0.73(优于 Cox 模型的 0.64)
- AIC = 13698.72
- log-likelihood ratio test = 877.49(p < 0.005),模型整体显著
模型假设检验
通过 Log-Odds 图检验:
- 各变量曲线相对呈线性 → 分布假设基本合适
- 部分曲线不完全平行 → AFT 假设存在一定程度的违反
五、客户生命周期价值(CLV)
方法概述
利用 Cox 模型预测的生存概率,可以计算客户生命周期价值(Customer Lifetime Value, CLV):
- 使用 Cox 模型预测各月的生存概率
- 预期月度收益 = 生存概率 × 月度收益
- 使用净现值(NPV)考虑时间价值
CLV 计算示例
假设条件:
- 月度收益:$30
- 内部收益率(IRR):10% / 年
前 12 个月 CLV 表:
| 月份 | 生存概率 | 预期收益 | NPV | 累积 NPV |
|---|---|---|---|---|
| 1 | 1.00 | 30.00 | 30.00 | 30.00 |
| 2 | 0.87 | 26.10 | 25.88 | 55.88 |
| 3 | 0.81 | 24.30 | 23.90 | 79.78 |
| 6 | 0.71 | 21.30 | 20.43 | 144.22 |
| 9 | 0.65 | 19.50 | 18.25 | 201.13 |
| 12 | 0.59 | 17.70 | 16.16 | 251.40 |
不同客户类型对比
| 客户类型 | 特征 | 12 个月累积 NPV |
|---|---|---|
| 类型 1(基础客户) | 无家属、无 DSL、无在线备份、无技术支持 | $251.40 |
| 类型 2(增值客户) | 有家属、DSL、有在线备份、有技术支持 | $328.51 |
增值客户的 CLV 比基础客户高出 30.7%,这表明推广增值服务和吸引有家属的客户可以显著提升企业的客户价值。
六、结论
核心发现
- 中位生存时间为 34 个月 — 月度合同客户在 34 个月时有 50% 的流失概率
- 关键留存因素:
- 在线备份服务将流失风险降低 54%(HR = 0.46)
- 技术支持将流失风险降低 47%(HR = 0.53)
- 有家属的客户流失风险降低 28%(HR = 0.72)
- AFT 模型优于 Cox 模型(Concordance 0.73 vs 0.64),且不存在比例风险假设问题
- 增值服务显著提升 CLV — 开通多项服务的客户价值高出 30.7%
业务建议
- 重点推广在线备份和技术支持:这两项服务对降低流失风险效果最为显著
- 加强家属客户营销:有家属的客户忠诚度更高
- 关注光纤网络客户:Fiber optic 客户流失率高于 DSL 客户,需要针对性改进服务质量
- 采用自动付款方式:自动付款客户的流失时间更长
技术总结
| 方法 | 类型 | 优势 | 局限 |
|---|---|---|---|
| Kaplan-Meier | 非参数 | 直观、无需假设 | 单变量分析 |
| Cox 比例风险 | 半参数 | 多变量、灵活 | 比例风险假设 |
| AFT 模型 | 参数化 | 直接估计时间、无需比例假设 | 需假设分布 |
本项目改编自 Databricks Industry Solutions 的 Survival Analysis 项目
数据来源:IBM Telco Customer Churn