常见的数据清洗,预处理,数据分类,数据筛选,分类汇总,以及数据透视等操作,用SQL一样可以实现(除了可视化,需要放到Excel里呈现)。SQL不仅可以从数据库中读取数据,还能通过不同的SQL函数语句直接返回所需要的结果,从而大大提高了自己在客户端应用程序中计算的效率。
但是,这个过程需要很熟练掌握SQL!
本文就利用提取MySQL的数据,通过写SQL的数据处理方式,来对一份淘宝数据进行用户分析。
本文从数据集中选取包含了2014年11月18日至2014年12月18日之间,8477名随机用户共1048575条行为数据,数据集的每一行表示一条用户行为,共6列。
列字段包含以下:
1.整体用户的购物情况
pv(总访问量)、日均访问量、uv(用户总数)、有购买行为的用户数量、用户的购物情况、复购率分别是多少?
2.用户行为转化漏斗
点击—加购物车—收藏—购买各环节转化率如何?购物车遗弃率是多少,如何提高?
3.购买率高和购买率为0的人群有什么特征
5.基于RFM模型的用户分析
03.数据清洗
1.导入数据
由于数据量有100多万,通过数据库管理工具Navicat将数据集导入MySQL数据库会表较慢,我这里使用ETL工具kettle进行导数,能够提高导数效率,也方便后续实现报表自动化处理,数据库的表名为user。
2.缺失值处理
item_category列表示地理位置信息,由于数据存在大量空值,且位置信息被加密处理,难以研究,因此后续不对item_category列进行分析。
3.数据一致化处理
{!--PGC_COLUMN--}
由于behavior_type列的四种行为类型分别用1,2,3,4表示点击、收藏、加购物车、购买四种行为,为了方便查看数据,将1,2,3,4替换为‘pv'、’fav‘,’cart',‘buy'。
通过查询表结构,可以看到date列日期列不是日期类型:
将date列改成date类型:
04.构建模型和分析问题
1.总体用户购物情况
在购物环节中收藏和加入购物车两个环节没有先后之分,所以将这两个环节可以放在一起作为购物环节的一步。最终得到用户购物行为各环节转化率,如下:
3.购买率高和购买率为低的人群有什么特征
购买率高用户特征:
由以上结果可以看出,购买率为低用户分为两类,
第一类是点击次数少的,一方面的原因是这类用户可能是不太会购物或者不喜欢上网的用户,可以加以引导,另一方面是从商品的角度考虑,是否商品定价过高或设计不合理;
第二类用户是点击率高、收藏或加购物车也多的用户,此类用户可能正为商家的促销活动做准备,下单欲望较少且自制力较强,思虑多或者不会支付,购物难度较大。
(1)一天中用户的活跃时段分布
可以看出,每日0点到5点用户活跃度快速降低,降到一天中的活跃量最低值,6点到10点用户活跃度快速上升,10点到18点用户活跃度较平稳,17点到23点用户活跃度快速上升,达到一天中的最高值。
(2)一周中用户活跃时段分布
由于第一周和第五周的数据不全,因此这两周的数据不考虑到此次数据分析中。
由以上结果可以看出,每周用户活跃度较稳定,每周五活跃度会有小幅降低,但是周末会慢慢回升。其中周五用户活跃度突增,这是由双十二电商大促销活动引起。
5.基于RFM模型找出有价值的用户
RFM模型是衡量客户价值和客户创利能力的重要工具和手段,其中由3个要素构成了数据分析最好的指标,分别是:
(1)计算R-Recency
(2)计算F-Frequency
(3)对用户进行评分
计算脚本如下:
(4)kettle制作报表自动化
为了实现监测每个月用户的评分变化,推测客户消费的异动状况,结合数据库使用ETL工具kettle实现定时输出评分结果:
这里kettle实现过程不做详细描述。
05.结论
1.总体转化率只有1%,用户点击后收藏和加购物车的转化率在5%,需要提高用户的购买意愿,可通过活动促销、精准营销等方式。
4.通过R和F的数据对用户行为进行打分,对每位用户进行精准化营销,还可以通过对R和F的数据监测,推测客户消费的异动状况,挽回流失客户。