论文部分内容阅读
摘要:针对以往企业决策者难以掌握企业客户的流失倾向,运用神经网络的基本原理建立客户流失预测模型,使得决策者在商业实施过程中能够做到有的放矢,并且结合企业实例检测了该模型的可靠性。
关键词:客户;经济损失;神经网络;客户流失模型;可靠性。
中图分类号:F224.33
文献标识码:A
一、引言
随着中国企业体制改革的深入以及加入WTO后,中国各行各业面临着前所未有的竞争压力。面对这一强劲的压力,国内许多企业把主要精力放在了拓宽市场、发展新客户上,以至于冷落了老客户,造成许多老客户的流失。据调查发展一个新客户所需要的费用是维持一个老客户的6-8倍,同时,老客户的交易额也往往要比新客户大得多,因此,建立客户流失模型,让每个公司尽早地了解自己的客户,对即将流失的客户尽早地做出挽留措施,这样可以大大地提高公司的竞争力。笔者的主要目的就是利用神经网络的数据学习功能,通过对历史数据的学习建立一个客户流失模型,用于预测未来客户的流失情况,以达到挽留即将流失的老客户,使其继续给企业带来更大的效益。
二、神经网络设计
神经网络是基于生理学上的真实人脑神经网络的结构和功能,并对其基本特性进行抽象、简化和模拟而构成的一种信息处理系统。目前广泛应用的BP神经网络即反向传播(Back Propagation)神经网络,因其具有一些传统技术所没有的优点:良好的容错能力、分类能力、并行处理能力和自学能力,在模式识别、图像处理、预测和控制等方面得到很好的应用。笔者采用BP神经网络建立客户流失模型并进行预测,其拓扑结构由网络的层数、隐层的节点以及节点的连接方式等组成。
(一)网络层数的设计
BP算法的主要思想是把学习过程分为两个阶段:第一阶段为正传阶段,即输入信息经隐层处理并计算每个单元的实际输出值传输至输出层;第二阶段为反传阶段。若输出层未能得到期望的输出值,则逐层递归计算实际值与期望输出的差值即误差,以便根据此差值调节各层神经元之间联系的权值。其结构层数对网络的性能具有重要的影响,严格意义上讲,确定网络层数的方法是通过大量实际问题的求解来寻求最合适的网络层数。
(二)输入和输出层的设计
BP网络的输入与输出层维数是根据所求解的任务和要求来确定。输入层的配置必须考虑那些可能影响输出的参数。这些参数随问题的变化而变化。虽然网络被假定为一个从输入到输出的未知函数和映射,但网络的性能对输入信息非常敏感,即输入参数的合理选取可以提高网络对未知问题预测的能力。根据影响客户流失因素的程度,笔者选取业务年限等7个量化因子指标作为网络的输入(详见3.3)。输出层节点数为2,采用布尔型离散向量,(0,1)、(1,0)分别代表客户流失、客户没有流失。
(三)隐层节点数的选取
笔者利用下述公式确定隐层节点数h
其中n为输入节点数,m为输出节点数。
同时,在网络训练过程中对h进行动态调整,即当网络的误差下降非常缓慢(小于0.01%),且网络还没有收敛到一定水平时,增加一个隐层节点。
(四)初始权值的确定
由于BP网络的输入与输出关系是一个高度非线性映射关系,初始权值的选取对学习是否收敛影响很大。因此,在网络训练时,选取较小的不同的随机数对网络连接权值进行初始化训练。
在上述分析的基础上,针对客户流失模型预测问题,经过多次调试,采用具有两个隐层的四层BP网络模型结构(如图1所示)。其隐层节点数分别为22和8。隐层和输出层都用s型转换函数,分别为tansig、logsig、logsig。
三、数据的采集与处理
(一)数据的选择
笔者选取某机械厂2005年的3500条客户数据作为实验数据。并随机地选取2000个作为训练样本,1500个作为检验样本。
(二)客户流失的界定标准
作为训练样本和检验样本,如何定量地确定一个客户是否流失?经过一些数据分析,最终确定客户是否流失的判断条件是:
(1)客户与公司半年没有生意来往;
(2)客户与公司半年的交易额仅为原来的1/3,而且,最近3个月没有生意来往。
通过上述流失的判断条件,我们对2005年的客户数据重新整理发现2005年的3500个客户中有652个客户流失了,流失比例为18.62%。
(三)输入因子的确定
通过对影响客户流失状况的因素进行分析,确定并选取业务年限(个月)、月交易额(万元)、月交易频率(次/月)、产品故障比例(%)、收入(万元)、教育程度(小学:1,初中:2,高中:3,中专:4,大专:5,本科:6,研究生:7,博士以上:8)、年龄(岁)等7个量化因子作为指标进行建模。收集到的部分原始数据见图2。
(四)数据的处理
对于多因子问题,由于指标之间存在着不可公度性和矛盾性,各指标的量纲、数量级和指标类型也不尽相同。为了消除这种差异对预测结果的影响,在评价时首先要对样本数据进行规范化处理。笔者采用“最小一最大标准化”的方法对原始数据进行预处理,即将原始数据压缩到区间上。其计算公式如下:
四、系统建模
笔者采用MATLAB6.5编程,各参数要求分别为:显示频率为50,训练的最大步数小于50000,学习速率为0.01,训练目标误差小于0.01。用2000个训练样本来训练网络,经过23974步运算,网络达到精度要求,即SEE=0.00999942,图3为训练误差随训练次数的变化关系图。然后利用训练好的网络对1500个检验样本进行预测,期望输出值与模型输出值部分数据见表1。考虑到如果一个大客户将会流失,却被误判为不会流失,从而造成给企业带来极大的损失。因此,为减少误判几率的发生,笔者采用当模型两个节点的输出都小于0.5时,视为流失,其他情况下,则采取大小比较法,大的为1,小的为0。如表1中的第11条记录模型值是(0.4767,0.4121),按大小比较法则为(1,0),但是由于两个数都小于0.5,该系统判为流失。表2样本检验时模型值与实际值的对比结果证明训练好的BP神经网络模型结果是可行的,并且有良好的泛化能力。
五、实例
本文将2006年的3740个客户的各指标值输入训练好的BP神经网络模型,结果有694个客户判为在2006年流失,流失百分比为18.56%,这个流失比例与2005年的(18.62%)基本相符合。针对这694个将要流失的客户,领导层可采取有效措施进行挽留,使之继续成为企业的客户,给企业带来利润。例如客户同意在合同期满后再签2年的合同,就可以享受终生免费维修,在合同签订后的第一年,购买各种型号的产品,可以免费获得相应配件一套等。
六、结论
综上所述,利用BP神经网络构建客户流失模型的方法是可行的,通过运用此客户流失模型进行客户流失的预测也是可行的,它可以为决策者及时了解客户流失情况发生,使得商业决策有了明确的实施对象。同时,还可以通过改变流失判断条件,重新划分客户样本,也可以改变输入因子,通过此方法训练出适合各个领域的企业客户流失模型。
(责任编辑:习文)
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:客户;经济损失;神经网络;客户流失模型;可靠性。
中图分类号:F224.33
文献标识码:A
一、引言
随着中国企业体制改革的深入以及加入WTO后,中国各行各业面临着前所未有的竞争压力。面对这一强劲的压力,国内许多企业把主要精力放在了拓宽市场、发展新客户上,以至于冷落了老客户,造成许多老客户的流失。据调查发展一个新客户所需要的费用是维持一个老客户的6-8倍,同时,老客户的交易额也往往要比新客户大得多,因此,建立客户流失模型,让每个公司尽早地了解自己的客户,对即将流失的客户尽早地做出挽留措施,这样可以大大地提高公司的竞争力。笔者的主要目的就是利用神经网络的数据学习功能,通过对历史数据的学习建立一个客户流失模型,用于预测未来客户的流失情况,以达到挽留即将流失的老客户,使其继续给企业带来更大的效益。
二、神经网络设计
神经网络是基于生理学上的真实人脑神经网络的结构和功能,并对其基本特性进行抽象、简化和模拟而构成的一种信息处理系统。目前广泛应用的BP神经网络即反向传播(Back Propagation)神经网络,因其具有一些传统技术所没有的优点:良好的容错能力、分类能力、并行处理能力和自学能力,在模式识别、图像处理、预测和控制等方面得到很好的应用。笔者采用BP神经网络建立客户流失模型并进行预测,其拓扑结构由网络的层数、隐层的节点以及节点的连接方式等组成。
(一)网络层数的设计
BP算法的主要思想是把学习过程分为两个阶段:第一阶段为正传阶段,即输入信息经隐层处理并计算每个单元的实际输出值传输至输出层;第二阶段为反传阶段。若输出层未能得到期望的输出值,则逐层递归计算实际值与期望输出的差值即误差,以便根据此差值调节各层神经元之间联系的权值。其结构层数对网络的性能具有重要的影响,严格意义上讲,确定网络层数的方法是通过大量实际问题的求解来寻求最合适的网络层数。
(二)输入和输出层的设计
BP网络的输入与输出层维数是根据所求解的任务和要求来确定。输入层的配置必须考虑那些可能影响输出的参数。这些参数随问题的变化而变化。虽然网络被假定为一个从输入到输出的未知函数和映射,但网络的性能对输入信息非常敏感,即输入参数的合理选取可以提高网络对未知问题预测的能力。根据影响客户流失因素的程度,笔者选取业务年限等7个量化因子指标作为网络的输入(详见3.3)。输出层节点数为2,采用布尔型离散向量,(0,1)、(1,0)分别代表客户流失、客户没有流失。
(三)隐层节点数的选取
笔者利用下述公式确定隐层节点数h
其中n为输入节点数,m为输出节点数。
同时,在网络训练过程中对h进行动态调整,即当网络的误差下降非常缓慢(小于0.01%),且网络还没有收敛到一定水平时,增加一个隐层节点。
(四)初始权值的确定
由于BP网络的输入与输出关系是一个高度非线性映射关系,初始权值的选取对学习是否收敛影响很大。因此,在网络训练时,选取较小的不同的随机数对网络连接权值进行初始化训练。
在上述分析的基础上,针对客户流失模型预测问题,经过多次调试,采用具有两个隐层的四层BP网络模型结构(如图1所示)。其隐层节点数分别为22和8。隐层和输出层都用s型转换函数,分别为tansig、logsig、logsig。
三、数据的采集与处理
(一)数据的选择
笔者选取某机械厂2005年的3500条客户数据作为实验数据。并随机地选取2000个作为训练样本,1500个作为检验样本。
(二)客户流失的界定标准
作为训练样本和检验样本,如何定量地确定一个客户是否流失?经过一些数据分析,最终确定客户是否流失的判断条件是:
(1)客户与公司半年没有生意来往;
(2)客户与公司半年的交易额仅为原来的1/3,而且,最近3个月没有生意来往。
通过上述流失的判断条件,我们对2005年的客户数据重新整理发现2005年的3500个客户中有652个客户流失了,流失比例为18.62%。
(三)输入因子的确定
通过对影响客户流失状况的因素进行分析,确定并选取业务年限(个月)、月交易额(万元)、月交易频率(次/月)、产品故障比例(%)、收入(万元)、教育程度(小学:1,初中:2,高中:3,中专:4,大专:5,本科:6,研究生:7,博士以上:8)、年龄(岁)等7个量化因子作为指标进行建模。收集到的部分原始数据见图2。
(四)数据的处理
对于多因子问题,由于指标之间存在着不可公度性和矛盾性,各指标的量纲、数量级和指标类型也不尽相同。为了消除这种差异对预测结果的影响,在评价时首先要对样本数据进行规范化处理。笔者采用“最小一最大标准化”的方法对原始数据进行预处理,即将原始数据压缩到区间上。其计算公式如下:
四、系统建模
笔者采用MATLAB6.5编程,各参数要求分别为:显示频率为50,训练的最大步数小于50000,学习速率为0.01,训练目标误差小于0.01。用2000个训练样本来训练网络,经过23974步运算,网络达到精度要求,即SEE=0.00999942,图3为训练误差随训练次数的变化关系图。然后利用训练好的网络对1500个检验样本进行预测,期望输出值与模型输出值部分数据见表1。考虑到如果一个大客户将会流失,却被误判为不会流失,从而造成给企业带来极大的损失。因此,为减少误判几率的发生,笔者采用当模型两个节点的输出都小于0.5时,视为流失,其他情况下,则采取大小比较法,大的为1,小的为0。如表1中的第11条记录模型值是(0.4767,0.4121),按大小比较法则为(1,0),但是由于两个数都小于0.5,该系统判为流失。表2样本检验时模型值与实际值的对比结果证明训练好的BP神经网络模型结果是可行的,并且有良好的泛化能力。
五、实例
本文将2006年的3740个客户的各指标值输入训练好的BP神经网络模型,结果有694个客户判为在2006年流失,流失百分比为18.56%,这个流失比例与2005年的(18.62%)基本相符合。针对这694个将要流失的客户,领导层可采取有效措施进行挽留,使之继续成为企业的客户,给企业带来利润。例如客户同意在合同期满后再签2年的合同,就可以享受终生免费维修,在合同签订后的第一年,购买各种型号的产品,可以免费获得相应配件一套等。
六、结论
综上所述,利用BP神经网络构建客户流失模型的方法是可行的,通过运用此客户流失模型进行客户流失的预测也是可行的,它可以为决策者及时了解客户流失情况发生,使得商业决策有了明确的实施对象。同时,还可以通过改变流失判断条件,重新划分客户样本,也可以改变输入因子,通过此方法训练出适合各个领域的企业客户流失模型。
(责任编辑:习文)
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。