基于天池公开数据集的用户行为全流程分析项目,独立完成从数据清洗、数据库建模、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 次/人
- 重要价值用户:占比约 34.3%
- 重要保持用户:占比约 15.7%
- 重要发展用户:占比约 15.7%
- 一般挽留用户:占比约 34.3%
注:基于演示数据集(1万用户、28万条行为记录)计算。
- 购买用户中,购买 2 次及以上的用户占比:100%
- 注:演示数据中每个购买用户均有多次购买行为(最少3次),真实数据中复购率通常在20%~40%
pip install -r requirements.txt参考 docs/数据获取说明.md,下载天池数据集并放到 data/ 目录。
python src/01_clean_data.py输出:data/my_clean.csv
python src/02_load_to_db.py输出:data/taobao.db(SQLite 数据库)
python src/03_analysis_and_charts.py输出:output/ 目录下 6 张图表 + 终端打印关键指标
| 图表 | 说明 |
|---|---|
| 每日 PV/UV 趋势 | 双轴折线图,展示9天内浏览量和独立用户变化 |
| 时段活跃分布 | 柱状图+折线图,展示24小时用户活跃规律 |
| 转化漏斗 | 横向柱状图,展示浏览→收藏加购→购买的用户转化 |
| RFM 用户分层 | 饼图,展示四类用户占比 |
| Top10 类目 | 柱状图,展示购买次数最多的10个商品类目 |
| 行为类型分布 | 饼图,展示浏览/收藏/加购/购买四种行为占比 |
- 全流程独立完成:从原始数据清洗到可视化报告,不依赖现成分析框架
- SQL 能力覆盖全面:包含 CTE、子查询、多表连接、窗口函数(ROW_NUMBER、NTILE)、条件聚合(CASE WHEN)
- 业务导向分析:不仅计算指标,还定位转化瓶颈、给出运营建议
- 可复现:所有脚本可直接运行,数据来源公开可获取
- 引入真实天池全量数据(1亿条),体验大数据量下的性能优化
- 增加用户画像维度(地域、设备),做更细粒度的分群分析
- 对运营建议做 A/B 测试验证效果
- 使用更专业的可视化工具(如 ECharts、Tableau)做交互式看板
本项目仅用于学习和求职展示,数据来源于天池公开数据集。