1、数据来源
阿里云天池: https://tianchi.aliyun.com/dataset/dataDetail?dataId=649
本数据集包含了2017年11月25日至2017年12月3日之间,约有一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。
时间跨度约为一个礼拜,从周六到下个周日
2、各字段含义
3、数据清洗
使用CDH6.3.0搭建的大数据平台,数据下载后上传文件至hdfs的/user/root/UserBehavior目录下
su hdfs -c "hadoop dfs -mkdir /user/root/UserBehavior"
su hdfs -c "hadoop dfs -chown -R root:root /user/root/UserBehavior"
hdfs dfs -put /app/localData/UserBehavior/UserBehaviors.csv /user/root/UserBehavior/
查看目录:
hdfs dfs -ls /user/root/
使用hiveserver2连接平台
beeline -u jdbc:hive2://node01:10000
use default;
新建外表:
create external table ods_userBehaviors (userId int,itemId int,categoryId int,behaviorType string,time bigint) row format delimited fields terminated by ',' stored as textfile location '/user/root/UserBehavior';
查询前10条
select * from ods_userbehaviors limit 10
做个总条目聚合:
select count(*) from ods_userbehaviors;
发现报错,/user目录的权限问题
使用hdfs用户使/user目录权限为777
su hdfs -c "hadoop dfs -chmod -R 777 /user/root"
再运行
发现总条目数为3835331,使用时间为333.622seconds.
4、构建模型
本次分析的目的是想通过对淘宝用户行为数据分析,为以下问题提供解释和改进建议:
1.分析用户使用APP过程中的常见电商分析指标,确定各个环节的流失率,找到需要改进的环节
2.研究用户在不同时间尺度下的行为规律,找到用户在不同时间周期下的活跃规律
3.找到用户对不同种类商品的偏好,找到针对不同商品的营销策略
4.找出最具价值的核心付费用户群,对这部分用户的行为进行分析
本文通过常用的电商数据分析指标,采用AARRR漏斗模型拆解用户进入APP后的每一步行为。AARRR模型是根据用户使用产品全流程的不同阶段进行划分的,针对每一环节的用户流失情况分析出不同环节的优化优先级,主要通过以下个各阶段来进行分析:
1.基于AARRR漏斗模型分析用户行为
本文通过常用的电商数据分析指标,采用AARRR漏斗模型拆解用户进入APP后的每一步行为。AARRR模型是根据用户使用产品全流程的不同阶段进行划分的,针对每一环节的用户流失情况分析出不同环节的优化优先级,主要通过以下个各阶段来进行分析:
2.基于RFM模型找出有价值的用户
由于不同用户对公司带来的收益差别很大,而且根据二八定律20%的做有价值用户能带来80%的收益,因此需要对用户进行价值评价,找到最有价值的用户群,并针对这部分用户进行差异化的营销。
这里参考著名的 RFM 模型对用户进行评价:
R-Recency(最近一次购买时间)
R指用户上一次消费的时间,上一次购物时间距今最近的顾客通常在近期响应营销活动的可能性也最大,对于APP而言,很久没有购物行为可能意味着用户放弃了APP的使用,重新唤起用户也需要更多的成本。
F-Frequency(消费频率)
F指用户在某段时间内的购物次数,消费频率越高意味着这部分用户对产品的满意度最高,用户粘性最好,忠诚度也最高。
M-Money(消费金额)
M指用户在某段时间内的购物金额,这也是为公司带来价值的最直接体现,而消费金额较高的用户在用户总体中人数较少,却能创造出更多价值,是需要重点争取的对象。
这三个维度互相关联,反映了每个用户的现在价值和潜在价值,将每个维度分成5个区间进行评分,通过计算分数找到最有价值的用户,并对用户进行分类,可以有针对性的不同类型用户采用不同的营销策略。
以上两个模型的论述摘自https://www.jianshu.com/p/4f64d739fba2
模型
1.分析用户使用户行为的漏斗模型
利用AARRR模型分析用户行为,此处数据主要涉及用户刺激和购买转化的环节,通过用户从浏览到最终购买整个过程的流失情况,包括浏览、收藏、加入购物车和购买环节,一个周内的各项指标如下:
UV:
select count(distinct userId) from ods_userbehaviors
37376
PV:
select count(*) from ods_userbehaviors where behavior = 'pv';
3433849
PV/UV:91.87
UV | PV | 每人平均每周访问次数PV/UV |
---|---|---|
37376 | 3433849 | 91.87 |
跳失率
跳失率=只点击一次浏览的用户数量/总用户访问量(PV)
也叫蹦失率,即访问该页面就关闭的PV数占总PV数的比例
select count(*) from (select userId from ods_userbehaviors group by userId having count(behaviorType)=1) as a;
1
即跳失率=1/3433849,统计时间为一周,只有1个人浏览了一次就离开淘宝,分析记录虽然仅为部分数据,但仍可以看出淘宝拥有足够的吸引力让用户停留app,这也符合日常观察。
跳失率 |
---|
1/3433849 |
用户总行为数漏斗计算
每一种行为的总数量排序:
select behaviortype,count(*) from ods_userbehaviors group by behaviortype order by behaviortype desc;
+---------------+----------+
| behaviortype | _c1 |
+---------------+----------+
| pv | 3433849 |
| fav | 111140 |
| cart | 213634 |
| buy | 76707 |
+---------------+----------+
从浏览到有购买意向转化率 | 使用购物车和收藏功能购买率 |
---|---|
(fav+cart) /pv | buy/(fav+cart) |
9.5% | 23% |
由于收藏和加入购物车都为浏览和购买阶段之间确定购买意向的用户行为,且不分先后顺序,因此将其算作同一阶段,可以看到从浏览到有购买意向只有9.5%的转化率,当然有部分用户是直接购买而未通过收藏和加入购物车,但也说明大多数用户浏览页面次数较多,而使用购物车和收藏功能较少,而购买次数占使用购物车和收藏功能的23.6%,说明从浏览到进行收藏和加入购物车的阶段是指标提升的重点环节。
独立访客漏斗模型计算:
select behaviortype,count(distinct userid) as num from ods_userbehaviors group by behaviortype order by num desc;
+---------------+--------+