淘宝用户行为分析
一、项目背景
本项目以淘宝的真实用户的商品行为数据为基础,通过sql分析和tableau可视化,探索用户行为规律,寻找高价值用户;分析商品特征,寻找高贡献商品;分析产品功能,优化产品路径。
注:数据包含了抽样出来的1W用户在一个月时间(11.18~12.18)之内的移动端行为约一千两百万条数据。
二、分析流程
- 主要从以下四个维度对用户行为进行分析和建议:
- 用户行为间的转化情况分析
利用漏斗模型分析用户从商品浏览到购买整个过程中,常见的电商分析指标,确定各个环节流失率, 提出改善转化率的建议。 - 用户的行为习惯分析
利用pv、uv等指标,找出用户活跃的日期以及每天的活跃时间段。 - 用户类目偏好分析
根据商品的点击、收藏、加购、购买频率,探索用户对商品的购买偏好,找到针对不同商品的营销策略(购买 率较高的类目和产品,优化产品推荐)。 - 用户价值分析
找出最具有价值的核心用户群,针对这个群体推送个性化推送,优惠券或者活动。
确认问题
本次分析的目的是想通过对用户行为数据进行分析,为以下问题提供解释和改进建议:
- 基于漏斗模型的用户购买流程各环节的分析指标,分析各环节的转化率,便于找到改进的环节。
- 商品分析:找出热销商品,研究热销商品的特点。
- 基于RFM模型找出核心付费用户群,对每部分群体做精准营销。
三、数据读取
表结构
1 |
|
数据导入
四、数据预处理
数据预处理包括数据重复值、空缺值、异常值处理以及保持数据一致性。
数据重复值
- 查看数据重复值
1 |
|
处理数据重复值
虽然可以看到有大量的重复数据。
但是通过实际分析,time的精确到小时,而一个小时内可以发生多个用户购买行为,所以忽略掉这些重复的数据。
数据空缺值
查看数据空缺值
1
2select count(user_id),count(item_id),count(behavior_type),count(item_category),count(time)
from user_action;
数据异常值
从范围数值内入手或者是明显不符合实际逻辑的数据。
查看behavio type的类型
1
select distinct behavior_type from user_action;
四种行为,没有异常。
查看time的范围
1
select max(time),min(time) from user_action;
没有问题,符合数据集中的描述,时间是从2014年11月18号到2014年12月18号共一个月的时间。
数据一致性
- 对time字段做处理:
- 新建日期列,命名为date;新建小时列,命名为hour。
- 更新新增列内容后删去原time列。
1 |
|
- 对behavior_type字段改为英文命名
1 |
|
五、数据分析
(一)整体情况概述
1.月维度-总体情况
- 11月18日至12月18日总体uv、浏览总次数、人均浏览次数、收藏量、加购量、成交数
1 |
|
- 查询结果如下
- 可以看出分析的总用户数为1万人,一个月的订单量约为12万单,并且比起收藏,人们更倾向于加购。
2.DNU指标
1 |
|
- 查询结果如下
使用tableau将其可视化结果如下
可以看出DNU指标从首日便开始骤减,是由于数据是从11月18日开始,没有之前的数据源。故导致在11月18日中的“新增用户”极大部分是来自于此前活跃用户,并非当日新增的用户。
而次日到三日的DNU数据也出现一定程度的骤减情况,原因为这些“新增用户”也有部分来自于此前活跃用户。
越到后面越呈现稳定状态,也更能代表DNU真实情况。
3.整体行为数据
(1)用户行为数据频次统计
1 |
|
- 查询结果如下
- 统计出每个用户的总点击数、浏览数、收藏数、加购数和购买数,方便后续分析出用户的复购情况和浏览页面跳出情况。
(2)用户整体复购情况
1 |
|
- 查询结果如下
- 用户复购率高达91.69%,说明淘宝对用户有较大的吸引力使用户停留且用户 的忠诚度非常高。可以进一步提高复购率,鼓励用户更高频次的购物。
- 猜测其最大的原因是双十二当天的购买人数非常多,拉高了复购率。后续还要和别的月份相比较。
(3)页面跳出情况
浏览页面跳出
1 |
|
- 查询结果如下
关键页面跳出
- 指的是用户加购或者收藏却没有购买的行为
1 |
|
- 查询结果如下
跳出情况解读:
浏览页面跳出率为42.61%,关键页面跳出率我额70.29%。
分析:可能商品不符合用户需求,竞争力不够。
解决方法:可对比竞品网站,在商品的定价、商品陈列故事、商品详情描述等方面做出改进
4.用户留存情况
1 |
|
查询结果如下
因为时间跨度只有一个月,所以直接分析次日、三日、一周留存率。
- 可以看出次日留存率、三日留存率、一周留存率在“双十二”前留存率呈下降趋势,而“双十二”活动左右的一周时间内各项指标都出现比较大的波动而且总体是提高的趋势,可以看出活动对用户的吸引力是很强的,在12.13号当天次日留存率达到顶峰值,可能为客户在购买完商品后对商品状态的关心而进行再次访问。
(二)用户转化情况分析
1.漏斗分析
(1)流量转化分析
对浏览量-收藏量-加购量-购买量的对比查询结果如下
没有图
使用tableau将其可视化结果如下
从浏览量-加购量-收藏量-购买量来看,只有1%的购买。并且无论是加购还是收藏的转化率都十分低,说明用户花费了大量时间来寻找合适产品,故我们可以从UI设计,关键词搜索优化,推荐算法等方面进行提升客户体验。
进一步用户是否也是在点击后产生了大量的流失
(2)各环节用户转化分析
- 基于user_cnt_all表对用户各个行为的统计,使用漏斗转化模型进行了处理,建立了用户转化漏斗图。
1 |
|
查询结果如下
使用tableau将其可视化结果如下
- 可以看出,用户并未点击后就大量流失,并且最后付费用户比例达到了88.86%。说明用户的购买意愿较为理想。 结合用户行为数统计推断用户的点击行为远远超过了收藏和加购物车的行为,说明用户有较大的可能在购物时有“货比三家”的习惯。
- 所以针对大部分点击后转化到加购物车和收藏的概率较低有较大的提升空间,APP可以通过优化推荐商品的功能和筛选商品的功能,让用户不用浏览较多的网页获得心仪的商品。
(3)路径分析
- 那么再回到用户转化漏斗图,从浏览到购买每个环节的转化率又是多少?为什么收藏比加入购物车少?
- 从用户点击后到最后购买的四条不同的路径展开分析
点击-购买
使用tableau将其可视化结果如下
点击-收藏-购买
点击-加购-购买
点击-收藏或加购-购买
- 从四种购买行为的留存,可以看出用户点击后,若存在后续行为则主要是加入购物车,其次是收藏和加购物车,再接下来是收藏;除此之外还与一部分用户是点击后直接购买的。
- 可以着重研究一下各类路径用户购买的什么产品以及用户的标签,通过优化商品推荐和精准运营加强这部分的转化。
- 推断在收藏的用户转换率较低的原因在于用户在点击时较为喜欢此商品或者说活动时间还未开始,通过提醒用户等方式精准运营提高这部分用户的购买率。
- 最后,对用户从收藏到购买,加购物车到购买和收藏和加购物车到购买的转化分析来看,加购物车到购买的转化率最高达到了 34.79%,说明直接加入到购物车最后购买的概率较高,故引导客户加入购物车及时购买可以提高购买转化率。
2.行为习惯分析
行为习惯分布(周)
1 |
|
- 查询结果如下
使用tableau将其可视化结果如下
从星期来看,周四、周五、周六形成一个客流小高峰,在周五完成购买。
行为习惯分布(天)
1 |
|
- 查询结果如下
使用tableau将其可视化结果如下
- 在研究日期范围内,用户活跃度均比较平稳,但是在12月2日和12月3日出现小幅度的增长,其中点击量和收藏,尤其是加购物车增幅增大,但是购买没有较大增幅。
- 分析其原因是由于周末空余时间较多,用户流量增大;再加上双12很多预热活动,用户提前添加收藏和加购物车,是双12批量购买的前置动作,符合常规预期。
一天内用户行为习惯分布
1 |
|
查询结果如下
使用tableau将其可视化结果如下
- 用户在10点到24点较为活跃。
- 从17点开始逐渐增高,晚上21点—22点达到最高值。原因可能为18点后处于下班高峰期,人们喜欢下班后购物,在9点左右忙完琐事后购物。
3.类目偏好分析
- 统计所有商品的购买次数,同时找到购买次数、浏览次数、收藏次数和加入购物车次数最多的商品。
1 |
|
查询结果如下
商品销售情况分析
1 |
|
- 查询结果如下
- 用户购买的商品总共有4001种,购买次数在1次的商品占绝大部分,其次是购买次数为2商品,未出现购买次数集中的商 品,说明商品的售卖主要是依靠商品的长尾效应,而非爆款商品。
商品品类浏览的top20
1 |
|
查询结果如下
使用tableau将其可视化结果如下
可以看出商品112921337浏览次数最多,占所有浏览次数的9.5%。
商品品类收藏的top20
1 |
|
查询结果如下
使用tableau将其可视化结果如下
可以看出商品277922302浏览次数最多,占所有浏览次数的7.6%。
商品品类加购的top20
1 |
|
查询结果如下
使用tableau将其可视化结果如下
可以看出商品83098075浏览次数最多,占所有浏览次数的9.8%。
商品品类购买的top20
1 |
|
查询结果如下
使用tableau将其可视化结果如下
可以看出商品303205878浏览次数最多,占所有浏览次数的710.2%。
商品品类分析
查询商品在加购和收藏的top20,但不在购买类目的top20
1
2
3
4select cart_20.item_id
from cart_20
where item_id not in (select item_id from buy_20)
and item_id in (select item_id from collect_20);- 查询结果如下
- 发现没有商品查询商品在加购和收藏的top20,但不在购买类目的top20。说明所有top20的商品的转化率都还可以。
4.价值分析—RFM模型
R部分
- 将客户近期购买时间进行等级划分,越接近2014-12-18号R越大。
- 间隔>15天为1;
间隔在10-15天为2;
间隔在7-9天为3;
间隔在3-6天为4;
间隔在0-2天为5;
- 间隔>15天为1;
1 |
|
- 查询结果如下
F部分
将客户购买频次进行等级划分,越接近2014-12-18号R越大。
无购买,0分;
1-49次,1分;
50-99次,2分;
100-299次,3分;
300-499次,4分;
大于500次,5分。
1 |
|
- 查询结果如下
用户划分
- 由于只有R和F两个维度,所以分为以下四种,按照最近一次消费的均值和消费频率的均值定高低界限。
- 重要高价值客户:指最近一次消费较近而且消费频率较高的客户;
重要唤回客户:指最近一次消费较远且消费频率较高的客户;
重要深耕客户:指最近一次消费较近且消费频率较低的客户;
重要挽留客户:指最近一次消费较远且消费频率较低的客户。
- 重要高价值客户:指最近一次消费较近而且消费频率较高的客户;
- 计算出r和f的均值
1 |
|
- 查询结果如下
r_avg=3.8522;f_avg=1.0396
用户划分成四类
1
2
3
4
5
6
7
8
9
10
11
12create table user_RF as
select user_id,
case
when r>3.8522 and f>1.0396 then '重要高价值客户'
when r<3.8522 and f>1.0396 then '重要唤回客户'
when r>3.8522 and f<1.0396 then '重要深耕客户'
when r<3.8522 and f<1.0396 then '重要挽留客户'
end as '客户类型'
from r_value
left join f_value
using(user_id);
- 查询结果如下
- 对各种类型客户计数
- 查询结果如下
- 使用tableau将其可视化结果如下
- 可以看出重要高价值客户在1w人中有294人,约占3.31%。重要唤回客户在1w人中有8人,约占0.09%,比重较低。
- 可以在后续精细化运营场景中直接使用细分用户,做差异化运营:
- 对高价值客户做VIP服务设计,增加用户粘性同时通过设计优惠券提升客户消费;
- 对深耕客户做广告、推送刺激,提升消费频次;
- 对挽留客户做优惠券、签到送礼策略,增加挽留用户粘性;
- 对唤回客户做定向广告、短信召回策略,尝试召回用户。