分析背景

中国电商行业逐渐转变到精细化运营的模式,随着数据基础平台以及数据库的完善,所收集到的数据更加完整,对于分析提供了强有力的支持,同时通过数据分析来为企业经营提供决策变得越来越重要,在此背景下,本次项目尝试基于淘宝天猫真实电商用户数据开展一定分析。

数据来源

本次项目数据集通过公开渠道获得,数据来源于阿里云天池竞赛平台,包含了淘宝天猫2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢),原始数据量级100万左右。

数据集-阿里云天池数据集-阿里云天池的文档介绍:## User Behavior Data from Taobao for Recommendation**1.概述**UserBehavior是阿里巴巴提供的一个淘宝用户行为数...https://tianchi.aliyun.com/dataset/dataDetail?dataId=649数据说明:

列名称 说明
UserID 用户ID
ItemID 商品ID
categoryID 商品所属类目ID
BehaviorType 包括(pv buy cart fav)
TimesTamp 行为发生的时间戳

其中BehaviorType(用户行为类型)共有四种,分别是

行为类型  说明
pv  商品详情页pv,等价于点击
buy 商品购买
cart 将商品加入购物车
fav 收藏商品

分析目的

本次项目从多个维度分析用户数据、行为数据、商品数据,发现能够提升销售量的建议。

分析思路

分析前提出如下疑问:

1、哪些商品是热搜商品?哪些是畅销商品?热搜商品是否是畅销商品?

2、用户各个行为类型的占比是多少?行为之间的转化率是怎样的?哪个环节流失比较严重?

3、工作日或周末,每天不同时间段对于用户行为的影响

4、使用RFM方法对用户进行分类

针对分析目的,采用多维度拆解分析方法对问题进行拆解,并在分析过程中使用漏斗模型、对比分析法、RFM模型分析法、假设检验分析方法对流程级业务指标中的问题进行分析。

分析思路见下图:

分析步骤

数据清洗:删除重复值

select UserID,ItemID,TimeStamp
from userbehavior
group by UserID,ItemID,TimeStamp
having count(1)>1;

结果:经验证,无重复值

数据清洗:缺失值处理

select count(UserID),count(ItemID),count(categoryID),count(TimeStamp)
from userbehavior;

结果:经验证,无缺失值

数据清洗:一致化处理

考虑到分析过程中需要用到日期数据,但原始数据中timestamp格式是时间戳,包含了日期和时间,因此要先对timestamp字段进行拆分,调整成日期和时间格式

新增日期和时间字段并更新字段内容

alter table userbehavior
add Date varchar(20) not null, add Time varchar(10) not null;UPDATE userbehavior set Date = FROM_UNIXTIME(TimeStamp,'%Y-%m-%d'),
Time = FROM_UNIXTIME(TimeStamp,'%H:%i:%s');

结果如下:

数据清洗:异常值处理

检查日期是否在数据集规定范围内2017-11-25至2017-12-3

select max(Date),min(Date) from userbehavior;

结果如下:数据无异常值

若数据有异常值,则使用下述语句进行删除

## 先统计一下异常值数据有多少条,便于后续删除后确认异常值数据是否全部删除
select count(1) from userbehavior
where Date < '2017-11-25' or Date > '2017-12-03';## 删除异常值数据(对行删除)
delete from userbehavior
where Date < '2017-11-25' or Date > '2017-12-03';

数据行为分析:用户行为路径分析

select BehaviorType,count(1) 行为类型计数 from userbehavior group by BehaviorType;

结果:用户点击量占89.69%,而购买量仅占2.03%。用户从浏览到购买的转化率是89.69%*2.13%=2.37%,是什么原因导致转化率低?

用户来到网站,首先要浏览主页,查看推荐商品或者输入关键字找到自己喜欢的商品,之后将商品加入购车或者收藏商品,最后点击购买、支付等一系列操作。

目前只看到了从浏览到购物的转化率低,具体是哪个环节出了问题,还需要进一步的拆解,运用漏斗分析方法来分析哪个环节转化率低导致的整体转化率低。

按照行为路径,用户在对每款商品总会有以下几种情况的操作

分析每种情况下的转化率

创建视图

create view  user_P
as
select UserID, ItemID,
sum(case when BehaviorType = 'pv' then 1 else 0 end) as '点击',
sum(case when BehaviorType = 'cart' then 1 else 0 end) as '加购',
sum(case when BehaviorType = 'fav' then 1 else 0 end) as '收藏',
sum(case when BehaviorType = 'buy' then 1 else 0 end) as '购买'
from userbehavior
group by UserID, ItemID;

