用户行为分析过程

  • 说明
  • 一、数据集与分析目的
    • 1、数据集
    • 2、分析目的
  • 二、数据处理
    • 1、数据预览
    • 2、数据处理
  • 三、数据提取与分析
    • 1、网站流量分析
    • 2、用户分析
    • 3、商品销售分析
  • 四、总结
    • 1、关于平台流量与转化率:
    • 2、关于网站用户粘性以及用户消费习惯
    • 3、关于商品销售情况

说明

本次数据分析基于阿里云天池数据集(用户行为数据集),使用转化漏斗,AARRR模型,对常见电商分析指标,包括转化率,PV,UV,留存率,复购率等进行分析,分析过程中使用MySQL以及Navicat进行数据预览与清洗处理,使用Excel进行数据可视化。

一、数据集与分析目的

1、数据集
字段 说明
user_id 整数类型,序列化后的用户ID
item_id 整数类型,序列化后的商品ID
category_id 整数类型,序列化后的商品所属类目ID
behaviortype 字符串,枚举类型,包括(‘pv’, ‘buy’, ‘cart’, ‘fav’)
timestamps 行为发生的时间戳

该数据集记录用户在淘宝网站浏览商品产生的行为信息。由于数据集过大 ,选取其中10200位用户,共105万条数据。

2、分析目的

1)了解网站流量情况;
2)了解该阶段网站用户粘性以及用户行为习惯;
3)了解网站商品销售情况;
分析逻辑如下:

二、数据处理

1、数据预览

MySQL建表,使用Navicat导入数据

use userbehavior;
create table user(
user_id int not null,
item_id int not null,
category_id int not null,
behavetype varchar(10) not null,
times int not null,
constraint user_behave PRIMARY KEY (user_id,item_id,times))
2、数据处理

(1)日期处理
将行为发生时间转为datetime类型,获取其发生日期及时间

SET SQL_SAFE_UPDATES = 0;
ALTER TABLE user ADD COLUMN datentime TIMESTAMP(0) NULL;
UPDATE user
SET datentime = FROM_UNIXTIME(times);
ALTER TABLE user ADD COLUMN dates CHAR(10) NULL;
UPDATE user
SET dates = SUBSTRING(datentime FROM 1 FOR 10);
ALTER TABLE user ADD COLUMN hours CHAR(10) NULL;
UPDATE user
SET hours = SUBSTRING(datentime FROM 12 FOR 2);

(2)数据清洗

DELETE FROM user
WHERE datentime < '2017-11-25 00:00:00'
OR datentime > '2017-12-04 00:00:00';

三、数据提取与分析

1、网站流量分析
  • 创建用户行为视图
use taobaouser;
create view userbehave as
select user_id,count(behavetype) num,sum(if(behavetype='pv',1,0)) pv,sum(if(behavetype='cart',1,0)) cartbox,sum(if(behavetype='fav',1,0)) favor,sum(if(behavetype='buy',1,0)) buy,dates,hours
from user
group by user_id,dates,hours
order by user_id,dates,hours


(1)用户参与度(pv)分析

SELECT distinct user_id,dates
FROM taobaouser.user
where behavetype='pv'
order by dates


分析:11月25日至12月1日使用用户数变化幅度小,范围在7000到8000之间,从12月2日有较大幅度增加,对比11月25,26(周末)有较大的提升,可能是周末的双12预热营销活动效果。

(2)网站购买转化率(uv)(支付转化率=支付访客数/总访客数)

select activeuser.dates,activeuser.ac,alluser.au,concat(round(activeuser.ac/alluser.au*100,2),'%') conversion
from
(SELECT dates,count(distinct user_id) ac FROM taobaouser.userbehave where buy<>0 group by dates) as activeuser
join
(SELECT dates,count(distinct user_id) au FROM taobaouser.userbehave group by dates) as alluser
on activeuser.dates=alluser.dates


支付转化率在11月30日取得最高值,之后呈大幅下降趋势。

