数据分析-淘宝用户行为分析

亡梦爱人 提交于 2019-11-27 06:09:59

一、项目背景和目的

项目数据来源于https://tianchi.aliyun.com/dataset/dataDetail?dataId=649&userId=1,通过此项目学习电商数据分析的指标与数据分析的基本方法。

二、分析维度

根据现有数据及分析目的,从四个维度进行分析:

第一个维度:用户购物情况整体分析

以PV、UV、平均访问量、跳失率等指标,分析用户最活跃的日期及活跃时段,了解用户行为习惯

第二个维度:商品购买情况分析

从成交量、人均购买次数、复购率等指标,探索用户对商品的购买偏好,了解商品的销售规律

第三个维度:用户行为转化漏斗分析

从收藏转化率、购物车转化率、成交转化率,对用户行为从浏览到购买进行漏斗分析

第四个维度:参照RFM模型,对用户进行分类,找出有价值的用户

、分析正文

分析步骤如下:

提出问题------理解数据------数据清洗------构建模型------数据可视化

(一)提出问题

  • 用户最活跃的日期及时段
  • 用户对商品有哪些购买偏好
  • 用户行为间的转化情况
  • 用户分类,哪些是有价值的用户

(二)理解数据

 用户行为类型又分为四种:

pv:商品详情页pv,等价于点击

buy:商品购买

cart:商品加入购物车

fav:收藏

(三)数据清洗

包含数据导入(采用Navicat)、缺失值处理、一致化处理、异常值处理(2017.11.25到2017.12.3日内的数据)

四)构建模型

1.用户购物情况整体分析

 1.1 这9天里PV(浏览量),返回结果是:2027221

select count(behavior_type) as 浏览量 from User_Behavior
where behavior_type='pv';

1.2 这9天里UV(用户数),返回结果是:22099

select count(distinct user_id)as 用户数 from User_Behavior;

1.3 平均访问量是: 2027221/22099 = 91.7

即每个用户平均访问了91个页面。

1.4 跳失率计算:

跳失率:只有点击行为的用户/总用户数

select count(distinct user_id) from User_Behavior
where user_id not in 
(select distinct user_id from User_Behavior where behavior_type='fav')
and user_id not in
(select distinct user_id from User_Behavior where behavior_type='cart')
and user_id not in 
(select distinct user_id from User_Behavior where behavior_type='buy');

只有点击行为的用户数量为1253,故跳失率 = 1253/22099 = 0.0567,跳失率不高,说明店铺的商品详情页还是能吸引到用户的进行下一步行为。

1.5 每天访问量/访客数情况

select dates,count(behavior_type)as 访问量 from User_Behavior
where behavior_type='pv'
group by dates;

 

1.6 每天的访客数情况:

select dates,count(distinct user_id) as 访客数 from User_Behavior
group by dates;

 

 

1.7 每个时段访问量/访客数

alter table User_Behavior add column hours varchar(25) not null;
update User_Behavior set hours=left(times,2);

select a.hours,a.访问量,b.访客数 from
(select hours,count(behavior_type)as 访问量 from User_Behavior
where behavior_type='pv'
group by hours)a
inner join 
(select hours,count(distinct user_id) as 访客数 from User_Behavior
group by hours)b
on a.hours=b.hours;

 

可以看出访客数与访问量趋势大致一致,17 - 22时达到访客高峰,猜测是下班后进行购物放松。1-7时大多数人处于睡眠休息阶段故访客与访问量较少。

1.8 不同时段成交量

select hours,count(behavior_type)as 成交量 from User_Behavior
where behavior_type='buy'
group by hours
order by hours;

 

 

2.商品购买情况分析

2.1 成交量

用户行为中,只要用户行为为“buy”,即是完成了一次购买,形成一个订单。下面对订单进行分析

select dates,count(behavior_type) as 成交量 from User_Behavior
where behavior_type='buy'
group by dates;

 

2.2 人均购买次数

select count(behavior_type)as 订单量,count(distinct user_id)as 用户数,count(behavior_type)/count(distinct user_id)as 人均购买次数
from User_Behavior
where behavior_type='buy';

 

2.3 复购率

复购率=购买2次及以上用户数/总购买用户数

#总购买用户数
select count(distinct user_id) as 用户数 from User_Behavior
where behavior_type='buy';

得到总购买人数 15082

#购买次数>1次的 用户数     
select count(*) from 
(select count(user_id) as 重复购买用户数 from User_Behavior
where behavior_type='buy'
group by user_id)a
where a.重复购买用户数>1;

购买两次及以上用户数 9953

复购率 = 9953/15082 =0.659 = 66%

#重复被购买得最多次的商品
select item_id,count(behavior_type)被购买次数 from User_Behavior
where behavior_type='buy'
group by item_id
order by count(behavior_type) desc
limit 10;

 

#重复购买次数最多的客户
select user_id,count(user_id)as 购买次数 from User_Behavior
where behavior_type='buy'
group by user_id
order by count(user_id) desc
limit 10;