计算各流程转化率

-- 点击量
select sum(点击) from user_p;-- 点击→购买
select sum(购买) from user_p
where 点击>0 and 购买>0 and 收藏=0 and 加购=0;-- 点击→加购
select sum(加购) from user_p
where 点击>0 and 加购>0 and 收藏=0;-- 点击→加购→购买
select sum(购买) from user_p
where 点击>0 and 加购>0 and 购买>0 and 收藏=0;-- 点击→收藏
select sum(收藏) from user_p
where 点击>0 and 加购=0 and 收藏>0;-- 点击→收藏→购买
select sum(购买) from user_p
where 点击>0 and 购买>0 and 收藏>0;-- 点击→收藏+加购
select sum(收藏) + sum(加购) from user_p
where 点击>0 and 加购>0 and 收藏>0;-- 点击→收藏+购买→购买
select sum(购买) from user_p
where 点击>0 and 购买>0 and 收藏>0 and 加购>0;-- 点击→流失
select sum(点击) from user_p
where 点击>0 and 收藏=0 and 加购=0 and 购买=0;

由此看出,从浏览量到直接购买转化率才1.17%,而浏览后有加购行为的购买转化率是10.81%,有收藏行为的转化率是10.26%,所以顾客有加购或者收藏的行为之后,会提升转化率,所以我们需要从产品交互界面、营销机制等方面引导用户去多加购,多收藏。

同时我们发现浏览后加购的转化率是2.95%,并且加购后到购买转化率为10.81%是最高的,所以引导加购行为更容易达到提升销售量的目的。

而从上述分析中也从中发现了一个巨大的问题,就是用户从点击量到下一层操作中,转化率都很低,说明出用户花了大量的时间去浏览商品,而真正下单的却很少。

考虑到淘宝天猫的大部分用户都是女性,女性往往购物不是买自己需要什么,而是自己喜欢什么,也就是所谓的闲着没事瞎逛,所以对于淘宝天猫这种购物平台,商品的推荐功能显得尤为重要,如果能够推荐用户喜欢的商品,那自然会下单,如果不喜欢也就只能是看看而已。

转化率低的原因分析

对于商品自身问题需要开展专项分析,聚焦于高点击量低购买量的商品,由于数据缺失,这里不做详细阐述。

这里只针对平台问题,提出假设:推荐机制不合理,给用户推荐的都是不喜欢的商品,造成转化率低。

分析:这里可以通过分析高浏览量商品与高购买量商品之间是否存在高度重合,如果是的,那就说明推荐的商品是用户喜欢,假设就不成立,如果不是则证明假设成立。

浏览量前10的商品类

select CategoryID,count(CategoryID) 点击次数 from userbehavior
where BehaviorType = 'pv'
group by CategoryID order by 点击次数 desc limit 10;

购买量前10的商品类

select CategoryID,count(CategoryID) 点击次数 from userbehavior
where BehaviorType = 'buy'
group by CategoryID order by 点击次数 desc limit 10;

从图中可以看出部分点击量高的商品类购买量不一定高

接下来细分到每个商品

-- 浏览量前10的商品
select ItemID,count(ItemID) 点击次数 from userbehavior
where BehaviorType = 'pv'
group by ItemID order by 点击次数 desc limit 10;-- 购买量前10的商品
select ItemID,count(ItemID) 点击次数 from userbehavior
where BehaviorType = 'buy'
group by ItemID order by 点击次数 desc limit 10;-- 计算点击量前10的商品的购买量
select * from
(select ItemID,count(BehaviorType) 购买量
from userbehavior
where BehaviorType = 'buy'
group by ItemID ) as a
where ItemID in('812879','3845720','138964','2331370','2032668','3371523','2338453','1591862','2367945','2818406');-- 计算购买量前10的点击量
select * from
(SELECT itemid,count(BehaviorType) as 浏览量
from userbehavior
where BehaviorType = 'pv'
group by itemid ) as a
where itemid in('2859111','3122135','1415828','2964774','4219087','4374565','3033663','1910706','4443059','3057515');

首先看浏览量TOP10的表格,前10浏览量的商品对应的购买量几乎没有,也就是说平台给予的流量顾客的点击是高的,但是这个产品所产生的销售没有,由于电商业务是以销售为导向的,所以这些商品并不适合冲量销售,不应当给予过多的流量支持。

