Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

淘宝用户行为数据分析

基于天池公开数据集的用户行为全流程分析项目,独立完成从数据清洗、数据库建模、SQL 多维分析到 Python 可视化的完整闭环。

项目简介

本项目使用天池公开的淘宝用户行为数据集(UserBehavior),对约 100 万条用户行为日志进行清洗、存储和分析,构建 PV/UV、转化漏斗、次日留存、复购率、RFM 用户分层等核心指标,并输出 6 张可视化图表,最终形成完整的数据分析报告。

技术栈

环节 技术
数据清洗 Python(Pandas)
数据存储 SQLite
数据分析 SQL(CTE、窗口函数、条件聚合、多表连接)
数据可视化 Python(Matplotlib)
数据库管理 DBeaver

数据来源

数据集来自阿里云天池:UserBehavior 用户行为数据集

  • 字段:user_id(用户ID)、item_id(商品ID)、category_id(类目ID)、behavior_type(行为类型:pv浏览/fav收藏/cart加购/buy购买)、timestamp(时间戳)
  • 时间范围:2017-11-25 至 2017-12-03(共9天)
  • 原始数据量:约 100 万条

由于数据文件较大,本仓库不包含原始数据和数据库文件。请参考 docs/数据获取说明.md 下载数据并生成数据库。

项目结构

taobao-user-behavior-analysis/
├── README.md                    # 项目说明(本文件)
├── requirements.txt             # Python 依赖
├── .gitignore                   # Git 忽略规则
├── src/
│   ├── 01_clean_data.py         # 数据清洗脚本
│   ├── 02_load_to_db.py         # 建表入库脚本
│   └── 03_analysis_and_charts.py # 分析与可视化脚本
├── sql/
│   ├── 01_ddl.sql               # 建表语句
│   ├── L1_基础查询.sql           # 基础练习题(9题)
│   ├── L2_进阶查询.sql           # 进阶练习题(7题)
│   └── L3_窗口函数与业务模型.sql  # 窗口函数与RFM模型(7题)
├── output/                      # 可视化图表(6张)
│   ├── 01_每日PV_UV趋势.png
│   ├── 02_时段活跃分布.png
│   ├── 03_转化漏斗.png
│   ├── 04_RFM用户分层.png
│   ├── 05_Top10类目.png
│   └── 06_行为分布.png
├── docs/
│   ├── 数据获取说明.md
│   └── 分析报告.md
└── data/                        # 数据目录(需自行生成,不上传)
    ├── user_behavior_raw.csv    # 原始数据
    └── taobao.db                # SQLite 数据库

核心指标与分析结论

数据清洗

  • 处理缺失值、重复记录、异常时间戳
  • 时间戳转换为日期和小时字段
  • 清洗后有效数据:约 28 万条,覆盖 1 万用户

转化漏斗

环节 用户数 转化率
浏览 10,000 -
收藏/加购 5,526 55.3%
购买 2,332 42.2%(相对收藏加购)
  • 浏览→购买整体转化率:23.3%
  • 主要流失环节:浏览→收藏加购

用户活跃

  • 活跃高峰:晚间 20:00-23:00
  • 人均浏览量:约 26 次/人

用户分层(RFM)

  • 重要价值用户:占比约 34.3%
  • 重要保持用户:占比约 15.7%
  • 重要发展用户:占比约 15.7%
  • 一般挽留用户:占比约 34.3%

注:基于演示数据集(1万用户、28万条行为记录)计算。

复购率

  • 购买用户中,购买 2 次及以上的用户占比:100%
  • 注:演示数据中每个购买用户均有多次购买行为(最少3次),真实数据中复购率通常在20%~40%

运行方式

1. 安装依赖

pip install -r requirements.txt

2. 下载数据

参考 docs/数据获取说明.md,下载天池数据集并放到 data/ 目录。

3. 数据清洗

python src/01_clean_data.py

输出:data/my_clean.csv

4. 建表入库

python src/02_load_to_db.py

输出:data/taobao.db(SQLite 数据库)

5. 分析与可视化

python src/03_analysis_and_charts.py

输出:output/ 目录下 6 张图表 + 终端打印关键指标

可视化图表

图表 说明
每日 PV/UV 趋势 双轴折线图,展示9天内浏览量和独立用户变化
时段活跃分布 柱状图+折线图,展示24小时用户活跃规律
转化漏斗 横向柱状图,展示浏览→收藏加购→购买的用户转化
RFM 用户分层 饼图,展示四类用户占比
Top10 类目 柱状图,展示购买次数最多的10个商品类目
行为类型分布 饼图,展示浏览/收藏/加购/购买四种行为占比

项目亮点

  1. 全流程独立完成:从原始数据清洗到可视化报告,不依赖现成分析框架
  2. SQL 能力覆盖全面:包含 CTE、子查询、多表连接、窗口函数(ROW_NUMBER、NTILE)、条件聚合(CASE WHEN)
  3. 业务导向分析:不仅计算指标,还定位转化瓶颈、给出运营建议
  4. 可复现:所有脚本可直接运行,数据来源公开可获取

后续优化方向

  • 引入真实天池全量数据(1亿条),体验大数据量下的性能优化
  • 增加用户画像维度(地域、设备),做更细粒度的分群分析
  • 对运营建议做 A/B 测试验证效果
  • 使用更专业的可视化工具(如 ECharts、Tableau)做交互式看板

许可证

本项目仅用于学习和求职展示,数据来源于天池公开数据集。

About

基于天池数据集的淘宝用户行为全流程分析(Python+SQL + matplotlib可视化)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages