数据分析之实战项目

您所在的位置:网站首页 用户行为分析包括什么 数据分析之实战项目

数据分析之实战项目

2024-06-16 13:20| 来源: 网络整理| 查看: 265

阅读之前看这里👉:博主是正在学习数据分析的一员,博客记录的是在学习过程中一些总结,也希望和大家一起进步,在记录之时,未免存在很多疏漏和不全,如有问题,还请私聊博主指正。 博客地址:天阑之蓝的博客,学习过程中不免有困难和迷茫,希望大家都能在这学习的过程中肯定自己,超越自己,最终创造自己。

数据分析之实战项目——电商用户行为分析 一、分析背景和目的 二、分析框架和思路 2.1 用户维度 2.2 产品维度 2.3用户行为维度 2.4用户价值维度(RFM) 三、分析正文 3.1 提出问题 3.2 理解数据 3.3数据处理和数据清洗 3.3.1 列名重命名 3.3.2 时间格式的处理 3.3.3 选择所需数据集 3.4 构建模型 3.4.1用户购物情况整体分析 3.4.2用户活跃周期 3.4.3用户对商品有哪些购买偏好 3.4.4用户行为间的转化情况 3.4.5用户价值分群(RFM模型) 四、结论及建议

一、分析背景和目的

随着互联网和电商的发展,人们习惯于网上购物。在国内,电商平台深受欢迎,每年的双11,双12活动,大量的用户在淘宝平台浏览商品,或收藏或加入购物车或直接购买。通过对用户的行为分析,探索用户购买的规律,了解商品的受欢迎程度,结合店铺的营销策略,实现更加精细和精准的运营,让业务获得更好的增长。

本数据来源:阿里天池数据集 数据集介绍: 本数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包含点击、购买、加购、喜欢),每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。原数据集总共1亿以上数据集,数据量太大,本次分析导入约383万条数据,并在导入的过程中5个字段联合设置主键,导入过程中已经剔除了重复值。

用户ID:整数类型,序列化后的用户ID; 商品ID:整数类型,序列化后的商品ID; 商品类目ID:整数类型,序列化后的商品所属类目ID 行为类型:字符串,包括(“pv”:相当于点击,“buy”:商品购买,“cart”:将商品加入购物车,“fav”:收藏商品) 时间戳:行为发生的时间戳

工具:Mysql数据库,Navicat Premium 12,Excel

二、分析框架和思路

首先明确我们的分析的目的,是要对电商用户行为进行一个分析。那么应该主要从用户维度、产品维度、用户行为的维度,如下图所示: 在这里插入图片描述

2.1 用户维度

在用户维度我们想要知道什么问题呢?了解用户购买的行为习惯。 需要哪些指标呢: PV、UV、平均访问量、跳失率等指标,分析用户最活跃的日期及活跃时段

2.2 产品维度

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

2.3用户行为维度

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

2.4用户价值维度(RFM)

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

三、分析正文

分析步骤如下: 提出问题------理解数据------数据处理和清洗------构建模型------数据可视化

3.1 提出问题 用户最活跃的日期及时段 用户对商品有哪些购买偏好 用户行为间的转化情况 用户分类,哪些是有价值的用户 3.2 理解数据 用户ID:整数类型,序列化后的用户ID; 商品ID:整数类型,序列化后的商品ID; 商品类目ID:整数类型,序列化后的商品所属类目ID 行为类型:字符串,包括(“pv”:相当于点击,“buy”:商品购买,“cart”:将商品加入购物车,“fav”:收藏商品) 时间戳:行为发生的时间戳 在这里插入图片描述 3.3数据处理和数据清洗 3.3.1 列名重命名

导入至Navicat的过程中将字段名更改为英文,方便编写SQL语言

字段 字段(中文名) UserID 用户ID ItemID 商品ID Category 商品类目ID Behavior 行为类型(pv,buy,cart,fav) time 时间戳

导入数据类型如下: 在这里插入图片描述 我们看到time的格式并不是标准的时间格式,所以需要对其进行处理。

3.3.2 时间格式的处理 原数据时间戳time字段部分使用的是整数型,需要转换为日期时间形式。添加字段datetime(日期时间)、time_date(日期)、time_hour(时间): alter table userbehavior add datetime datetime; alter table userbehavior add time_date varchar(255); alter table userbehavior add time_hour varchar(255); 给添加的字段更新数据 update userbehavior set datetime=from_unixtime(time); update userbehavior set time_date=mid(datetime,1,10); update userbehavior set time_hour=right(datetime,8);

时间格式处理结果如下: 在这里插入图片描述

3.3.3 选择所需数据集 选取时间为2017年11月25日至2017年12月3日的数据集 delete from userbehavior where time_date '2017-12-03'; 对处理完的数据进行检验 select max(time_date),min(time_date) from userbehavior;

在这里插入图片描述 我们可以看到数据范围正确

检查是否有缺失值 select count(UserID),count(ItemID),count(Category),count(Behavior), count(datetime),count(time),count(time_date),count(time_hour) from userbehavior;

在这里插入图片描述 可以看到一共有3833385条数据,并且无缺失字段和缺失值。

3.4 构建模型 3.4.1用户购物情况整体分析 UV、PV和平均访问量 select count(distinct UserID) "访客数", (select count(*) from userbehavior where Behavior = "pv") "点击数", ROUND((select count(*) from userbehavior where Behavior = "pv")/ count(distinct UserID), 2) "人均访问数" from userbehavior;

在这里插入图片描述 我们可以看到这段时间内的访客数为37376,点击数为3431904,人均访问数为91.82次。可以看出: 在这9天中人均每天访问约9次,可见用户经常使用。

用户跳出率 用户跳出率的计算公式为: 只 访 问 一 次 页 面 数 / 总 用 户 数 只访问一次页面数/总用户数 只访问一次页面数/总用户数 所以代码为: select 总用户数,只访问一次页面数,concat((只访问一次页面数 * 100) / (总用户数), "%") "跳出率" from (select UserID,count(distinct UserID


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3