基于MySQL的电商数据分析案例

一、数据来源及说明

    本文从数据集中选取包含了2014年11月18日至2014年12月18日之间,8477名随机用户共1048575条行为数据,数据集的每一行表示一条用户行为,共6列。
    本文主要字段如下:
    user_id:用户ID
    item_id:商品ID
    behavior_type:用户消费行为类型(包含点击、收藏、加购物车、购买四种行为,分别用数字1、2、3、4表示)
	user_geohash:用户地理位置(有较多空值)
	item_category:商品类别ID(商品所属的品类)
	time:用户行为发生的时间
	date:用户行为发生的日期

二、相关问题

1、整体用户的购物情况
pv(总访问量)、日均访问量、uv(用户总数)、有购买行为的用户数量、用户的购物情况、复购率分别是多少?
2、用户行为转化漏斗
点击— 加购物车— 收藏— 购买各环节转化率如何?购物车遗弃率是多少,如何提高?
3、购买率高和购买率为 0 的人群有什么特征
4、基于时间维度了解用户的行为习惯
5、基于RFM模型的用户分析

三、数据清洗

1、导数
由于数据量多达100多万,我在这里使用ETL工具kettle进行导数,能够提高导数效率,也方便后续实现报表自动化处理,数据库的表名为user。
2、缺失值处理
从如下图的数据表中,我们可以看到item_category字段有大量的缺失值,无法进行有效研究,因此后续就不对item_category进行分析。
基于MySQL的电商数据分析案例_第1张图片
3.数据类型处理
通过查询表结构,我们发现date列不是日期类型。
基于MySQL的电商数据分析案例_第2张图片
将date 列改成日期类型:
基于MySQL的电商数据分析案例_第3张图片

四、数据分析过程

1.总体客户购物情况

(1)pv(总体访问量)
基于MySQL的电商数据分析案例_第4张图片
(2)日均访问量
基于MySQL的电商数据分析案例_第5张图片
(3)uv(用户数量)
基于MySQL的电商数据分析案例_第6张图片
(4)发生购买行为的用户数量
基于MySQL的电商数据分析案例_第7张图片
(5)用户购买情况
基于MySQL的电商数据分析案例_第8张图片
(6)复购率:产生两次或者两次以上购买行为的用户所占的比例
基于MySQL的电商数据分析案例_第9张图片

2、用户行为转化漏斗

一般情况下,在购物环节中收藏和加入购物车两个环节没有先后之分,所以将这两个环节可以放在一起作为购物环节的一步。最终得到用户购物行为各环节转化率,如下:
(1)用户购买行为统计
基于MySQL的电商数据分析案例_第10张图片
(2)用户购买行为转化率:
基于MySQL的电商数据分析案例_第11张图片
基于MySQL的电商数据分析案例_第12张图片
从上图中,我们可以看到,用户点击后收藏或加购物车的转化率在 5% 左右,而最后真正购买的只有 1%,购买转化率比较低,故而用户行为转化率还有很大的增长空间。

3、购买率高的和购买率低的客户群体有什么特征

(1)购买率高用户特征:
基于MySQL的电商数据分析案例_第13张图片
基于MySQL的电商数据分析案例_第14张图片
我们可以从上图中可以看到,购买率高的人反而不是那些点击次数最多的用户,一部分点击次数都没有超过5次就直接下单购买,由此可以推断,点击次数少,收藏也少但是购买次数越高的人是有目的的购物。这类用户更喜欢看准目标就直接下单,此类用户目标明确,一般都是缺啥买啥,鲜少会为了促销而冲动购物,为理智购物型。
基于MySQL的电商数据分析案例_第15张图片
此类用户可以认为是等待型或克制型用户,该类用户在一个月里购物欲望为0,如果点击次数较少,可能是不太会购物的或者不喜欢上网的用户;如果点击次数较多,加购或收藏较多,有可能考虑是为商家活动做准备,该类用户,下单欲望较少且自制力较强,思虑多或者不会支付,购物难度较大。

