求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
数据挖掘工具:谁最适合CRM
 
作者 :涵灵韵清扬,火龙果软件    发布于 2013-11-05
 

CRM(Customer Relationship Management),即客户关系管理。这个概念最初由Gartner Group提出来,而在最近开始在企业电子商务中流行。CRM的主要含义就是通过对客户详细资料的深入分析,来提高客户满意程度,从而提高企业的竞争力的一种手段。本文主要讲述适合CRM的数据挖掘工具。

自从我上次斗胆回答“如何选择数据挖掘工具”之后,已经好几年过去了。本文主要阐述以下两个核心观点:

1. 没有最好的工具,更确切地说,没有适合所有人的最好的工具。

2. 最有用的工具,是那些能够满足你所需要的绝大多数数据挖掘任务的工具。

主要的数据挖掘任务

大多数数据挖掘人员都明白,数据挖掘项目中70%到90%的工作是做数据准备。在数据挖掘工具的演进过程中,数据准备功能的开发一直被放在次要位置上。最后,你要能够对模型准确评估,才能比较多个模型,并将它们推荐给市场人员。

数据准备任务

常见的数据准备任务包括:

1.进行数据评估

以判别出:

缺失值(空字符串、空格、空值)

孤立点

共线性评估(自变量之间的相关性)

2.合并多个数据集;

3.从不同输入格式到通用分析格式的元数据(字段的名称和类型)映射;

4.将类似变量的值变换为通用格式;

5.某些算法对输入变量有特殊要求,需要将数值型变量变换为类别型(通过数据分箱和分类),或者将类别型变换为数值型;

6.将变量值切分为多个字段,或将多个字段合并为一个字段;

7.从现有变量中派生新变量。大多数数据挖掘人员发现,有些最具有预测能力的变量,正是派生出来的变量。

大多数数据挖掘工具会把这些数据挖掘功能放在次要的地位, 本文则会侧重评估常见数据挖掘工具处理这些任务的能力。

除了能支持以上的数据准备任务,一个好的数据挖掘工具还应该包含模型评估的功能,以便比较建模过程中产生的多个模型,并用于支持直效营销(direct marketing)。

模型评估工具

在分析理论中,最好的模型是具有最佳精度的模型,可以准确预测出目标变量的类别,同时在验证数据集上也能表现稳定。这就是说,在预测中我们要考虑响应目标和非响应目标的组合精度。这种方法称为全局精度方法(Global Accuracy method)。大多数数据挖掘工具使用这种方法来确定“最佳”模型。但是,它也有美中不足。全局精度评估方法的背后有一个前提假设,就是各种分类错误的代价是相同的。这种方法在课堂上表现不错,但在实际的CRM数据挖掘应用上则可能存在问题,特别是在那些用于直邮营销的应用上。实际上,这也是过去很多用CRM来支持直邮营销而未能产生明显商业价值的一个主要原因。对模型的评估有一些主要原则,而其中只有一部分是营销部门真正关心的: 最大化目标客户的响应率,最小化所需成本。大多数数据挖掘工具都把注意力集中在预测的组合精度上,却完全忽略了成本的因素。

在直效营销活动中,向未响应的潜在客户(称为“错误肯定”错误,false-positive)发送邮件的成本是相当低的;而如果一个潜在客户可能会响应(称为“错误否定”错误,false-negative),你却没有向他发送邮件,那么这个代价就相当大了(因为没有把他发展为客户,您会损失他所缴纳的会员费,而且他也不可能购买您的其它服务)。因此在直销营销模型的评估中,就应该尽量最小化错误否定的错误,而不是错误肯定。因为营销部门只关注响应率和成本,如果前30%的客户名单中包含了全体响应者的60%,就可以满足他们的需求。对于直销营销来说,尽管前30%的客户仍会有部分人不会响应(错误肯定错误),向他们发送邮件依然是值得的。那是因为我们已经联系了全体响应者中的60%。 此时就比随机发邮件的有效性提高了一倍,也就更加合算。

大多数数据挖掘工具都使用全局精度方法来进行模型评估。它们可能会要求你使用这种方法,通过工具的报表功能来识别出“最佳”模型。不同算法会产生多个模型,我们不应该只是查看工具提供的精度报告,简单比较后就判别哪个是最佳的模型。实际上,更合适的评估应该根据如下条件来做出:按照预测概率值顺序排列模型结果,生成评分列表,然后看真正的响应者是否被放在最前面的分段中。 尽管分类算法可以输出分类概率,实际的类别(例如,0或1)还是对分类概率的进一步归纳(例如,<0.5 = 0; ≥ 0.5 = 1)。 大量真正的“金块”隐藏在数据挖掘工具的功能模块之中。 初级的CRM挖掘人员会把注意力放在分类和精度上面,但真正的“金块”应该是客户保持、购买倾向以及新客户获取的概率值。