(3)转化漏斗
独立访客转化率能达到69.9%,但是从访客行为来看,浏览到购买转化率只有2.3%,若要了解具体环节的转化率,需要对整个流程接触到的版面进行细化的数据分析。

2、用户分析

(数据有限,用户新增及激活不做分析)

(1)留存
计算新增留存率与活跃留存率,视该时间段内首次登陆为新增用户,购买为活跃用户
新增活跃率:

#计算留存率
select first_login,
concat(round(day_0/day_0*100,2),'%') day0,concat(round(day_1/day_0*100,2),'%') day1,
concat(round(day_3/day_0*100,2),'%') day3,concat(round(day_6/day_0*100,2),'%') day6,concat(round(day_7/day_0*100,2),'%') day7
from
#计算不同留存用户
(select first_login,
sum(if(by_date=0,1,0)) as day_0,sum(if(by_date=1,1,0)) as day_1,
sum(if(by_date=3,1,0)) as day_3,sum(if(by_date=6,1,0)) as day_6,sum(if(by_date=7,1,0)) as day_7
from
#比较浏览时间与第一次浏览时间比较,确定时间差
(select l.user_id,l.dates login_date,f.first_login,timestampdiff(day,f.first_login,l.dates) by_date
from taobaouser.userlogin l join (SELECT user_id,dates first_login FROM taobaouser.userlogin group by user_id order by dates) as fon l.user_id=f.user_id) as b
group by first_login
order by first_login) as retent




将25日登陆用户作为新增用户来看,次日,3日留存率能达到60%以上,7日留存率达到了90%以上,用户粘性很好,高新增留存率可能与处于双十一促销时段有关,说明产品新手引导性很好。
活跃留存率:


活跃留存率在20%上下浮动,同时在12月3日有稍大幅度的上升,由于用户新增时期未知,活跃留存率维持在20%是不错的现象。

(2)变现——复购分析

SELECT user_id,count(*) FROM taobaouser.user where behavetype='buy'
group by user_id


复购次数集中在1-5次,呈长尾分布,该阶段用户消费欲望不大。
(3)用户消费习惯分析
一天中各时段用户行为分析:
使用切片器分别观察每天用户行为:
用户浏览量峰值在晚上20-23点;加购率往往在早间6-7点,晚间22-23点达到峰值;收藏率往往在早间5-7点,下午16-18点达到峰值;夜间3-4点(消费欲望),上午10-11点,下午14-15点,晚上20点22点为购买转化率峰值,其中10-11点转化率最高。
网站可以利用这些时间点进行营销活动安排。
另外总体来看购买转化率更贴近于收藏率,可以适当利用来进行销售量预测。
(4)用户价值分析
借鉴RFM 模型,暂时不考虑M维度,对R(最近一次购买时间)F(购买频率)进行打分,完成用户分层

select allrank.user_id,allrank.recent,allrank.buynum,
concat(CASE WHEN allrank.r_r<=(6718)/4 THEN '4' WHEN allrank.r_r>(6718)/4 AND allrank.r_r<=(6718)/2 THEN '3'WHEN allrank.r_r>(6718)/2 AND allrank.r_r<=6718/4*3 THEN '2'ELSE '1' END,CASE WHEN allrank.f_r<=(7001)/4  THEN '4' WHEN allrank.f_r>(7001)/4  AND allrank.f_r<=(7001)/2 THEN '3'WHEN allrank.f_r>(7001)/2 AND allrank.f_r<=7001/4*3 THEN '2'ELSE '1' END)AS user_value
from(
select recent_value.user_id,recent_value.recent,rank()over(order by recent_value.recent) r_r, frequency_value.buynum,rank()over(order by frequency_value.buynum desc) f_r
from
(select user_id,datediff('2017-12-04',max(dates))  recent
FROM taobaouser.user
where behavetype='buy'
group by user_id) as recent_value join
(select user_id,count(user_id) buynum
FROM taobaouser.user
where behavetype='buy'
group by user_id) as frequency_value
on recent_value.user_id = frequency_value.user_id
) as allrank

3、商品销售分析

(1)商品销售分布

