淘宝电商用户行为分析——SQL实战

一、 项目介绍

1.1 项目背景

随着电商行业近几年的迅猛发展,电⼦商务从早些年的粗放式经营,逐步转化为精细化运营。随着
平台数据量的不断积累,通过数据分析挖掘消费者的潜在需求,消费偏好成为平台运营过程中的重要环节。本项目基于淘宝电商平台用户行为数据,在MySQL关系型数据库,探索用户行为规律,寻找高价值用户;分析商品特征,寻找高贡献商品;分析产品功能,优化产品路径。

1.2 项目目的

想通过对用户行为数据进行分析,为以下问题提供解释和改进建议:
(1)基于漏斗模型的用户购买流程各环节分析指标,确定各个环节的转换率,便于找到需要改进的环节;
(2)基于RFM模型找出核心付费用户群,对这部分用户进行精准营销;
(3)商品分析: 找出热销商品,研究热销商品特点。

1.3 数据集介绍

数据来源:数据集—阿里云天池

数据说明:该数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。

数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:

列名称 说明
用户ID 整数类型,序列化后的用户ID
商品ID 整数类型,序列化后的商品ID
商品品类ID 整数类型,序列化后的商品所属类目ID
用户行为类型 字符串,枚举类型,包括(‘pv’, ‘buy’, ‘cart’, ‘fav’)
时间 时间戳,用户行为发生的时间

四种用户类型包括:

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

二、 分析思路 

2.1 分析框架

2.2 分析维度

平台维度

通过对电商流量维度的分析,可以了解到用户流量的相关信息,比如用户活跃时间、用户流量漏斗转化率。

需要指标:uv、pv、人均访问量、跳出率、复购率、用户流量漏斗转化率…

用户维度

通过对用户行为的分析,可以了解用户四种行为数据,用户购买路径偏好,用户留存率等。

通过对用户价值进行分析,使用RFM模型,对用户进行分类,找出有价值的用户,对用户进行精细化运营。

需要指标:行为数据、购买路径、用户留存率、RFM

商品维度

通过对商品品类、商品成交量、商品点击次数、购买转化率等指标的分析,探索用户对商品及商品品类的偏好,了解商品销售的规律。

三、数据导入

导入方式:Navicat

在MySQL中新建一个taobao数据库,导入向导,保留前100w条数据

四、数据清洗

 4.1 检查是否存在重复值

select * from userbehavior 
group by user_id,item_id,category_id,behavior_type,time
having count(*)>1;

结果都是空,不存在重复值

 4.2 查看缺失值

select
	count(user_id),
	count(item_id),
	count(category_id),
	count(behavior_type),
	count(time) 
from
	userbehavior;

统计每一个字段下有多少行,查询结果行数是相等的,说明没有缺失值。

4.3 时间格式转换

-- 新增date,hour时间列
alter table userbehavior add date VARCHAR(20),add hour VARCHAR(20);
-- 将hour列的时间转换为-年-月-日
update userbehavior set date = FROM_UNIXTIME(time,'%Y-%m-%d');
-- 将hour列的时间转换为-时
update userbehavior set hour = FROM_UNIXTIME(time,'%H');
-- 将time列的时间转换为-年-月-日 -时-分-秒
UPDATE userbehavior SET time = FROM_UNIXTIME(time);
#调整time字段数据的样式
UPDATE userbehavior SET time = SUBSTRING_INDEX(time,'.',1);

最终处理结果如下:

4.4 过滤异常值

过滤时间范围不在2017-11-25至2017-12-3之间的数据

delete from userbehavior
where date < '2017-11-25' or date > '2017-12-3';

检查下是否将异常值剔除干净

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

五、数据分析

5.1 平台维度

5.1.1 流量分析

总体流量分析
select count(DISTINCT user_id) as uv,count(user_id) as '网站总访问量',
       sum(case when behavior_type = 'pv' then 1 else 0 end) as pv,
       sum(case when beha
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值