当前位置:文档之家› 银行客户案例_关联分析

银行客户案例_关联分析

银行客户案例分析案例背景和问题:某商业银行试图通过对个人客户购买本银行金融产品的数据进行分析,从而发现交叉销售的机会。

数据集说明:该银行采集了7991个客户的产品(或服务)购买记录,共32000行,数据集名称为BANK。

变量说明:ACCT:客户标识SERVICE:购买的产品或服务VISIT:购买时间数据集每一行代表这个顾客拥有的一种产品,一个顾客可能有多个行。

平均每个顾客拥有的产品数是3种。

数据集中的13种产品和服务缩写如下所示:ATM 自动取款机AUTO 自动贷款 CCRD 信用卡CKCRD 支票/贷记卡CKING 支票账户HMEQLC 家居股本信贷IRA 个人退休账户MTG 抵押CD 存款保证PLOAN 个人消费信贷SVG 储蓄账户 TRUST 个人信托账户MMDA 货币市场存款实验要求和总体步骤:对BANK数据集进行关联分析和频繁序列分析。

•确定数据源•设置变量角色•确定支持度、置信度阈值,进行关联分析•查看和筛选关联分析结果•设置变量角色,进行频繁序列分析•分析评价频繁购买序列操作步骤准备工作:1.在D盘建立文件夹:BANK2.启动SAS ,建立逻辑库DATA 指向D:\BANK3.打开企业挖掘机关联分析:1.建立一个新的挖掘项目BANK, 保存在D:\BANK目录下,第一个DIAGRAM命名为ASSOC。

并在右边的工作区中加入“input data source”节点。

,2.打开Input Data Source node(数据输入节点)。

3..在数据库中选择BANK数据集。

4.选择Variables(变量)栏。

5.将ACCT设为id(身份),SERVICE设为target(目标),将VISIT设为sequence (序列)。

6.关闭Input Data Source node(数据输入节点),保存对它的更改。

7.工作区中新增Association node节点,并与Input Data Source 节点进行连接。

如下图所示:然后打开Association node(关联节点)。

默认的是Variables tab(变量栏),这与Input Data Source node(数据输入节点)中的Variables tab(变量栏)是一样的。

8.选择General(综合)栏,通过这个栏可以设置分析节点。

观察Analysis mode(分析方法)选项,默认的方法是By Context。

要根据前面的Input Data Source node(数据输入节点)中定义的信息来选择适当的方法。

如果输入数据集包括一个ID (身份)变量,一个target(目标)变量,这个节点就会自动地选择association analysis(关联分析)。

如果有一个sequence(序列)变量且它的状态是use,那么这个节点就会进行一个sequence Analysis(序列分析)。

因为在输入数据集中有个序列变量,所以这里默认的分析方法为sequence analysis(序列分析)。

这里我们先进行association analysis(关联分析),稍后讨论Sequence analysis(序列分析)。

9.将分析方法改为Association(关联)。

设置支持度和置信度的阈值,以及频繁项集的最大元素个数,如上图所示。

10.关闭Association node(关联节点),弹出提示时选择保存。

11.运行这图里的Association node(关联节点),并且观察结果。

这个关系栏包含了所有的关联关系,假设关系为A=>B,回顾一下前面的:●A=>B 的Support(支持度)是指一个顾客同时拥有A和B的可能性。

●A=>B 的confidence(_置信度)是给定顾客拥有A后,又拥有B的可能性。

●A=>B的lift是对这个关联的强度的恒量。

如果关系A=>B 的Lift=2,拥有A的顾客再拥有B的可能性是随机抽样的一个顾客拥有B的可能性的两倍。

12.在Support(%)列中单击右键,选择Sort(排序)=> Descending(降序)Support(支持度)是指包含这个关系的所有顾客的百分比。

比如说,大约在7991位顾客中有54.17%同时拥有支票与储蓄,而大约有25%的顾客同时拥有支票账户,储蓄账户和ATM(自动取款卡)。

13.在Confidence(%)列中单击右键,选择Sort(排序)=> Descending(降序)。

Confidence(置信度)表示拥有LHS (左边)业务的顾客中拥有RHS(右边)业务的百分比。

比如:所有拥有支票账户的顾客都拥有一支票卡,而在同时拥有储蓄账户和信用卡的顾客中超过97%的顾客拥有一个支票账户。

14.在llift(增益)列中单击右键,选择Sort(排序)=> Descending(降序)。

在关联关系中的lift(增益),是RHS(右边)和LHS(左边)形成关系的confidence(置信度)与假设RHS(右边)和LHS(左边)不相关的confidence(置信度)二者之比。

因此,lift是用来衡量RHS(右边)和LHS(左边)的关联关系的。