大部分销售来源于销售次数为1的16190个商品,说明该时段销售主要源于长尾部分,而非销售数量较高的畅销品。

(2)畅销品及其品类分析

SELECT category_id,item_id,cartbox,dense_rank() over (order by buy desc) r
FROM taobaouser.onitem
where buy<>0
limit 20

查看销量top20的商品及品类分布:销量为前3的商品为3122135,2964774,3237415,分属1516409,1265358,3231625类

查看浏览top20的商品及品类分布:浏览量为前3的商品为812879,138964,3845702,分属4756105,3607361类

查看收藏top20的商品及品类分布:收藏量为前3的商品为2818406,2308741,3330337,分属982926,4827153,4756105类

查看加购商品top20及品类:加购量为前3的商品为1535294,2331370,3031354,分属3848953,3607361,2735466类

通过分析销量高的品类的商品销量都不低,建议通过调研等方式推出细分市场的商品类型,并跟进后续数据。

(3)商品购买转化率

SELECT item_id,category_id,pv,buy,concat(round(buy/pv*100,2),'%') conversion
FROM taobaouser.onitem
order by conversion  desc
limit 200


对于商品浏览量高,而转化率非常低的,建议商家对商品购买流程使用转化漏斗进行分析并进行改善。

四、总结

1、关于平台流量与转化率:
  • 整体来看从浏览到有购买意愿有6.5%的转化率,从有购买意愿到有购买行为有28%的转化率,说明大多数用户以浏览页面为主而购买转化较少,低购买意愿转化率可能与刚完成的双11大促有关。从9天的趋势来看,前7天转化率处于稳步上升阶段,说明双11之后的消费情况在回升,进入12月之后,浏览量有稍大幅度的提升,加购转化率有小幅提升,购买转化率大幅下降。是否需要提高转化率,可以对比去年同时段转化率情况,使用使用营收目标判断转化率是否达到目标。
    提高加购转化率的建议:
    ——优化搜索引擎,利用用户画像优化商品匹配;
    ——优化商品界面加购与收藏按键布局,以便用户触达。
2、关于网站用户粘性以及用户消费习惯
  • 网站留存较为稳定,把9天中第一次登录视为用户新增的话,留存率在60%左右,活跃留存率也能达到20%,并且营销活动带来的用户唤醒效果也很明显。
    提高用户留存建议:
    ——分析流失用户特征,进行用户流失预测,结合用户画像,通过各种活动进行用户唤醒。
  • 对于用户复购情况,9天内网站有复购现象的用户数接近60%,但是总体上约30%的用户产生了80%的消费次数,复购次数多的用户偏少,可能与双11刚结束,双12未开始的特殊时段有关,建议拉长分析区间分析复购情况。
    -——提高复购率的建议:开展营销活动,比如淘宝的达成金主的条件限制,鼓励用户复购。
  • 对于用户消费习惯的分析,通过了解用户消费的集中时段集中实施各种营销活动,提高投入产出比。
3、关于商品销售情况
  • 分析发现商品售卖主要依靠长尾商品的累积效应,而非爆款商品的带动,这也是双11之后用户的补充采买的特征,同时发现此时用户购买的品类以及商品的浏览量很低,用户的个人喜好特征表现明显,同时浏览量高的商品购买转化率低。
    -——针对浏览量高而购买转化率低的商品,建议商家改善商品页面,详情页以及评论区管理。

一起学习,共同进步,欢迎大家评论!