4、基于时间维度了解用户的行为习惯

(1)一天中用户活跃时段分布
基于MySQL的电商数据分析案例_第16张图片
基于MySQL的电商数据分析案例_第17张图片
我们可以看出,每日0点到5点用户活跃度快速降低,降到一天中的活跃量最低值,6点到10点用户活跃度快速上升,10点到18点用户活跃度较平稳,17点到23点用户活跃度快速上升,达到一天中的最高值。与用户产生互动的运营行为可以参考用户比较活跃的时间段。

(2)一周中用户活跃时段分布
基于MySQL的电商数据分析案例_第18张图片
基于MySQL的电商数据分析案例_第19张图片
由于第一和第五周数据不全,第一和第五周数据不考虑到此次数据分析中。每周用户活跃度较稳定,每周五活跃度会有小幅降低,但是周末会慢慢回升。其中第四周周五用户活跃度突增是由双十二大促活动引起。

5、基于RFM模型找出高价值客户

这里参考著名的 RFM 模型(如下图):
R-Recency(最近一次购买时间)
F-Frequency(消费频率)
M-Money(消费金额)
由于本项目中,数据源没有相关的金额数据,暂且通过 R 和 F 的数据对客户价值进行打分。
基于MySQL的电商数据分析案例_第20张图片

SELECT r.user_id,f.frequency,recent_rank,freq_rank,
CONCAT(
CASE WHEN recent_rank<=(4330)/4 THEN '4' 
WHEN recent_rank>(4330)/4 AND recent_rank<=(4330)/2 THEN '3'
WHEN recent_rank>(4330)/2 AND recent_rank<=4330/4*3 THEN '2'
ELSE '1' END,
CASE WHEN freq_rank<=(4330)/4  THEN '4' 
WHEN freq_rank>(4330)/4  AND freq_rank<=(4330)/2 THEN '3'
WHEN freq_rank>(4330)/2 AND freq_rank<=4330/4*3 THEN '2'
ELSE '1' END
)AS user_value
FROM 
(SELECT a.*,(@rank:=@rank+1) AS recent_rank FROM
(
SELECT user_id,
DATEDIFF('2014-12-19',max(date)) AS recent
FROM user AS t1 WHERE behavior_type='buy' GROUP BY user_id ORDER BY recent
)AS a,(SELECT @rank:=0) AS b) AS r,
(SELECT *,(@rank2:=@rank2+1) AS freq_rank FROM
(SELECT user_id,count(*) AS frequency FROM user WHERE behavior_type='buy' 
GROUP BY user_id  ORDER BY frequency DESC)
AS a,(SELECT @rank2:=0)AS b) AS f 
WHERE r.user_id=f.user_id;

基于MySQL的电商数据分析案例_第21张图片
我们可以通过打分可以了解每位顾客的特性,从而实现差异化营销。比如对于 user_value = 44 的用户,为重点用户需要关注;对于user_value = 41 这类忠诚度高而购买能力不足的,可以可以适当给点折扣或捆绑销售来增加用户的购买频率。

五、总结

1、总体转化率只有 1%,用户点击后收藏或加购物车的转化率在 5% ,需要提高用户的购买意愿,可通过活动、精准营销等方式。
2、购买率高且点击量少的用户是比较理智购物的群体,一般是缺什么就买什么只买需要的。而购买率低的用户可以认为是等待型或克制型用户群体,下单欲望较少且自制力较强,购物难度较大。
3、大部分用户的主要活跃时间在10点到23点,在19点到23点达到一天的顶峰。每周五的活跃度有所下降,但周末开始回升。
4、通过 R 和 F 的数据对用户行为进行打分,通过打分可以对每位用户进行精准化营销。

你可能感兴趣的:(基于MySQL的电商数据分析案例)