电商平台的用户行为分析,能一定程度的推动运营、产品等迭代,提供决策支持。
数据集来源: 阿里云池 样本量: 3835331 方法工具:
本文用2017年11月至12月的淘宝用户行为,AARRR模型及RMF模型利用进行分析。数据虽有点旧,但重在锻炼分析框架。
本文使用的分析工具以MySQL为主,涉及分组汇总,引用变量,视图,关联查询等内容。
一、分析思路
第一,基于AARRR漏斗模型,使用常见电商分析指标pv uv,从新增用户数量、各环节转化率、新用户留存率三个方面进行分析,确定影响新增用户数量的因素,找到需要改进的转化环节,发现留存现存问题。
第二,将颗粒度逐渐细化,探寻用户的商品偏好,哪类商品销量最好,最坏,复购率、回购率最好的商品是什么
第三:研究用户在不同时间尺度下的行为规律,找到用户在不同时间周期下的活跃规律
第三,根据用户画像及价值分类,选择合适的推广方式。用户什么时段最活跃。
第四:利用RFM模型,进行客户分类评分,找出对应策略。
二、数据处理
(1)数据导入
因为数据量比较大,一共383万,具体怎么导我之前的文章介绍有过。
以下是代码,等待一段时间才可载入
D:\> cd change\mysql-8.0.19-winx64\bin
D:\change\mysql-8.0.19-winx64\bin>mysql --local-infile -u root -p
mysql> load data local infile'D:/xcw/work/数据面试/电商平台用户分析/UserBehavior.csv' into table taobao.xwfx
-> fields terminated by ',';
如图所示:3835331数据。
(2)数据清洗
数据清洗的一般步骤
desc xwfx
看看大概数据类型和数据是否含null值,最后两行是我后加的,下文会讲到。
我们发现最后一列是时间戳,查过之后发现是一种以秒来记录的,与格林威治标准时间的相差秒数,因此,我们把他换算成日期和时间
先插入两列
ALTER TABLE xwfx ADD date_ymd VARCHAR(255);
# 日期列
ALTER TABLE xwfx ADD date_time VARCHAR(255);
#时间列
原先在这里我没有添加主键,导致一直报错,还用到了安全模式,这个方法是不可取的,建议先加好一列主键,再进行操作
SET SQL_SAFE_UPDATES = 0 #没有主键更新或删除时会报错,我得先设置安全模式关闭。
UPDATE xwfx
SET date_ymd = FROM_UNIXTIME(timestamp,'%Y-%m-%d') where userid >0
##记得要加where,不然有的版本会报错
SET SQL_SAFE_UPDATES = 0
UPDATE xwfx
SET date_time = FROM_UNIXTIME(timestamp,'%H:%i:%s') where userid >0;
上面可能会出现失去与服务器连接,因为数据量有点大,需要自己先设置一下DBMS connection read time out(in seconds)适当调大。
最后得到下图,日期转换结束
SELECT
MAX(date_ymd),
MIN(date_ymd)
FROM xwfx;
发现有脏数据
看看数据集范围量,选择目标时间
SELECT
MAX(date_ymd),
MIN(date_ymd),
count( distinct userid),count(1)
FROM xwfx
WHERE date_ymd >='2017-11-25 '
and date_ymd <=