用户107932购买次数达到72次,对于这类忠实的用户需要开发用户信息库,建立完善的用户资料库,记录客户购物情况。

3.用户行为转化漏斗分析

#用户行为情况:
select behavior_type,count(behavior_type) from User_Behavior
group by behavior_type
order by count(behavior_type) desc;

 

 

可见真正转化为购买的只有2%,用户在浏览商品详情页后出现了大量的流失。

那么,从浏览到购买,每一个环节的转化率是多少呢?因为加入购物车和收藏商品并没有行为的先后性,也就是说,购物路线可以有两条:

第一条线路:浏览—加入购物车—购买

又或者是

第二条线路:浏览—添加收藏—购买

按照线路一来购买的话,从浏览到加入购物车到购买之间的转化率是多少呢?

购物车转化率=加入购物车后购买的用户数/加入购物车的用户数

select count(distinct a.user_id)as 加入购物车用户数,count(distinct b.user_id)as 加入后购买用户数 from
(select distinct user_id,item_id,item_category, time_stamp from User_Behavior where behavior_type='cart')a
left join
(select distinct user_id,item_id,item_category,time_stamp from User_Behavior where behavior_type='buy')b
on a.user_id=b.user_id and a.item_id=b.item_id and a.item_category=b.item_category and a.time_stamp<b.time_stamp;

由查询结果可知,

加入购物车的用户数为:16638

加入购物车后购买的用户数:5023

所以,购物车转化率为:5023/16638 = 30.18%,约为30%

也就是说,加入购物车的用户中,有30%会进行购买。

#有多少用户进行了浏览
select count(distinct user_id) from User_Behavior where behavior_type='pv';

  浏览的用户数是:22009

 

从图表中可以看出,从用户点击浏览到购买商品,用户浏览到加入购物车的转化率是很高的,达到了75.5%,说明大部分用户在浏览后有购买意向,加入了购物车;但是,在加入购物车到购买的环节里,只有30%左右的用户进行了真正的购买,而70%的用户是没有进一步购买的。为什么用户加入购物车后却并没有购买呢?

推测原因可能是:

1.加入购物车是为了与不同店铺的同种产品进行比价;

2.为了凑单,进行满减;

3.先放着,过几天再购买;

4.等活动优惠

考虑第二条线路,进行分析

收藏转化率=添加收藏后购买的用户数/添加收藏的用户数

#从收藏到购买的转化:
select count(distinct a.user_id)as 收藏用户数,count(distinct b.user_id)as 收藏后购买用户数 from 
(select distinct user_id,item_id,item_category,timestamp from User_Behavior where behavior_type='fav')a
left join
(select distinct user_id,item_id,item_category,timestamp from User_Behavior where behavior_type='buy')b
on a.user_id=b.user_id and a.item_id=b.item_id and a.item_category=b.item_category and a.timestamp<b.timestamp;

 

浏览的用户数是:22009

加入收藏的用户数为:8900

加入收藏后购买的用户数:1910

所以,收藏转化率为:1910/8900 = 21.4%,约等于21%

与线路一的购买流程来看,用户在浏览后,相对于收藏行为,会更倾向于添加到购物车。而且购物车转化率为30%,收藏转化率为21%,购物车转化率比收藏转化率高,也就是说,用户更偏向于购物车购买。

这是为什么呢?

推测原因:加入购物车后可以直接下单购买,而加入收藏后并没有可以下单的页面,如果需要购买必须重新点击商品进入详情页才能下单,多了一个步骤,所以,在这个步骤里可能用户就流失了部分。

4.参照RFM模型,对用户进行分类找出有价值的用户

RFM模型是衡量客户价值和客户创利能力的重要工具。该模型通过客户的最近交易行为(Recency)、交易频率(Frequency)以及交易金额(Monetary)三项指标来描述该客户的价值状况。一般来说,会将这三项指标分成几个区间进行评分,通过计算评分找到有价值的用户,并对用户进行分类。

最近一次消费(Recency):是指最近一次消费距离上一次消费之间的时间长短。它反映了客户对产品的态度以及对品牌价值的信任度,它关乎消费者的存留状况。

消费频率(Frequency):是指某个特定时间内消费的次数。它直接反映了客户的忠诚度,消费频率越高,忠诚度就越高;忠诚度越高的客户数量越多,公司的竞争优势越强,市场份额越大。

消费金额(Monetary):是指一定时间内消费某产品金额。它反映的是客户的价值,价值越高,给公司创造的利益就更大。

因为数据源里没有金额相关的信息,所以只通过R和F来对客户价值进行评分。

R(Recency)最近的购买行为:

数据集里时间范围是从11月25到12月3日,我将11月25日,设为参数对照日期,即以距离11月25日的天数划分区间,其中0-2天,3-4天,5-6天,7-8天,分别对应为1-4分。

