保险业客户流失预测模型的建立与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

保险业客户流失预测模型的建立与实现

摘要:通过分析选择决策树作为保险业客户流失预测模型实现的手段,给出了决策树实现流失预测的算法设计,通过流程图及相应数据结构的说明,介绍了算法实现要点,最后的实验结果表明所建立的预测模型具有良好的准确率。

关键词:保险;客户流失;预测模型;决策树

保险业是我国发展最快的行业之一。各保险企业一方面投入大量时间、人力、财力去发展新客户,另一方面因客户流失管理的不完善导致现有客户流失。如何保留住既有客户,如何从这些客户获得最大的收益,就要采用科学的方法来进行分析和判断。本文结合保险业务规则,对基于数据挖掘的流失预测模型进行了合理分析和应用,使企业对流失客户能够采取更有效的营销策略。

1预测模型的算法选择与建立

在众多的挖掘算法中,本文采用决策树算法来实现,原因在于:同其它方法相比,决策树方法构造树的速度快,决策树模式简单、容易理解,树能很容易地转换为SQL 语句,从而可同数据库进行有效地连接,获得相似甚至更好的精度。本文提出了将决策树技术运用到客户流失分析中,进而找到判定的关键因

素。

决策树方法是利用信息论中的互信息(信息增益)寻找数据库中具有最大信息量的属性字段,建立决策树的一个结点,再根据该属性字段的不同取值建立树的分支,在每个分支子集中重复建立树的下层结点和分支的过程。从商业的角度,决策树可以看作是对原始数据的分割(每个分割必须是树的叶子),分割是基于某个特定的理由而做出的。决策树技术对于客户流失问题的优点是显而易见的。它可以通过高效的算法生成非常明确的规则集合,并能够采用树形结构对规则应用的先后顺序进行定义。对于保险公司的管理者,特别是客户服务部门的管理者和CRM的使用者来说,明确、简洁、可解释性强的规则集合无疑对其制定客户战略决策具有非常高效的辅助能力。

根据客户为公司带来的已有价值或是潜在价值(价值包括收益和风险),对客户群体进行细分,基本上每一个客户都会不同程度地为公司创造价值和带来风险。投保人购买保险缴纳保费是公司取得收益的来源,被保险人则是公司风险产生的源头。

挖掘数据模型的设计就是要通过一些外在表象信息字段间接发现其与客户流失决策之间的关联性。将投保人与公司发生行为进一步分解,可得到应缴保费总额、首期缴纳保费额、缴费方式、投保期限、投保件数、投保人收入、投保人职业、经济状况、投保意识、保全率预测、道德评价等参数、以往投保情况、理赔情况。将被保险人属性进一步分解,可得到被保险人健康状

况、年龄、以往病史、以往意外伤害经历、道德评价参数、以往投保经历、理赔经历、额外死亡率(ME值) 。

综合分析得出寿险客户完全互斥的价值属性因素,客户正价值属性(即客户收益属性)包括保费总额、投保人经济状况、投保人保险意识、投保人道德水平、平均年缴保费额等。客户负价值属性(即客户风险属性)包括理赔数额、被保险人健康状况、被保险人道德水平、额外死亡率(ME值)、被保险人职业类别等,这些因素对流失的影响有大有小,随数据和地区而有较大差异,因此建模时需要具体问题具体分析。除了原始数据外,还有一些根据原始数据转换、集成、规范化后生成的衍生字段,最终得到的数据挖掘模型如表1所示。

2系统实现

2.1数据结构设计

决策树的存储采用多杈树的形式,双向链表结构、结点的结构定义如下,数据挖掘模型如表1所示。

表1数据挖掘模型序号字段名数据类型能否为NULL1客户号Int(4)FALSE2年龄Int(4)FALSE3性别Int(1)FALSE4学历char(8)FALSE5职业char(8)FALSE6收入Int(8)FALSE7婚姻状态char(2)FALSE8空白期char(20)FALSE9标准化保费Int(8)FALSE10保单号char(20)FALSE11保单类型char(20)FALSE12保单状态booleanFALSE13分公司编号Char(4)FALSE14中支代码Char(8)FALSE15服务部编号

Char(4)FALSE16险种代码Char(8)FALSE17附加险标识Char(8)FALSE18单期保费Int(20)FALSE19累计保费Int(20)FALSE20保额Int(20)FALSE21营销员编号Char(8)FALSE22营销员类型Char(4)FALSE23佣金Int(10)FALSE24险种交费年期平均值Int(4)FALSE25险种保费年期最大值Int(4)FALSE26险种保费年期最小值Int(4)FALSE27险种保费年期平均值Int(4)FALSE struct TreeNode

{

int iAttID;//当前节点的属性标识

int iAttVal;//当前节点属性的值

int iLabelVal;//当前节点是叶节点时的标签类属性值

float fProb;//当前节点是叶节点时分类的概率

bool bEndFlag;//叶节点标识

int iChildNum;//当前节点的孩子数目

struct treeNodeSnd**next;//指向当前节点的孩子节点的指针数组,当指针为空时表示为叶结点

struct treeNodeSnd*parent;//指向当前节点的父节点的指针

};

数据宽表的配置信息由以下结构进行存储

struct DataConfigInfo

{

char cTableName[MAX_NAME_LEN];//宽表表名

char cLabelField[MAX_NAME_LEN];//类标签属性字段名

char cAttName[MAX_FIELD_NUM][MAX_NAME_LEN];//存放属性名称

char cCntnusAttName[MAX_FIELD_NUM];//连续型数据值属性名

int iCntAttDivNum[MAX_FIELD_NUM];//连续值属性在用C4.5算法离散化时,用来测试的划分数

bool bIsCntnus[MAX_FIELD_NUM];//与属性字段名称的位置一一对应,存放相应的字段是否为连续型数值

};

属性值及其对应的类标签值统计信息由以下结构进行存储

struct LabelValueNode

{

int iValue;//当前属性值下的类标签值

int iNum;//当前属性值下该类的数目

struct LabelValueNode *nxtLabel;//标签链的下一个标签属性值情况的指针

};

struct AttributeNode

相关文档
最新文档