反观购买量这边,浏览量都是比较低的,并且和前面浏览量TOP10里没有一个重复的商品ID,也就是说高浏览和高购买是两类不同的商品。

因此可以得出结论:推荐的商品顾客并不喜欢购买,由于高浏览量并没有带来购买,所以转化率低。

我们发现4443059、2964774、4219087这三类商品购买量比较高,在高需求量的基础上我们考虑淘宝调整推送机制,增加对这几类商品的推送,以满足用户需求。

总结:

1.优化推荐机制,把更多流量给到顾客愿意购买的商品

2.通过更好的商品推荐,页面交互,积分会员等功能等降低流失率

3.引导加购,可以加强营销机制引导顾客加购,比如加购物车联系客服领优惠券

接下来从时间维度分析,用户有何规律可循

用户在什么时候会浏览商品

提出假设1:用户在周末购买行为会增加

收集证据

select Date,count(BehaviorType) as '总数',
sum(case when BehaviorType = 'pv' then 1 else 0 end) as '点击',
sum(case when BehaviorType = 'cart' then 1 else 0 end) as '加购',
sum(case when BehaviorType = 'fav' then 1 else 0 end) as '收藏',
sum(case when BehaviorType = 'buy' then 1 else 0 end) as '购买'
from userbehavior GROUP BY Date;

假设成立,星期六、星期日的点击、加购、收藏、购买量较周一至周五有明显提升,但由于只有一周数据,所以目前分析结果仅具有一定的参考价值。

提出假设2:用户在一天中晚上休息时间点击量会上升

收集证据

alter table userbehavior
add Time1 varchar(10) not null;UPDATE userbehavior set Date = FROM_UNIXTIME(TimeStamp,'%Y-%m-%d'),
Time1 = FROM_UNIXTIME(TimeStamp,'%k');select Time1,count(BehaviorType) as '总数',
sum(case when BehaviorType = 'pv' then 1 else 0 end) as '点击',
sum(case when BehaviorType = 'cart' then 1 else 0 end) as '加购',
sum(case when BehaviorType = 'fav' then 1 else 0 end) as '收藏',
sum(case when BehaviorType = 'buy' then 1 else 0 end) as '购买'
from userbehavior GROUP BY Time1;

经过对一天中用户行为分布的可视化,可以发现每日1点至6点用户活跃度快速降低,降到一天中活跃度最低值,7点至11点用户活跃度快速上升,10点至19点用户活跃度较平稳,19点后用户活跃度开始快速上升,并在22时达到一天中用户活跃度的最高值,这也符合大部分人的作息规律。所以,可以考虑在20-24点这个时间段进行一些促销活动和商品推荐以提高转化率。

此外,可以看出晚上19点到24的晚间时间段,用户的操作行为偏向于浏览。

用户在白天特别是在商务10点和下午15点,购买行为比率达到最高,可见,在这一时间段的用户使用淘宝下单购买商品的意向是最高的。

基于RFM分析模型的用户分层

RFM是3个指标的缩写,最近一次消费时间间隔(Recency),消费频率(Frequency),消费金额(Monetary)。通过这3个指标对用户分类。

接下来需要利用SQL语句,计算每个用户的最近一次消费时间间隔和消费频率,消费金额由于数据缺失,暂且不予考虑。

计算最近一次消费时间间隔(R)

R = 数据统计时间 - 用户最新消费时间

F = 用户购买次数总和

由于我们使用的是历史数据,因此,这里把数据集中最新的时间定为数据统计时间2017-12-3

select UserID,datediff('2017-12-3',max(Date))+1 as R ,count(BehaviorType) as F
from userbehavior
where BehaviorType = 'buy'
group by UserID;

给R和F按价值打分

按价值打分 R F
1 8-9天 1-6次
2 5-7天 7-12次
3 3-4天 13-18次
4 2天以内 19次及以上

结果:

select *,
(case when R<=2 then 4when R between 3 and 4 then 3
when R between 5 and 7 then 2
when R between 8 and 9 then 1 end) as Rscore,
(case when F between 1 and 6 then 1
when F between 7 and 12 then 2
when F between 13 and 18 then 3
when F>=19 then 4 end)  as Fscore
from
(select UserID,datediff('2017-12-3',max(Date))+1 as R ,count(BehaviorType) as F
from userbehavior
where BehaviorType = 'buy'
group by UserID) m

计算Rscore和Fscore均值

