SPSS Modeler 预测电信客户流失案例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Modeler 帮助电信运营商预测客户流失案例
本文主要通过运用IBM SPSS Modeler 中C5.0 节点所具有的特殊算法对电信客户的属性特征进行分析,得出流失客户的基本特征,以帮助企业管理者对该类客户的行为特性进行预警分析,采取针对性的措施改善客户关系,避免客户流失或者挽留客户,达到亡羊补牢的效果
引言
目前电信运营商面临着激烈的市场竞争。对电信运营商来说,客户即生命,如何保持现有客户是企业客户管理的重中之重。因此,电信运营商拥有的客户越多,作为主要成本的前期投资就会越大,企业的利润也就越大。客户资源对于电信运营商来说其意义不言而喻,电信运营商之间的竞争实际上就是对客户资源的竞争。可以说,未来的电信行业,得客户者得天下。
数据挖掘在电信领域有着广泛的应用:计费分析、客户细分、电话欺诈、客户流失预警分析等等。客户流失预警分析是通过数据挖掘,发现和分析出客户的许多属性特性和行为特征,从而找到流失客户的特征,为企业挽留这类客户提供决策参考。
本文主要通过运用IBM SPS Modeler 中C5.0 节点所具有的特殊算法对电信客户的属性特征进行分析,得出流失客户的基本特征,以帮助企业管理者对该类客户的行为特性进行预警分析,采取针对性的措施改善客户关系,避免客户流失或者挽留客户,达到亡羊补牢的效果。
数据准备
读入数据源
读入电信客户数据,数据有多达42 个字段,其中包含一些客户个人信息,例如年龄、婚姻状况、地址、收入、教育程度、行业、退休、性别、居住地和客户类别,还包含一些客户使用电信服务信息,例如使用电信服务时间,是否开通无线服务,是否开通语音信箱服务,是否开通亲情号服务,以及上月基本话费,上月长话费,上月上网费,累计基本话费,累计长话费,累计上网费等等。将流失字段churn 角色设置为目标。将所有其他字段的角色设置为输入。
图 1.数据源
由于数据包括多达42 个字段,我们将先进行数据准备阶段。数据准备是数据挖掘最重要的阶段之一,通常需要花费大量的时间。据估计,实际的数据准备工作通常占50-70% 的工程时间和工作量。在前期的业务理解和数据理解阶段投入足够的精力可以将对这一阶段的投入降至最低,但您仍需花费大量的精力在建模前做数据准备工作。
利用“特征选择”节点删除无用字段
首先通过使用“特征选择”节点,删去不能为预测变量/ 目标之间的关系添加任何有用信息的预测变量或数据。将数据源节点链接到“特征选择”节点,双击打开“特征选择”节点。
图 2.设置选择
可以看到用户可以选择定义缺失值最大百分比,单个类别中记录的最大百分比,作为记录百分比的最大类别数,最小变异系数,最小标准差,来进行数据选择。这里保持默认设置,运行流。打开生成的模型块如下;
图 3.模型块
,3 个字段分别由于单个类别过大,缺失值过多以及变异系数低于阈值而不会被选定作为输入字段。让我们进一步解释一下。单个类别中的记录最大百分比筛选相对于记录总数而言,同个类别中具有过多记录的字段。例如,如果数据库中95% 的客户开同一类型的车,则此信息无助于区分客户。任何超过指定最大值的字段都将被筛选掉。我们通过图形看一下retire 字段。选择“分布”节点连接到读入数据的数据源节点,选择retire 字段,运行流。可以看到retire 字段中,确实有95.3% 的人都是未退休的人。此信息无助于区分客户。
图 4.退休情况图
字段logwire 由于缺失值的最大百分比超过“特征选择”节点中定义的70% 而被筛选出。显而易见,具有过多缺失值的字段,几乎不提供任何预测信息。
我们先直观的用“表”节点来观察一下这个字段,可以看到字段中确实有许多值是缺失的$null$ 值。
图 5.logwire
那么到底缺失比率到底是多少呢,我们用“数据审核”节点来看一下具体的统计分析值。将“数据审核”节点连接到读入数据的数据源节点,选择logwire 字段,运行流。可以看到logwire 的有效数据是296 条,相对于总的1000 条数据,它的缺失比率为70.4%, 高于“特征节点”定义的70%。
图 6.数据审核情况
而logequi 字段由于变异系数低于“特征选择”节点中定义的最小变异系数0.1 而被筛选掉。此度量值是输入字段标准偏差与输入字段均值之间的比值。如果此值接近0,则变量值的变异性就不高,则信息无助于区分客户。
利用“特征选择”节点选择重要字段
除了这三个字段,我们还将滤除非重要性的字段。重要性是在建模之前在“特征选择”节点中定义的,我们建模时使用的是它的默认值,这里重新打开“特征选择”节点,到“选项”选项卡。
图7.选择重要字段
可以看到重要性是基于Pearson 分布的,当值小于0.9,模型将认为该字段是不中要的。重新回到之前生成的模型块,可以看到从字段marital 开始,重要性是非重要的。我们将滤去这些字段,在模型块菜单中选择生成过滤器,选择“所有排列的字段”/“重要“并单击确定。
图8.选择生成过滤
将生成的过滤节点连接到数据源节点,打开过滤节点,可以看到许多字段被过滤掉了。实际上通过以上的数据准备阶段,源数据的42 个字段已被降低到28 个字段,这些字段将用来建立模型,分析客户流失。
图9.删除过滤后的源数据
利用“过滤”节点处理含有大量缺失数据的字段
在最终建模预测客户流失之前,我们还需要对这28 个数据进行分析,识别所有含有大量缺失数据的字段。这里我们再次运用“数据审核节”节点。将数据审核节点附加到生成的“过滤”节点后,运行流。
图10.数据审核
可以看到唯一需要修改的字段是logtoll,其有效值比例小于50%。通常我们对于这种有效值比较低的字段的做法是用它的均值代替它的空值与无效值,这里我们看到,它的均值是 3.240。接下来,我们用“填充”节点来实现对空值与无效值的替换。如下图所示,对于字段logtoll 的空值和无效值,将用均值3.240 替代。
图11.替换无效值