淘宝用户行为分析报告_店铺数据分析应该从什么方面入手

淘宝用户行为分析报告_店铺数据分析应该从什么方面入手前言分析目的:本文基于淘宝1年的交易数据对其用户行为进行多角度分析,对相关问题进行解释并提供建议

前言

分析目的:本文基于淘宝1年的交易数据对其用户行为进行多角度分析,对相关问题进行解释并提供建议。
分析工具:MySQL、excel
主要模型:AARRR模型

一、分析问题和思路

本文采用淘宝电商的用户行为数据,基于AAARR、漏斗转化模型,采用多维度拆解、假设检验、对比分析的方法分析以下问题:

1)用户生命周期分析,通过AARRR模型,对用户进入淘宝后的每一步行为进行流程效率拆解,对用户增长、活跃、留存和购买情况进行分析,找出影响新增用户数的原因、不同时期用户活跃规律和需要改进的转化环节,探究用户使用习惯,为整体运营提供数据支撑;
2)用户行为路径分析,从整体到局部,根据转化率漏斗图,查看用户在整个购物过程中的转化情况,若转化率低,通过假设检验、对比分析,找到转化率低的原因并提出改善转化的建议;
3)用户消费偏好分析,找出用户最喜欢的商品,并通过假设检验分析出畅销商品好卖的原因,为商品的运营及营销提供策略支持;
在这里插入图片描述

二、查看并理解数据

1、数据来源

数据获取:阿里云天池
数据源于阿里巴巴提供的一个淘宝用户行为数据集,该数据集包含了 2017/11/25 至 2017/12/3/ 之间约1亿条随机用户的所有行为(包括点击、购买、加购、收藏)。数据集的每一行表示一条用户行为,由用户id、商品id、商品类目id、行为类型和时间戳组成,各个字段间以逗号分隔。

2、数据取样

原数据集一共有1亿条数据记录,数据量过于庞大,考虑到数据处理性能和耗时,本次分析抽取了其中约100万条记录,由于数据量庞大,这里以MySQL为主进行数据的处理和分析。

3、数据描述

关于数据集中每一列的详细描述如下:
在这里插入图片描述
在这里插入图片描述

三、数据预处理

1、数据导入

首先建库,并建立原始数据表。

create database vob;
use vob;
set names utf8;

create table tb_ori (
id int,
userid int,
itemid int,
categoryid int,
typ varchar(255),
timestamps int);

将原始数据导入到数据库:

# 导入数据库
load data infile '/var/lib/mysql-files/UserBehavior.csv'
into table tb_ori
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';		
# 查看数据前5行
select * from tb_ori limit 5;	

在这里插入图片描述
原始数据导入成功,这个原始数据表留着下面做抽样用。(小感:光是这一步就花了我近一两个小时的时间,终于深刻体会为什么DBA要做查询和索引优化了,一想到内嵌复杂子查询和函数的查询速度…忍不住颤抖)

2、数据抽样

由于原始数据量近1亿,过于庞大,直接进行分析,我的小机器身板怕是不够硬,而且数据IO的时间会是数据分析时间的几倍。所以这里用MySQL进行抽样,总共抽取300多万条数据,以此来进行分析。

create table sample select * from tb_ori limit 3000000;

3、空值、重复值处理

查看缺失值

select * from sample
where userid is null
or itemid is null
or categoryid is null
or typ is null
or timestamps is null;

在这里插入图片描述
可以看出没有缺失值。

再查看重复值:

select * from sample 
group by userid,itemid,categoryid,typ,timestamps 
having count(*) > 1;

在这里插入图片描述
发现有一行重复,后面通过设置主键将其去除。

建立分析表 tb,这里通过设置非空避免缺失值,设置 (userid,itemid,timestamp)为主键,避免重复值。

create table tb (
id int,
userid int not null,
itemid int not null,
categoryid int default null,
typ varchar(255) default null,
timestamps int not null,
primary key (userid,itemid,timestamps));

将样本数据表 sample 里的数据插入分析表 tb 中:

# 使用 ignore 去重插入数据
insert ignore into tb
(userid,itemid,categoryid,typ,timestamps)
select userid,itemid,categoryid,typ,timestamps
from sample;

验证设置的主键是否有重复值:

select userid,itemid,timestamps,count(*)
from tb
group by userid,itemid,timestamps
having count(*) > 1;

在这里插入图片描述
查询结果为空,说明去重成功。

3、变量处理

将时间戳转化为标准日期时间格式,并取出其中的日期和时间作为新字段。

在这里,使用 Linux 系统的用户需要注意 MySQL 时区问题,使用 Windows 系统的用户可能会忽略此类问题,因为 Windows 系统中下载安装的 MySQL 时区默认是北京时间,在后面进行时间戳转换时也会转换为北京时间的标准日期格式,而笔者用的是 Ubuntu 系统默认不是北京时间,如果不做更改会导致后面时间维度分析结果令人匪夷所思(~~当时的我一脸懵逼)。

alter table tb add column d char(10);	# 添加日期字段
alter table tb add column h char(10);	# 添加时间字段

update tb set d=from_unixtime(timestamps,'%Y-%m-%d');	# 截取年月日
update tb set h=from_unixtime(timestamps,'%H');	# 截取小时

select * from tb limit 5;	# 查看数据前五行

在这里插入图片描述
转换成功。

4、异常值处理

省去查看日期的异常值,直接删除可能超出研究时段的数据记录:

delete from tb
where d < '2017-11-25' or d > '2017-12-03';

在这里插入图片描述
总共删除了1467条异常日期数据。

四、用户行为分析

这里采用AARRR模型分析用户使用产品的整个流程,包括从浏览到最终购买的用户转化、用户留存情况以及用户的复购率等,以此分析用户行为。

1、基于AARRR模型的用户生命周期分析

1)获客

获客阶段,由于没有其他渠道类的数据,所以这里统计日新增用户数,定义日新增用户为出现第一次购买行为的用户:

select t.min_d,count(distinct t.userid) 'daily_incre_usr'
from 
(select userid,min(d) 'min_d'
from tb 
where typ='buy'
group by userid) t
group by t.min_d
order by t.min_d;

在这里插入图片描述
用excel折线图绘制出表格:
在这里插入图片描述
可以看到11/25-12/3期间,日新增用户数整体呈现下降状态,12/1-12/2期间有小幅度回升,应该是由于举行了相关的营销活动或是双十二的临近,从而吸引了新用户增加。

2)转化激活
  • 用户跳失率

求出用户跳失率,这里定义跳失率 = 只浏览了 1 次页面便离开的访问次数 / 总访问次数。
说明:
由于前面已经设置了 userid、itemid 和 timestamps 为主键,所以这里不存在相同用户、相同商品、相同时间点下的重复用户行为。但考虑到同一用户对同种商品可能会点击进入浏览不止 1 次,所以这里只以 userid、itemid 分组,去除时间点限制,找到同一用户和商品下,只浏览页面 1 次便离开的访问次数作为跳失数。

select userid,itemid,count(*)
from tb
where userid not in(select distinct userid from tb where typ='fav')
and userid not in(select distinct userid from tb where typ='cart')
and userid not in(select distinct userid from tb where typ='buy')
group by userid,itemid
having count(*)=1;

在这里插入图片描述
这些跳失用户的总访问数为 50157,占总访问量约1.9%,低的可以忽略不记,说明淘宝在用户停留方面有非常强大的吸引力。

  • 用户活跃分析

UV、PV 和 PV/UV计算:

分别计算出淘宝整体的 PV(访问次数)、UV(独立访问人数)、PV/UV(人均访问次数):

select count(*) '访问数',
count(distinct userid) '访客数',
round(count(*)/count(distinct userid)) '人均访问数'
from tb
where typ ='pv';

在这里插入图片描述
按日:

以天数为单位,统计从 2017/11/25 – 2017/12/3 用户的UV、PV、PV/UV 和用户点击、加购、收藏、购买的活跃状态:

select d '日期',
count(*) '访问数',
count(distinct userid) '访客数',
round(count(*)/count(distinct userid)) '人均访问数'
from tb
where typ ='pv'
group by d

select d '日期',
sum(if(typ='pv',1,0)) '点击数',
sum(if(typ='cart',1,0)) '加购数',
sum

今天的文章淘宝用户行为分析报告_店铺数据分析应该从什么方面入手分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/88200.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注