我们应该查看累积提升表(cumulative lift table;例如表1),来判别模型是否真正有效地把正确肯定(true-positives)放在了靠前的分组里。累积提升表可以通过以下方式创建:

1.预测概率值按降序方式存储为有序列表

2.把这个有序列表划分为10段(分组)

3.计算每组中的实际命中数(actual hits,实际的响应数)

4.计算每个分组的随机期望值(random expectation),该期望值等于实际响应总数除以10。也就是说,在每个分组中我们期望会有实际响应总数的10%会响应。 如果命中率超过了随机期望值,就意味着模型为该分组带来了提升。

表1: 提升表

译者注:

Decile-分组序号;Hits-命中数,即每组内包含的实际响应数,等于TP+FN;

TP-正确肯定;FN-错误否定;TN-正确否定;FP-错误肯定;

(TP和FN对应于实际的响应,TN和FP对应于实际的非响应)

Random Hits-随机命中数,即随机期望值,等于SUM(TP+FN)/10;

% of Total-召回率,等于Hits/SUM(Hits)*100;

Cum % of Total-累积召回率,是% of Total的累积值。

一共划分了10个分组,实际的总响应数为SUM(Hits)=275,因此每组的随机期望值为275/10=27.5。第一组的命中数为81,明显超过了随机期望值,其召回率=81/275=29.45%。第二组的命中数为43,也超过了随机期望值,其召回率为43/275=15.64%,累积召回率等于第二组的召回率加上前面所有组(即第一组)的召回率,等于15.64%+29.45%=45.09%。

从上表中可以看出,该模型划分肯定和否定的阈值应该是在第二个分组中,这样才出现了第一组都被预测为肯定,但其中有81个是正确的肯定(TP),而735个是错误的肯定(FP);第二组中则同时包含了TP、FN、TN和FP;从第三组之后则都被预测为否定(因为位于阈值之下),因此包含了FN和TN。

正确肯定(True-Positives,TP): 实际的响应中,被正确预测为响应的个数

错误否定(False-Negatives,FN): 实际的响应中,被错误预测为非响应的个数

正确否定(True-Negatives,TN): 实际的非响应中,被正确预测为非响应的个数

错误肯定(False-Positives,FP): 实际的非响应中,被错误预测为响应的个数

通过对提升表的分析可以看到,在第四个分段之后,增量提升(incremental lift,第8列中的”% of Total”)下降到随机期望(每个分段为10%)之下,而前四个分段包含了超过70%的响应。 从下面的增量提升曲线(图1)中可以明显看出增量提升和随机期望的交叉点。

图1: 增量提升图示例

在增量提升曲线中标示了各个分段的命中数。 在图1中可以看到,增量提升曲线在第4个分段后和随机期望线(275个响应的10%,即平均每个分段27.5个响应)交叉。 不管营销经理怎么去看,上述的表格和图形都可以把必要的信息传递给他们。 营销人员可以借助模型评估工具,来设定要给多少个客户发邮件。 以表1为例,营销人员可以向前四个分段的客户(占整个评分名单的40%)发邮件,并预期可以命中70%的潜在响应客户。

我们现在已经了解该如何评估数据挖掘模型,接下来就可以深入分析和调整业务流程,借助模型的结果来提高企业的盈利。 业务流程包括:

1.数据挖掘过程

2.知识发现过程

3.业务流程管理(BPM)软件

4.知识管理系统

5.商业生态系统管理

数据挖掘过程

Eric King在“如何在数据挖掘上投资:避免预测型分析中昂贵的项目陷阱的框架”一文(发表于2005年10月的“DM Review”)中主张数据挖掘是一段旅程,而非终点。他把这段旅程定义为数据挖掘过程。 该过程包含如下要素:

1.一个发现过程

2.具有灵活的框架

3.按照清晰定义的策略进行

4.包含多个检查点

5.多次定期的评估

6.允许在反馈环路中对函数进行调整

7.组织为叠代式的架构

过程模型