select avg(
case when R<=2 then 4
when R between 3 and 4 then 3
when R between 5 and 7 then 2
when R between 8 and 9 then 1 end) as avg_Rscore,
avg(
case when F between 1 and 6 then 1
when F between 7 and 12 then 2
when F between 13 and 18 then 3
when F>=19 then 4 end) as avg_Fscore
FROM (select UserID,datediff('2017-12-3',max(Date))+1 as R ,
count(BehaviorType) as F
from userbehavior
where BehaviorType = 'buy'
group by UserID) m;

用户分类

用户分类 最近一次消费时间间隔(R) 消费频率(F) 消费金额(M)
1.重要价值用户
2.重要发展用户
3.重要保持用户
4.重要挽留用户
5.一般价值用户
6.一般发展用户
7.一般保持用户
8.一般挽留用户
select 用户分类,count(UserID) as '人数' from
(select userid,
(case when RScore>'3.0533' and FScore>'1.1043' then '重要价值用户'when RScore>'3.0533' and FScore<'1.1043' then '重要发展用户'when RScore<'3.0533' and FScore>'1.1043' then '重要保持用户'when RScore<'3.0533' and FScore<'1.1043' then '重要挽留用户'
else 0 end) as '用户分类'
from
(select *,
(case when R<=2 then 4
when R between 3 and 4 then 3
when R between 5 and 7 then 2
when R between 8 and 9 then 1 end) as Rscore,
(case when F between 1 and 6 then 1
when F between 7 and 12 then 2
when F between 13 and 18 then 3
when F>=19 then 4 end)  as Fscore
from
(select UserID,datediff('2017-12-3',max(Date))+1 as R ,count(BehaviorType) as F
from userbehavior
where BehaviorType = 'buy'
group by UserID) m) n)f
group by 用户分类; 

可以发现用户集中在重要发展用户和重要挽留用户上。

对于占比较大的重要发展用户,其消费频率低,但最近消费距离现在时间较短,因此要想办法提高他的消费频率。

对于重要挽留用户,最近消费时间距离现在较远、消费频率低。这种用户有即将流失的危险,需要主动联系用户,调查清楚哪里出了问题,并想办法挽回。

对于重要价值用户,消费频率高且最近消费距离现在时间短,需要给其提供VIP服务。

对于重要保持用户,最近消费距离现在时间较远,也就是R值低,但是消费频次高。这样的用户,是一段时间没来的忠实客户,可以采取邮件推送、APP推送提醒、促销活动时短信提醒等方式主动和他们保持联系,提高复购率。

最后 结论与建议

结论

1.点击量高的商品并不是购买量高的商品,高流量的商品购买量低导致了整体的流量转化率低,也就是推荐展示的逻辑并没有以销售为导向。

2.从用户行为路径中发现,用户浏览后直接购买的转化率较低,而通过加购,收藏等行为后购买的转化率会提升,故需要引导顾客积极加购或者收藏,且对比转化率后发现加购物车所带来的转化是最好的。

3.用户主要集中在重要发展用户和重要挽留用户,两者加总占用户数的91.41%。

建议

1.建议算法部门优先展示购买量TOP10的商品类给顾客,例如2735466、2885642、1464116,如果说浏览量高的商品是新品或者近期主推的商品,是否可以考虑和TOP10购买的商品按照类目合理搭配销售,提升转化率和连带率。
2.需积极引导顾客加购物车或者收藏宝贝,对于界面设计部门是考虑如何交互能够让顾客更愿意点击,对于运营部门,可以设置机制引导,例如加购联系客服送5元无门槛优惠券,加购送小样赠品等的机制来引导等。

3. 淘宝的用户搜寻商品的时间段主要在下午6点至晚上11点,也就是大多数人下班后休息的时间。建议运营部门在这个时间段多策划一些营销活动,提高转换率。

4.对于重要发展用户,其消费频率低,但最近消费距离现在时间较短,因此要想办法提高他的消费频率,通过CRM的红包发放、会员权益奖励、短信提醒优惠等方式提升消费频率。

5.对于重要挽留用户,最近消费时间距离现在较远、消费频率低。这种用户有即将流失的危险。建议通过APP推送、短信和邮件等形式发放有偿问卷主动联系用户,调查清楚哪里出了问题,制定相应的挽回策略。