#按购买天数评分:
create view score_01 as
select user_id,
(case when 购买天数 between 0 and 2 then 1
when 购买天数 between 3 and 4 then 2
when 购买天数 between 5 and 6 then 3
when 购买天数 between 7 and 8 then 4 else 0 end
)as 购买得分
from
(select user_id,datediff(max(dates),'2017-11-25')as 购买天数
from User_Behavior
where behavior_type='buy'
group by user_id)as a
order by 购买得分;

F(Frequency)购买频率:

从上面对复购用户的分析中,我们也得知,有购买行为的用户,购买频率最高的能达到72次。所以,我们将1-72从低到高,划分为4个档次。1-18,19-36,37-54,55-72分别对应为1-4分。

#按购买频率评分:
create view score_02 as
select user_id,
(case when 购买次数 between 1 and 18 then 1
when 购买次数 between 19 and 36 then 2
when 购买次数 between 37 and 54 then 3
when 购买次数 between 55 and 72 then 4 else 0 end 
)as 购买频率得分
from
(select user_id,count(behavior_type)as 购买次数
from User_Behavior
where behavior_type='buy'
group by user_id)b
order by 购买频率得分 desc;

 通过上面两个步骤,从两个维度:最近购买时间及购买频率,分别给用户进行了评分。接下来用这两项的每一项平均值作为判断高于还是低于,比如重要价值用户,必须是两项的分值都比平均值要高,才能作为重要价值的用户。

下面对用户进行分类

求两项评分的均值:

#求评分的均值 
select avg(购买得分) from score_01;
select avg(购买频率得分)from score_02;

将获得的两项评分分别和它们的均值进行比较,对客户进行分类

#对用户进行分类:
create view users_classify as
select user_id,
(case when R>3 and F>1 then '重要价值用户'
when R>3 and F<=1 then '重要保持用户'
when R<=3 and F>1 then '重要发展用户'
when R<=3 and F<=1 then '一般价值用户' else 0 end 
)as 用户类型
from
(select a.user_id,a.购买得分 as R,b.购买频率得分 as F
from score_01 as a inner join score_02 as b
on a.user_id=b.user_id)c;

 (暂时无法打开users_classify表格)

 用户类型计数:

#对用户类型计数:
select count(用户类型)  from users_classify where 用户类型='重要价值用户';
select count(用户类型)  from users_classify where 用户类型='重要保持用户';
select count(用户类型)  from users_classify where 用户类型='重要发展用户';
select count(用户类型)  from users_classify where 用户类型='一般价值用户';

对于重要价值用户,他们是最优质的用户,需要重点关注并保持, 应该提高满意度,增加留存;

对于重要保持用户,他们最近有购买,但购买频率不高,可以通过活动等提高其购买频率;

对于重要发展用户,他们虽然最近没有购买,但以往购买频率高,可以做触达,以防止流失;

对于一般价值用户,他们最近没有购买,以往购买频率也不高,特别容易流失,所以应该赠送优惠券或推送活动信息,唤醒购买意愿。

四、结论及建议

1.12月2日与12月3日,相对于其他日期,流量增长明显,推测和搞活动有关;

2.大部分用户在18时到21时会比较活跃,其中21到22时,是一天当中最活跃的时段,成交量也是这一时段最高。建议可以在用户活跃的时段进行推广以使运营效果最大化。

3.这段时间,人均购买次数为3,复购率达到66%,说明店铺产品对用户吸引力比较大。

4.被重复购买得比较频繁的商品是item_id为3122135等商品,对于复购率高的商品,建议可以建立自己的忠实粉丝群,实行更精准的人群管理。

5.用户ID为107932 等的用户是重复购买次数最多的用户。建议对于这些忠实用户,建议要更全面地了解,开发用户信息库,建立详实的用户资料数据库,追踪记录顾客的交易情况。或者线上组建VIP客户微信群等,针对这些用户的购买偏好推送更精准的销售方案。

6.用户行为转化率只有2%,有98%的用户行为是没有转化为成交的,用户在浏览商品详情页后出现了大量的流失。建议通过活动、优惠券、产品详情页的改进等提高转化。

7.从浏览到加入购物车的转化有75.5%,大部分用户在浏览后有购买意向;加入购物车到真正购买的,只有30%,有70%的用户加入购物车后却并没有进一步购买。

建议在用户加入购物车后能有促进用户下单的利益“诱导”,如赠送优惠券或采用倒计时购物车增加客户购买紧近感。

8.从收藏到购买的转化率为21%。相对于购物车30%的转化率,收藏转化率稍低。

同样建议在用户添加收藏后能提示优惠或促销等时限信息,促使用户尽早下单。

9.用RFM模型对用户进行分类后,可知重要价值用户比较少,用户类型主要还是集中于重要保持用户和一般价值用户。建议根据用户类型,进行有针对性的精准营销。

参考文献:

1.https://zhuanlan.zhihu.com/p/76267568

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!