电商实战-淘宝用户行为分析(Python+Mysql+Tableau)

本项目通过Python处理阿里云天池的电商用户行为数据,利用MySQL进行分析,借助Tableau展示结果。分析涵盖了用户获取、激活、留存、推荐、收益五个环节,通过AARRR模型揭示用户行为规律。此外,应用RFM模型对用户价值进行细分,发现用户活跃高峰在18-22点,收藏和加购行为转化率有待提高,商品浏览量高的商品未转化为销量。通过Tableau仪表盘,可直观了解用户行为模式和商品销售情况。
摘要由CSDN通过智能技术生成

一、项目概况

本项目以淘宝电商用户真实行为数据为数据源,运用python 进行数据预处理,运用MySQL并利用AARRR模型和RFM模型对其展开数据分析,利用Tableau制作可视化图像,最后给出利用Tableau制作的一张仪表盘。

1.1数据来源

数据集-阿里云天池

虽然现在不能下载,但是可以申请获得下载链接,我申请了一天就通过了。

1.2数据集介绍

本数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、收藏)。数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:

 其中行为类型有四种

1.3分析思路

二、 数据清洗

2.1选择数据子集

在python中导入需要的库

import pandas as pd
from datetime import datetime,date

读取数据,并重命名列为['user_id','item_id','category_id', 'behaviortype','timestamp'] ,由于原始数据集太大,因此本次分析只选取了500万条数据。

tb = pd.read_csv('D:/文档/数据分析/淘宝电商用户推荐/UserBehavior.csv',iterator=True,header=None,names=['user_id','item_id','category_id',
                 'behaviortype','timestamp'])
try:
    tb=tb.get_chunk(5000000)
except StopIteration:
    print("Iteration is stopped.")
# 查看数据信息
tb.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5000000 entries, 0 to 4999999
Data columns (total 5 columns):
user_id         int64
item_id         int64
category_id     int64
behaviortype    object
timestamp       int64
dtypes: int64(4), object(1)
memory usage: 190.7+ MB
tb.describe()

查看数据可知没有缺失值 

2.2重复值处理

# 查看有多少个重复值
tb.duplicated().sum()
# 删除重复值
tb.drop_duplicates(inplace=True)

 2.3时间戳数据类型转换

# 数据类型转换
tb["date"] = tb["timestamp"].apply(lambda x: datetime.fromtimestamp(x).date())
tb["time"] = tb["timestamp"].apply(lambda x: datetime.fromtimestamp(x).strftime('%H'))
tb.head()

data=tb.drop('timestamp',axis=1)

2.4异常值处理

根据数据集介绍,数据采集时间应该在2017年11月25日至2017年12月3日之间,检查是否存在超出时间范围的数据,作为异常值,并删除数据中存在的空值。

# 异常值处理
data['date'].value_counts()
data['date'] = data['date'][(data['date']>=date(2017,11,25)) & (data['date']<=date(2017,12,3))]
# 删除有空行的数据
# how='any'表示一行中只要有一个空值就删除这一行
data=data.dropna(axis=0,how='any')
data.shape

2.5保存清洗后的数据

data.to_csv('D:/文档/数据分析/淘宝电商用户推荐/tb.csv')

三、数据分析

接下来利用mysql进行数据分析,利用tableau进行数据可视化

3.1各字段的统计数据 

# 字段统计分析
select count(distinct (user_id))用户数,count(distinct(item_id))商品数,count(distinct(category_id))种类数,
       count(distinct(behaviortype))行为数 from tb

可以看到该数据子集包括48984个用户,1080286个商品,7352种商品数,用户的行为有点击浏览,收藏,加购和购买这四种行为。

3.2基于AARRR模型的整体情况分析

(1)用户获取(Acquisition)

模型中的用户获取一般考察渠道曝光率渠道转换率日新增用户数DNU获客成本CAC等指标。由于文本字数限制,本篇分析主要考察日新增用户数DNU

# 日新增用户数DNU
select a.date, count(b.user_id) 日新增用户数
from (select distinct date from tb) a
left join (select user_id, min(date) first_date from tb group by user_id) b 
on 
a.date=b.first_date
group by a.date
order by a.date

由下图可见,仅在11月25日-30日这六天有较多新增用户,且新增用户数在26日开始出现急剧下跌,虽然在25日当日的新增用户中有很大一部分是此前的活跃用户,而非当日新增,但在12月1日起新增用户数下降为个位数。

 (2)用户激活(Activation)

首先考察PV(页面浏览量或者点击量),UV(独立访客数),人均浏览次数(PV/UV)

#计算PV,UV,人均浏览次数
select count(distinct user_id) UV,(select count(user_id) from tb where behaviortype='pv') PV,
       (select count(user_id) from tb where behaviortype='pv')/count(distinct user_id) 人均浏览次数
from tb

这九天中独立访客数为48984,页面浏览量为4472600,人均浏览次数为91.3074。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值