如果值大于1,则说明LHS 与RHS正相关,如果等于1则代表无关。

如果小于1则二者负相关。

CKCRD ==> CCRD 的lift(增益)值为3.19,因此,如果选择一个顾客拥有check/debit card (支票/借记卡),那他拥有credit card(信用卡)的可能性是随机抽取的一个顾客的3倍。

注:默认情况下,在结果中,只显示lift(增益)大于1的关联。

可以将View=> When Confidence(真实可信度) 改为Expected Confidence(期望可信度)。

15.点击Frequencies(频率)栏。

这个栏格列出了每个产品拥有的客户量。

这与简单的次数统计是有所区别的。

比如说,一个顾客可能拥有多个支票账户,但这里只会计算一次。

这是一个相当有用的信息,尤其在解释为什么一个特定的对象没有出现在这些关系里时。

上面提到,在默认的情况下,一个关联出现的次数至少要是出现最多的对象的次数的5%。

这里出现最多次数最多的是checking account(支票账户),出现了6855次。

因此,一个产品的组合至少要有343位顾客(6855的5%),否则无法形成一个关联准则。

如果想对association(关联)中的出现较少的产品进行研究的话,就要考虑在运行association Node(关联节点)减低最少出现频率的限制。

如果得到的关联关系太多,超过了可用围,则可以考虑提高最少出现频率的限制。

假设想对拥有market deposit account (MMDA) (货币市场存款)和certificate of deposit (CD) (存款保证)的用户进行了解,想了解他们拥有其它什么产品。

可以按照以下的方法:1.选择Rules tab(关系栏)。

2.选择View(视图)=> Subset Table….(子栏)3.在Predecessor (前续)=> Successor(后续)栏中,选择CD(存款保证)和MMDA(货币市场存款)两项做为左边的项。

4.在Left Hand Side (左边)的Type(类型)的下拉选项中选择Combinations &Single(结合与单一)。

5.在Right Hand Side(左边)的Type(类型)的下拉选项中选择Find Any(寻找全部)。

6.选择Process(进行),然后观察结果。

左边是CD(存款保证)和MMDA(货币市场存款)中一个或者两个的规则有8个。

如果是想了解和automobile loans(自动贷款)有关的规则,而且想要得到一个含有AUTO(自动贷款)的规则的子集,最简单的方法将这些规则保存为一个子集,然后用SAS Code node (SAS代码节点)分出这个数据。

7.选择View(视图)=> Reset Table(重排表格)8.选择File(文件)=> Save As Data Set….(保存为数据集)9.可以看到,这个数据集的保存名为Selected Output from Rulegen.点击OK,保存这个数据集。

10.关闭这个Association node(关联节点),然后在图栏中添加一个SAS Code node(SAS代码节点)。

11.打开这个SAS Code node(SAS代码节点),打开Macros tab(宏栏)。

Enterprise Miner(企业挖掘器)自动创建了很多宏变量。

这里,我们可以看到&_MAC_4,这是从Association node(关联节点)中保存过来的结果。

12.选择Program(程序)栏。

13.输入如下的程序:14.点击按钮行SAS Code(SAS代码)。

15.点击Yes,选择现在运行SAS Code(SAS代码)。

16.弹出提示时点击Yes,观察运行结果。

17.选择Output(输出)栏。

在输出结果中得到了13个关于与automobile loans (自动贷款)有关的规则。

18.看完输出结果以后,关闭SAS Code node(SAS代码节点)结果和SAS Code node(SAS代码节点)。

序列分析Association analysis(关联分析)的作用是用来研究出售的产品之间的关系。

换句话说,哪些产品是顾客同时会购买的。

Sequence analysis(序列分析)又进一步分析了这些产品的购买的顺序。

这可以回答这样的问题:如果一周顾客购买了A产品,下周他是否会购买B产品?一个Sequence analysis(序列分析)需要定义一个sequence(序列)变量。

association analysis (关联分析)则不要求sequence(序列)变量。

银行除了对客户拥有的产品感兴趣以外,还想了解顾客购买这些的顺序。

在数据集中有sequence (序列)变量,就可以进行sequence analysis(序列分析)。

1.在图表工作区添加一个Association node(关联结点),把它与Input Data Sourcenode(输入数据源节点)节点相连。

2.打开这个Association node(关联节点)。

3.选择General(一般)栏。

观察到,由于数据集中的sequence(序列)变量的状态是use(利用),所以在默认的情况下,分析的方法就是sequence analysis(序列分析)。

4.选择Sequences(序列)栏。

在Sequences(序列)栏中,可以定义一个序列出现的最小出现频率以及在一个最长的序列链里出现的个数。

相关主题