预测客户流失(比较各种分类方法)

一、项目描述

APP或者商家在发展新用户时通常是通过构建产品的病毒性传播系数, 使产品更具吸引性。以通信行业为例,发展新用户的方式通常有:

  • 人工病毒性:通过人工干预(推出一些家庭或者朋友套餐),鼓励旧客户邀请他人成为新客户;
  • 口碑病毒性:不断完善自己的产品以获得良好口碑,通过广告投放等进行推广,使客户主动来办理业务称为新客户;

可见,发展一个新客户是需要一定成本的,一旦客户流失,将会对商家造成损失,所以对客户流失的预测显得尤为重要。预测客户流失的作用有:

  • 预测哪些客户有可能称为流失客户,在他流失之前使用触达策略挽留客户;
  • 分析客户流失的原因,寻找先行指标来提升留存率,完善产品
  • 对于已经流失的客户,改变产品运营策略拉回客户,促进回流。

本项目通过对客户流失数据(数据来源:https://www.ibm.com/communities/analytics/watson-analytics-blog/guide-to-sample-datasets/ )进行清洗、构建数据挖掘模型,来解决以下问题:

  • 1.哪些变量对客户流失的影响比较大;
  • 2.如何预防客户流失;
  • 3.使用自动分类器寻找准确率高的模型;

二、数据清洗

可以看到数据共21个字段,Churn为目标字段,customerID为无输入字段,其余字段包含了客户基本信息(年龄、性别等)和消费相关数据(月消费、年消费、支付方式等),以及套餐情况(电话服务、网络服务的等)。


FIG.1.数据预览.png

将数据导入IBM SPSS Modeler,添加数据审核节点,可以看到TotalCharges存在11个缺失值,考虑到样本规模较大,因此将缺失的记录删除。


FIG.2.数据审核.png

三、C5.0决策树

3.1 简单模式

C5.0决策树分类原理主要是利用资讯衡量标准 (Information Measure) 来构建决策树,并对每一个节点产生不同数目的分支来分割数据,直到数据无法分割为止。C5.0 决策树只适用于分类类型的目标字段,对输入字段没有要求。
由于数据的目标字段Churn是分类字段,因此可以直接做C5.0决策树分析。
这里我们添加分区节点,将原始数据分为70%训练集和30%样本集,来更好的评价模型。

FIG.3.预测变量重要性.png

FIG.4.决策树预览.png

分析:可以看到在简单模式下(没有人为规定每个每个子分枝的最小记录数)生成了一个9层的决策树。

  • 影响最大的变量为合约方式,按月签约的客户流失率达到42.38%,而按一年或者两年签约的客户流失率只有6.171%。
  • 然后是网络服务,可以看到,使用用DSL(数字用户线)和Fiber Optic(光纤)的客户人比较多,流失率也比较大,可能是因为这两项服务收费比较高,效果又没有满足客户的期望;虽然不使用网络服务的客户流失率较低,但是因为样本数较少,因此不能得出高科技会使流失率变大的结论
  • 使用DSL的客户又根据总消费是否大于309.400被分为两部分,总消费比较多的客户流失率较小。
  • 使用Fiber Optic的客户根据使用时间是否大于14个月被分为两部分,使用时间较短的客户明显流失率更高。
  • 其他比较重要的变量,可以在没有显示完全的决策树中看到,但是没有太大的作用,不能得出很明显的结论,所以在下一步考虑使用专家模式修剪决策树。

模型评估:在模型后面添加了分析节点,来查看模型的正确率,由于前面已经把数据分为70%训练集和30%样本集,所以我选择了按分区分隔。从Churn分布图中可以看到在7032个样本里,本身没有流失的客户就占到73.4%,比例较大。所以只看总的正确率没有太大意义,能准确的预测出churn='Yes'的客户才是模型构建的目标

  • 训练集:对于churn='No'的客户,预测正确率为90.4%;对于churn='Yes'的客户,预测正确率为57.7%
  • 验证集:对于churn='No'的客户,预测正确率为87.8%;对于churn='Yes'的客户,预测正确率为52.3%
    我画出了预测结果的ROC图,可以看到验证集的准确率低于训练集,这倒是正常,但是验证集的准确率也不尽人意,对于churn='Yes'的客户,预测准确率只有57.7%。
FIG.5.客户分布.png
FIG.6.简单模式准确率.png

FIG.7.ROC图.png

3.2 专家模式

由于简单模式的准确率不尽人意,所以我考虑通过专家模式来修剪决策树,探究是否能够提升模型的准确率。首先我将每个子分支的最小记录数设置为100,运行后得到一个6层的决策树,得到的结论和简单模式时差不多。

FIG.8.专家模式设置.png

FIG.9.预测变量重要性.png

FIG.10.专家模式准确率.png

模型评估

  • 训练集:对于churn='No'的客户,预测正确率为87.4%;对于churn='Yes'的客户,预测正确率为60.8%
  • 验证集:对于churn='No'的客户,预测正确率为84.6%;对于churn='Yes'的客户,预测正确率为57.9%

可以看到专家模式与简单模式相比,对于churn='No'的客户,准确率稍微有些下降;但是对于churn='Yes'的客户,准确率稍微有所提高。

3.3 使用错误分类成本

在前面的分析中,无论是简单模式还是专家模式,对于churn='Yes'的客户,预测准确率都不高,因此考虑使用错误分类成本。在实际操作中,对于一个将要流失的客户,如果错误分类,假设会带来50元的损失(长期损失会更多);对于一个不会流失的客户,如果错误分类,假设会带来5元的损失(人工客服致电成本)
在专家模式下,生成一个三层决策树。

FIG.11.错误分类成本示意图.png

FIG.12.预测变量重要性.png

FIG.13.使用错误分类成本后的准确率.png

模型评估

  • 训练集:对于churn='No'的客户,预测正确率为41.2%;对于churn='Yes'的客户,预测正确率为98%
  • 验证集:对于churn='No'的客户,预测正确率为40.0%;对于churn='Yes'的客户,预测正确率为97.0%

可以看到使用错误分类成本后,对于churn='Yes'的客户,准确率大幅度提高,接近100%;而对于churn='No'的客户,准确率也下降了将近一半。这是因为我们设置的将要一个流失的客户的错误分类成本,比一个不会流失的客户的错误分类的成本大很多

3.4 结论

3.4.1影响流失率的因素
  • 1.合约方式对客户是否会流失起着至关重要的作用,这也是当代通信行业通过一些优惠活动促进客户办理长年限合约,比如预存两年话费之后按月返还,或者与宽带绑定。
  • 2.网络服务也是很重要的因素,通过分析发现,使用DSL(数字用户线)和Fiber Optic(光纤)的客户人比较多,流失率也比较大。这是因为这两项网络服务的价格昂贵,再加上各大通信运营商竞争激烈,如果客户花钱使用了网络服务,但是使用体验不佳,或者在出现使用问题时不能得到技术支持及时的帮助,又或者其他通信运营商有更优惠的套餐,那客户便会流失
  • 3.使用时间这个因素应该和客户年龄放在一起考虑,本项目使用的数据中关于年龄的字段为‘是否为老年人’,是一个名义类型的字段。在日常生活中,老年人或者中年人对换号码都比较排斥,尤其是工作比较繁忙的客户,因为换号码需要通知通讯录好友,很浪费时间。因此老年人或者中年人的流失率相对较低。而年轻人喜欢体验新鲜,不存在种种顾虑,流失率相对较高,往往哪家通信运营商比较优惠,或者服务更新颖,就选择哪一家的服务。因此要想降低流失率,就需要“抓住年轻人的心”
3.4.2预测到客户会流失之后应该怎么做
  • 1.通过模型预测到某客户将成为流失客户的概率较高时,可以通过人工客服致电这位客户,使用触达策略挽留。
  • 2.基于3.4.1给出的影响因素改善产品,从根源上降低流失率。另外,流失用户需要到服务台进行销户,这时可以采用有奖填写问卷调查的方式,了解客户流失的原因。

四、自动分类器

前面使用的C5.0决策树预测准确率不尽人意,因此我使用自动分类器寻找准确率较高的模型。在分区节点后添加自动分类器建模,显得准确率较高的七个模型,按总体精确性降序排列。


FIG.14.自动分类器运行结果.png

4.1 Logistic回归

双击自动分类器结果中的Logistic回归模型,可以看到自动分类器使用的是多项式模型,而数据中的Churn字段只分成两类,所以我自己又做了二项式Logistic回归分析。因为出现了多个“字符串字节过长”报错,因此有些字节需要重新分类。

FIG.15.Logistic回归摘要.png

添加重新分类节点将比较长的字符串改成缩写。
FIG.16.重新分类设置.png

输出结果
建模时,选择 Logistic回归的二项模型,方法为向前步进法。运行后得到如下结果:
FIG.17.预测变量重要性.png

Logistic回归没有将所有自变量都纳入模型,最后输入模型的是这八个字段,可以看到最重要的变量是使用时间,其次是合约方式,然后是网络服务,这三个最为重要的变量和之前的分析结果一致。
FIG.18.个案处理摘要.png

从个案处理摘要中可以看到有4901个案例被用于训练模型。
FIG.19.因变量取值水平编码.png

从因变量取值水平编码中可以看到churn='Yes'被编码为1。
FIG.20.分类表1.png

第一个分类表格是空模型的观测值和预测值对比,由于空模型会将所有值都预测为0(churn='No'),所以对于流失客户都预测错误,总体精确性为73.9%。
FIG.21.分类表2.png

第二个分类表格可以看到模型在构建过程中每纳入一个自变量,准确率的变化。可以看到,随着自变量不断的被纳入模型,churn='No'的准确率虽然稍微有所下降,从100%下降到92%;但是churn='Yes'的准确率从0提高到了56%。
模型评估
添加分区节点查看模型对验证集的预测准确率。
FIG.22.Logistic回归模型准确率.png

  • 训练集:对于churn='No'的客户,预测正确率为90.0%;对于churn='Yes'的客户,预测正确率为56.0%
  • 验证集:对于churn='No'的客户,预测正确率为86.7%;对于churn='Yes'的客户,预测正确率为53.9%

4.2 类神经网络

类神经网络(ANN)有稳定性强的优点,也存在训练过度、结果可读性差等问题。双击自动分类器结果中的类神经网络模型,可以看到模型的基本信息。


FIG.23.类神经网络摘要.png
FIG.24.预测变量重要性.png

FIG.25.验证集准确率.png

模型评估
添加分区节点查看模型对验证集的预测准确率。

FIG.26.类神经网络模型准确率.png
  • 训练集:对于churn='No'的客户,预测正确率为90.1%;对于churn='Yes'的客户,预测正确率为55.9%
  • 验证集:对于churn='No'的客户,预测正确率为87.5%;对于churn='Yes'的客户,预测正确率为53.7%

五、结论

  • 本次项目基于已有的客户流失模型,在第三章中构建了C5.0决策树模型,探讨了简单模式和专家模式的区别,试图通过使用错误分类成本提高churn='Yes'的预测正确率。解决了哪些变量对客户流失的影响比较大、如何预防客户流失、预测到客户会流失之后应该怎么做的等问题
  • 在第四章使用了自动分类器,寻找准确率比较高的模型,并分别探讨了Logistic回归模型和类神经网络模型,发现这两种模型与C5.0决策树模型相比,差异不大,对于churn='Yes'的客户,预测正确率皆在50%到60%之间。
  • 虽然没有找到满意的预测客户流失的模型,但我在此次项目中对各种分类方法有了更深刻的认识。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容