银行客户案例关联分析.docx
- 文档编号:28409873
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:14
- 大小:513.52KB
银行客户案例关联分析.docx
《银行客户案例关联分析.docx》由会员分享,可在线阅读,更多相关《银行客户案例关联分析.docx(14页珍藏版)》请在冰豆网上搜索。
银行客户案例关联分析
银行客户案例分析
案例背景和问题:
某商业银行试图通过对个人客户购买本银行金融产品的数据进行分析,从而发现交叉销售的机会。
数据集说明:
该银行采集了7991个客户的产品(或服务)购买记录,共32000行,数据集名称为BANK。
变量说明:
ACCT:
客户标识
SERVICE:
购买的产品或服务
VISIT:
购买时间
数据集每一行代表这个顾客拥有的一种产品,一个顾客可能有多个行。
平均每个顾客拥有的产品数是3种。
数据集中的13种产品和服务缩写如下所示:
ATM自动取款机AUTO自动贷款CCRD信用卡
CKCRD支票/贷记卡CKING支票账户HMEQLC家居股本信贷
IRA个人退休账户MTG抵押CD存款保证
PLOAN个人消费信贷SVG储蓄账户TRUST个人信托账户
MMDA货币市场存款
实验要求和总体步骤:
对BANK数据集进行关联分析和频繁序列分析。
•确定数据源
•设置变量角色
•确定支持度、置信度阈值,进行关联分析
•查看和筛选关联分析结果
•设置变量角色,进行频繁序列分析
•分析评价频繁购买序列
操作步骤
准备工作:
1.在D盘建立文件夹:
BANK
2.启动SAS,建立逻辑库DATA指向D:
\BANK
3.打开企业挖掘机
关联分析:
1.建立一个新的挖掘项目BANK,保存在D:
\BANK目录下,第一个DIAGRAM命名为ASSOC。
并在右边的工作区中加入“inputdatasource”节点。
,
2.打开InputDataSourcenode(数据输入节点)。
3..在数据库中选择BANK数据集。
4.选择Variables(变量)栏。
5.将ACCT设为id(身份),SERVICE设为target(目标),将VISIT设为sequence(序列)。
6.关闭InputDataSourcenode(数据输入节点),保存对它的更改。
7.工作区中新增Associationnode节点,并与InputDataSource节点进行连接。
如下图所示:
然后打开Associationnode(关联节点)。
默认的是Variablestab(变量栏),这与InputDataSourcenode(数据输入节点)中的Variablestab(变量栏)是一样的。
8.选择General(综合)栏,通过这个栏可以设置分析节点。
观察Analysismode(分析方法)选项,默认的方法是ByContext。
要根据前面的InputDataSourcenode(数据输入节点)中定义的信息来选择适当的方法。
如果输入数据集包括一个ID(身份)变量,一个target(目标)变量,这个节点就会自动地选择associationanalysis(关联分析)。
如果有一个sequence(序列)变量且它的状态是use,那么这个节点就会进行一个sequenceAnalysis(序列分析)。
因为在输入数据集中有个序列变量,所以这里默认的分析方法为sequenceanalysis(序列分析)。
这里我们先进行associationanalysis(关联分析),稍后讨论Sequenceanalysis(序列分析)。
9.将分析方法改为Association(关联)。
设置支持度和置信度的阈值,以及频繁项集的最大元素个数,如上图所示。
10.关闭Associationnode(关联节点),弹出提示时选择保存。
11.运行这图里的Associationnode(关联节点),并且观察结果。
这个关系栏包含了所有的关联关系,假设关系为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/debitcard(支票/借记卡),那他拥有creditcard(信用卡)的可能性是随机抽取的一个顾客的3倍。
注:
默认情况下,在结果中,只显示lift(增益)大于1的关联。
可以将View=>WhenConfidence(真实可信度)改为ExpectedConfidence(期望可信度)。
15.点击Frequencies(频率)栏。
这个栏格列出了每个产品拥有的客户量。
这与简单的次数统计是有所区别的。
比如说,一个顾客可能拥有多个支票账户,但这里只会计算一次。
这是一个相当有用的信息,尤其在解释为什么一个特定的对象没有出现在这些关系里时。
上面提到,在默认的情况下,一个关联出现的次数至少要是出现最多的对象的次数的5%。
这里出现最多次数最多的是checkingaccount(支票账户),出现了6855次。
因此,一个产品的组合至少要有343位顾客(6855的5%),否则无法形成一个关联准则。
如果想对association(关联)中的出现较少的产品进行研究的话,就要考虑在运行associationNode(关联节点)减低最少出现频率的限制。
如果得到的关联关系太多,超过了可用围,则可以考虑提高最少出现频率的限制。
假设想对拥有marketdepositaccount(MMDA)(货币市场存款)和certificateofdeposit(CD)(存款保证)的用户进行了解,想了解他们拥有其它什么产品。
可以按照以下的方法:
1.选择Rulestab(关系栏)。
2.选择View(视图)=>SubsetTable….(子栏)
3.在Predecessor(前续)=>Successor(后续)栏中,选择CD(存款保证)和MMDA(货币市场存款)两项做为左边的项。
4.在LeftHandSide(左边)的Type(类型)的下拉选项中选择Combinations&Single(结合与单一)。
5.在RightHandSide(左边)的Type(类型)的下拉选项中选择FindAny(寻找全部)。
6.选择Process(进行),然后观察结果。
左边是CD(存款保证)和MMDA(货币市场存款)中一个或者两个的规则有8个。
如果是想了解和automobileloans(自动贷款)有关的规则,而且想要得到一个含有AUTO(自动贷款)的规则的子集,最简单的方法将这些规则保存为一个子集,然后用SASCodenode(SAS代码节点)分出这个数据。
7.选择View(视图)=>ResetTable(重排表格)
8.选择File(文件)=>SaveAsDataSet….(保存为数据集)
9.可以看到,这个数据集的保存名为SelectedOutputfromRulegen.点击OK,保存这个数据集。
10.关闭这个Associationnode(关联节点),然后在图栏中添加一个SASCodenode(SAS代码节点)。
11.打开这个SASCodenode(SAS代码节点),打开Macrostab(宏栏)。
EnterpriseMiner(企业挖掘器)自动创建了很多宏变量。
这里,我们可以看到&_MAC_4,这是从Associationnode(关联节点)中保存过来的结果。
12.选择Program(程序)栏。
13.输入如下的程序:
14.点击按钮
行SASCode(SAS代码)。
15.点击Yes,选择现在运行SASCode(SAS代码)。
16.弹出提示时点击Yes,观察运行结果。
17.选择Output(输出)栏。
在输出结果中得到了13个关于与automobileloans(自动贷款)有关的规则。
18.看完输出结果以后,关闭SASCodenode(SAS代码节点)结果和SASCodenode(SAS代码节点)。
序列分析
Associationanalysis(关联分析)的作用是用来研究出售的产品之间的关系。
换句话说,哪些产品是顾客同时会购买的。
Sequenceanalysis(序列分析)又进一步分析了这些产品的购买的顺序。
这可以回答这样的问题:
如果一周顾客购买了A产品,下周他是否会购买B产品?
一个Sequenceanalysis(序列分析)需要定义一个sequence(序列)变量。
associationanalysis(关联分析)则不要求sequence(序列)变量。
银行除了对客户拥有的产品感兴趣以外,还想了解顾客购买这些的顺序。
在数据集中有sequence(序列)变量,就可以进行sequenceanalysis(序列分析)。
1.在图表工作区添加一个Associationnode(关联结点),把它与InputDataSourcenode(输入数据源节点)节点相连。
2.打开这个Associationnode(关联节点)。
3.选择General(一般)栏。
观察到,由于数据集中的sequence(序列)变量的状态是use(利用),所以在默认的情况下,分析的方法就是sequenceanalysis(序列分析)。
4.选择Sequences(序列)栏。
在Sequences(序列)栏中,可以定义一个序列出现的最小出现频率以及在一个最长的序列链里出现的个数。
定义的最多个数是10个。
5.选择TimeConstraints(时间限制)栏。
这里的选项允许对一系列交易指定最大时间长度,这些交易被考虑成一个序列。
可能只考虑在三个月购买两种产品的情况进行序列分析,而超过三个月的则不以考虑。
另外一个选项是固定时差。
意思是如果在一天之购买两种产品,则认为是同时购买。
6.使用默认值,关闭关联节点。
7.运行Associationnode(关联节点),在弹出提示时选择Yes来观察得出的结果。
8.在Confidence(置信度)(%)列单击右键选择Sort(排序)=>Descending(降序)。
这里的transactioncount(交易总数)是指按后面的序列顺序购买了产品的总的顾客总数。
这里的support(支持度)是指用transactioncount(交易总数)除以总的顾客数,而总的顾客数也是可能的最大transactioncount(交易总数)。
Confidence(置信度)百分比是用transactioncount(交易总数)除以拥有序列左边业务的顾客的总数(这个可以在Frequencies(频率)栏中查得)。
比如说,使用了过automobileloan(自动贷款)的顾客中,有82.12%会使用第二次automobileloan(自动贷款)。
9.选择View(视图)=>SubsetTable….(子表)
10.从AvailableColumns(变量列)清单中选择ChainItem1。
11.在Operators(方法)中选择EQ。
12.在AvailableColumns(变量列)清单中选择
13.选择AUTO(自动贷款)。
14.在Operators(方法)=>OR。
15.在AvailableColumns(变量列)清单中选择ChainItem2。
16.在Operators(方法)中选择EQ。
17.在AvailableColumns(变量列)清单中选择
18.选择AUTO(自动贷款)。
19.在Operators(方法)=>OR
20.在AvailableColumns(变量列)清单中选择ChainItem3。
21.在Operators(方法)中选择EQ。
22.在AvailableColumns(变量列)清单中选择
23.选择AUTO(自动贷款)。
24.点击OK。
得到了包含automobileloans(自动贷款)的序列有17条。
25.看完上述结果后关闭sequenceanalysis(序列分析)结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 客户 案例 关联 分析