很多数据挖掘工具的厂商都对这个过程进行了简化,使之更加清晰。 SAS将数据挖掘过程划分为五个阶段: 抽样(Sample),解释(Explain),处理(Manipulate),建模(Model),评估(Assess)。 过去人们常用循环式的饮水器来比喻数据挖掘过程。 水(数据)首先涌上第一层(分析阶段),形成漩涡(精炼和反馈),等到聚积了足够多“已经处理过”的水之后,就溢出来流到下一个更低的层中。 不断地进行这种“处理”,直到水流到最低层。在那里它被抽回顶层,开始新一轮的“处理”。 数据挖掘和这种层次式的叠代过程非常相像。 甚至在很多数据挖掘算法的内部处理也是如此,比如神经网络算法,就是在数据集上多次运行(epochs),直至发现最优解。 Insightful Miner已经在其用户界面中内建了简单过程模型。 这种集成可以帮助用户把必要的数据挖掘任务组织起来,让任务能够按照正确的顺序来处理。

但使用饮水器来比喻数据挖掘过程还不算恰当,因为它没有反映出反馈环路,而反馈环路在数据挖掘过程中是很常见的。 例如,通过数据评估可以发现异常的数据,从而要求从源系统中抽取更多的数据。 或者,在建模之后,会发现需要更多的记录才能反映总体的分布。

在CRISP过程模型中进行了解决这个问题的尝试,该模型是由Daimler-Benz、ISL (Clementine的开发者)和NCR共同制定的。 CRISP同时也被集成到Clementine挖掘工具(现在属于SPSS公司)的设计中。 CRISP几乎反映了完整的数据挖掘环境。

图2: CRISP图例

使用数据建模其实和做陶土模型或者大理石模型差不多。 艺术家首先从一大堆材料开始着手,经过许多次的加工和检查,才诞生了最终的艺术品。很多人在建模过程中常常没有充分理解建模的本质,由此带来了一系列问题,使得建模变得很复杂。 Eric King发现数据挖掘是一个循环的过程(就象上图中的CRISP流程图),而非线性的过程。 这种循环式的数据挖掘过程会让您想起Wankel转式汽车发动机。 这种发动机是一圈一圈旋转的(而非上下运动),不断输出动能来驱动汽车。 与之相似,数据挖掘过程也是不断循环,产生信息来帮助我们完成商业目标。 信息就是推动商业的“能量”。 在挖掘过程中会有很多对前一个阶段的反馈(例如,在完成初步建模之后可能需要获取更多的数据)。

不过,在CRISP流程中还是遗漏了一个要素——那就是对数据仓库或源系统的反馈。 前一次CRM营销活动的结果应该导入数据仓库,为后续的建模提供指导,并能跟踪营销活动间的变化趋势。 我在CRISP流程图中加入了这些反馈,以红线表示(见图2)。

通过数据挖掘过程的结构,我们可以得知数据挖掘工具必需能完成那些任务,但是工具常常会缺少对部分功能的支持。 当产生了挖掘结果时,你会怎么使用这些结果呢? 此外,针对挖掘结果所采取的这些行动又将如何影响后续的挖掘? 数据挖掘工具应该具备的一些功能包括:

1.将模型导出到多种数据库结构中

2.模型的导出格式,适合于决策支持和商业行动的应用

3.挖掘算法的输出数据,可以为另外的算法所用

4.能够比较不同算法的结果

相关文章 相关文档 相关视频



我们该如何设计数据库
数据库设计经验谈
数据库设计过程
数据库编程总结
数据库性能调优技巧
数据库性能调整
数据库性能优化讲座
数据库系统性能调优系列
高性能数据库设计与优化
高级数据库架构师
数据仓库和数据挖掘技术
Hadoop原理、部署与性能调优
 
分享到
 
 
     


MySQL索引背后的数据结构
MySQL性能调优与架构设计
SQL Server数据库备份与恢复
让数据库飞起来 10大DB2优化
oracle的临时表空间写满磁盘
数据库的跨平台设计
更多...   


并发、大容量、高性能数据库
高级数据库架构设计师
Hadoop原理与实践
Oracle 数据仓库
数据仓库和数据挖掘
Oracle数据库开发与管理


GE 区块链技术与实现培训
航天科工某子公司 Nodejs高级应用开发
中盛益华 卓越管理者必须具备的五项能力
某信息技术公司 Python培训
某博彩IT系统厂商 易用性测试与评估
中国邮储银行 测试成熟度模型集成(TMMI)
中物院 产品经理与产品管理
更多...