基于电商用户开展的用户行为分析相关推荐

  1. mysql统计今日首充用户_电商用户行为MySQL分析

    一:分析背景 近年来电商行业发展迅猛,发展的模式也从最开始粗糙的供给结构开始向精细化电商发展.我国政策也指出: 促进电子商务发展是推进供给侧结构性改革重要的途径.因此分析用户的行为,可打造爆款商品,爆 ...

  2. 电商用户价值分析——基于RFM模型、KMeans聚类

    电商用户价值分析--基于RFM模型.KMeans聚类 一.背景 二.RFM模型.KMeans聚类 三.分析框架 四.具体分析 1. 导入所需的库 2. 导入数据 3. 数据清洗 4. 数据分析 4.1 ...

  3. 基于大数据的线上线下电商用户数据挖掘研究

    From:http://www.thebigdata.cn/JieJueFangAn/11932p2.html Online-to-Offline( 简称 O2O)电子商务模式,是一个连接线上用户和线 ...

  4. 基于 flink 的电商用户行为数据分析【9】| 电商常见指标汇总 + 项目总结

    本文已收录github:https://github.com/BigDataScholar/TheKingOfBigData,里面有大数据高频考点,Java一线大厂面试题资源,上百本免费电子书籍,作者 ...

  5. 基于 flink 的电商用户行为数据分析【8】| 订单支付实时监控

    本文已收录github:https://github.com/BigDataScholar/TheKingOfBigData,里面有大数据高频考点,Java一线大厂面试题资源,上百本免费电子书籍,作者 ...

  6. 对电商用户的数据分析!

    一.以淘宝等为主的用户分析场景 以淘宝.京东和拼多多为典型的用户+商品消费场景,是国内用户量最多的业务场景,也是产生利润最多的业务场景.在这其中,客户拥有最大的自主权,如何有效地加以利用或辨别客户在行 ...

  7. Flink_大数据技术之电商用户行为分析

    大数据技术之电商用户行为分析 第1章 项目整体介绍 1.1 电商的用户行为 电商平台中的用户行为频繁且较复杂,系统上线运行一段时间后,可以收集到大量的用户行为数据,进而利用大数据技术进行深入挖掘和分析 ...

  8. 电商用户价值分析(应用RFM模型)

     有很多种分析电商用户价值的方式,今天来谈谈传统企业和电商用得较多的RFM模型.在众多的客户细分模型中,RFM模型是被广泛提到和使用的. 一.为什么分析 内部因素:增加用户的好感度,因为不同的活动会有 ...

  9. 电商用户行为实时分析系统(Flink1.10.1)

    文章目录 [实验题目]电商用户行为实时分析系统 [实验描述] [实验目的] [实验时间] [实验环境] [实验内容] [实验步骤] 1. 创建Maven项目 1.1项目框架搭建 1.2 声明项目中工具 ...

最新文章

  1. 【Qt】Qt源码中涉及到的设计模式
  2. shell中的命令替换和变量替换
  3. EL之GB(GBC):利用GB对二分类问题进行建模并评估
  4. 【easyui】treegrid逐级加载源码
  5. java.lang.IllegalMonitorStateException
  6. c语言哈夫曼压缩文本,哈夫曼文本压缩C语言实现.doc
  7. 信息学奥数一本通(1004:字符三角形)
  8. java 数字 无法表示_Java中基本数据类型、不能用浮点数表示金额
  9. SSM_config配置springmvc.xml模板
  10. shell编程三大神器之grep
  11. 计算机快捷键英语,输入法电脑中英文切换快捷键
  12. Transforms的结构和用法
  13. 7-41 哥尼斯堡的“七桥问题” (25 分)
  14. Head First Design Mode(2)-设计模式入门(策略模式)
  15. 3000字告诉你如何渡过程序员菜鸟时期
  16. 互联网产品经理的月薪是多少?治好奇!
  17. python海龟作图好看图案_海龟作图---用Python绘图
  18. 波士顿动力狗 SPOT 权威购买指北
  19. OpenGL 环境配置教程-库文件汇总【glfw/glew/glad/glm/std_img】
  20. 轨迹预测论文解读系列——几种经典的网络

热门文章

  1. REUSEPORT-REUSEADDR-学习
  2. 偷窥了阿里的图像搜索架构,干货分享给你!
  3. 神策数据张涛:个性化推荐从入门到精通
  4. DNF辅助程序功能介绍
  5. win7 旗舰版光驱设备不见了解决方案
  6. 小米盒子4无故重启问题的解决案例
  7. 中国移动WLAN无线上网清单查询
  8. std:count 概念?
  9. 华为5g网络工程师怎么样?需要常年出差吗?有发展空间吗
  10. u盘变o字节怎么修复_U盘容量突然变成了0字节怎么办?