用户行为分析案例——天池数据集User Behavior Data from Taobao相关推荐

  1. 聚类分析在用户行为中的实例_网站用户行为分析案例

    一.案例综述 案例编号:101001 案例名称:互联网行业--网站用户行为分析 作者姓名(或单位.或来源):刘莎莎 案例所属行业:G6020互联网信息 案例所用软件: .Sas EG.TOAD.SAS ...

  2. kaggle实战:基于超市消费数据的用户个性化分析案例

    大家好,今天给大家分享一篇 kaggle 数据集的新文章:基于一份超市消费数据集的用户个性化分析以及用户分群的实现. 更多详细内容参考原数据集地址: https://www.kaggle.com/co ...

  3. 数据分析项目实战1——淘宝用户购买行为分析(天池)

    一.分析背景.数据来源.数据解释 https://tianchi.aliyun.com/dataset/649 由于userbehavior数据集的数据量较大,本次分析使用Navicat将前10万条数 ...

  4. 基于RFM模型对借贷App用户分层分析案例

    一.目的 1.根据还款未复贷老户的借贷数据,对老户进行群体分类: 2.对不同的客户群体进行特征分析,以便于定向营销. 二.分析过程 1.分析思路 数据包含了2018年4月13日至2020年4月9日期间 ...

  5. 用户留存分析案例 | 以京东、淘宝、饿了么为例!

    我们把完成激活并在一段时间内继续进行使用.浏览.或者购买等关键行为的用户叫做留存用户.我们在做用户增长往往重视了获客,而容易忽略留存.就算我们获取的用户很多,如果留存差,当流失的用户大于获取用户数,我 ...

  6. 某宝移动端用户行为分析---PYTHON

    1 数据来源说明 数据来源:下载于天池数据集–< User Behavior Data on Taobao App> https://tianchi.aliyun.com/dataset/ ...

  7. 基于机器学习技术的用户行为分析:当前模型和应用研究综述(A survey for user behavior analysis based on machine learning technique)

    A survey for user behavior analysis based on machine learning techniques: current models and applica ...

  8. 淘宝APP用户行为数据分析案例(附python代码及注释)

    淘宝APP用户行为数据分析案例 一.分析背景与目的 1.1背景与数据限制 电商平台的最核心的功能就是为买卖双方提供高效和体验良好的交易服务.得益于算法技术的发展,淘宝APP给买方提供了搜索.推荐及广告 ...

  9. 判断用户是否存在再进行新增_MySQL用户行为分析

    一.背景介绍 在互联网整体人口红利消失的背景下,电商平台流量成本不断提升,逐渐由流量思维开始向用户思维转变.本文希望通过对用户在平台上留下的的日常操作数据,进一步来分析用户的消费行为特点. 二.理解数 ...

最新文章

  1. 基于openCV的项目实战1:信用卡数字识别
  2. 深入浅出理解c++虚函数
  3. cath数据库fasta备注_数据库(同源)搜索软件 FASTA 和 BLAST
  4. python核心编程课后习题解答第二章
  5. 无限循环小数POJ1930
  6. python展开 c函数中的宏预处理_C 语言常用的预处理-宏函数
  7. JDK源码(12)-Enum
  8. mysql查看innodb版本_mysql中查看innodb版本的方法
  9. php读取pdf文件乱码,使用php读取pdf文件
  10. UITableViewController 滚动引起的cocos2d动画暂停问题的解决
  11. 速度是 macOS 的两倍?首个支持 M1 Mac 的 Linux 发行版终于出现
  12. Base64编码对照表
  13. 如何遍历或枚举JavaScript对象?
  14. 62. Event shiftKey 事件属性
  15. C++中#includeXXX.h和#includeXXX.h的区别
  16. 51单片机入门——红外通信
  17. 最强PostMan使用教程(1)
  18. Learning the Model Update for Siamese Trackers学习笔记
  19. kali linux 渗透技术学习笔记 2.信息收集——测试网络范围
  20. 群晖用php装aria2,群晖Synology安装Aria2实现迅雷离线下载,安装IPKG

热门文章

  1. SAP BAPI 生产订单确认相关
  2. 免堆期由谁申请_免箱期和免堆期的区别_如何避免滞箱
  3. 手机中的计算摄影:光学变焦
  4. 免费资源丨全新版三维制作cinema4D自学零基础教程
  5. 怎么高效的通过爬虫获取数据?
  6. 计算机与教育教学,计算机网络技术与教育教学
  7. Fineplus 1.0(QQ完美助手) 正式版
  8. C# 键值对 KeyValue 解析
  9. 相当Python程序员,选择培训班还是自学?我结合自己的经历谈谈看法
  10. 近期关于项目团队和小公司产品策略的一些想法