(一) 导入mysql数据库 并对数据维度进行初步观察
查看数据结构:
desc clients;
desc card;
desc trans;
desc disp;
生出各表格数据维度思维导图:
将具有相关性的表格利用外键建立联结:
alter table card add FOREIGN key (disp_id) REFERENCES disp (disp_id);
alter table disp add foreign key (client_id) REFERENCES clients (client_id);
alter table disp add FOREIGN key (account_id) REFERENCES trans (account_id)
分析思路:查看与信用卡用户相关的各个维度,分析分为两部分 :1.总体情况:信用卡办卡总体时间趋势、卡类型对比。2.用户属性:性别、地区编码、年龄、账户情况
(一)、信用卡办卡总体情况--办卡情况随时间变化趋势图、卡类占比
a.在carde.csv表中生成"信用卡发卡情况透视表",并绘制“发卡总量随时间的变化趋势图”
如下:
现象描述:从图中可以看出从93-98年信用卡总体办卡量持续增长,青年卡在1997年的发行量同比降低,但总体为上升趋势,增长幅度排名 :普通卡>青年卡>金卡
b.不同类型卡总发行量占比情况
现象描述:总体发卡量占比排名为:普通卡 > 青年卡 > 金卡,其中普通卡占比接近总发卡量的3/4。
(二)、用户属性--性别、地区、年龄、经济
#在navicat 中执行mysql查询条件 查询 card_id、clirnt_id、sex、district_id、issued、type等数据
select DISTINCT c.* ,ca.* from clients as c join disp on c.client_id =disp.client_id join card as ca on ca.disp_id = disp.disp_id ;
并导出为csv格式,利用数据透视表绘制相关图形
a.不同卡类型的性别比较堆积图
现象描述:普通卡和青年卡 男女性比例较为均衡,基本为1:1;金卡的男性持有者比例相较女性持有者明显更多
b.不同卡类型的地区比较条形图
现象描述:办卡最多的地方为地区1,比其他地区多了差不多4倍,其次为地区70和74,各地区均为普通卡最多,大多数地方青年卡多于金卡,地区33、60和70的金卡显著高于青年卡
c.不同可类型用户年龄对比箱线图
利用excel公式:计算办卡人办卡时的年龄,利用R语言绘制年龄箱线图。
xyk <- read.csv("信用卡数据.csv",header=T)#在Rstudio导入相关csv数据表
head(xyk)
str(xyk)
xyk$birth_date <- ymd(xyk$birth_date)
xyk$issued <- ymd(xyk$issued)
p <- ggplot(data=xyk, aes(x=type,y=age))+geom_boxplot(aes(fill=type))+scale_y_continuous(breaks=seq(10, 80, 10))
p
现象描述:普通卡持卡年龄在20-80之间 ,年龄跨度较大,金卡的持有者年龄主要集中在25-65岁之间;而青年卡则普遍集中在25岁以内,卡类型设计与目标对象相符。
在mysql中查询trans表中account相关的数据,计算办卡一年前用户的账户余额:
create
d.办卡前一年持卡人账户余额箱线图
利用R语言绘制办卡前一年用户账户余额箱线图:
>
现象描述:金卡持有者的办卡前一年的 平均余额 集中在5万-6.5万ia之间是要显著高于 普通卡 和 青年卡 的,普通卡持卡者在办卡前一年的账户余额集中在4.5万-5.5万之间,青年卡持卡者在办卡前一年的账户余额集中在4.5-5万卡类型设计与目标对象相符。
结论:
1、各种卡的持有者与卡类型设计目标对象基本一致,
2、普通卡持有者特征较弱,男性女性持平,年龄跨度较大,集中地区1,其他地区差别不大。
3、金卡持有者男性多于女性,集中在地区1、33、60和70,少量地区没有金卡持有者,金卡持卡人账户余额较多,但是有低于20000甚至5000的异常值,需要关注是否资质审核存在漏洞。
4、青年卡持有者男性女性持平,同样集中在地区1,其次是地区36,其他地区差别不大,基本每个地区都有青年卡持有者,年龄基本在20以内,有少量小于15岁的未成年人,需要关注审核资质是否需要完善,账户余额较少,符合青年人的身份。