本地清洗聚合任务规范
任务定位
本任务负责在本地或个人电脑上运行数据处理脚本,生成服务器展示所需的标准汇总表。服务器上的 Streamlit 和 Metabase 主要负责展示,不负责每次打开页面时重新计算原始大数据。
输入数据
原始数据来自组委会统一提供的淘宝用户行为数据集:
UserBehavior_part_0.csv
...
UserBehavior_part_8.csv
字段无表头,顺序固定:
| 字段 | 含义 | 类型建议 |
|---|---|---|
user_id |
用户 ID | string 或 int64 |
item_id |
商品 ID | string 或 int64 |
category_id |
商品类目 ID | string 或 int64 |
behavior_type |
行为类型:pv、fav、cart、buy |
string |
timestamp |
Unix 时间戳 | int64 |
观察期:
2017-11-25 至 2017-12-03
正式处理范围固定为 UserBehavior_part_0.csv 至 UserBehavior_part_8.csv 全部 9 个分片。质量报告和 dataset_manifest.csv 统一记录 dataset_scope = all_9_parts。单分片只用于开发测试。
推荐处理方式
优先:
Python + DuckDB
可选:
Python + pandas 分块读取
不要直接用 Excel 打开原始大 CSV。
任务拆分
| 任务 | 负责人产出 | 说明 |
|---|---|---|
| 数据质量检查 | data_quality_report.csv |
记录缺失、异常行为、重复、时间范围 |
| 日指标聚合 | daily_metrics.csv |
按日期统计 PV、UV、购买、转化 |
| 小时指标聚合 | hourly_metrics.csv |
按日期和小时统计行为量 |
| 类目指标聚合 | category_metrics.csv |
类目排行、购买数、动销率 |
| 用户分层聚合 | user_segment.csv |
单次购买、复购、未购买等分层 |
| 转化漏斗聚合 | funnel_metrics.csv |
pv、fav、cart、buy 阶段人数和转化率 |
| 推荐样例聚合 | recommend_sample.csv |
商品 Top-5 关联推荐 |
输出位置
本地项目建议目录:
数据/
├── raw/ 原始数据,不提交到仓库
├── clean/ 清洗后中间结果
├── mart/ 标准汇总表
└── validation/ 校验结果和质量报告
交给组长的最终文件放入:
数据/mart/
输出格式
优先使用:
CSV UTF-8
要求:
- 第一行为英文表头。
- 日期字段使用
YYYY-MM-DD。 - 小时字段使用整数
0至23。 - Unix 时间戳统一按
Asia/Shanghai转换,不依赖运行电脑的本地时区。 - 比率字段用小数,例如
0.1234,不要写成12.34%。 - 缺失值留空或使用
0,但必须在说明中写清。
脚本要求
每个脚本顶部写明:
- 输入文件
- 输出文件
- 指标口径
- 运行方式
- 预计运行时间
- 全部 9 个输入分片、时区和指标版本
脚本应支持重复运行。重复运行时可以覆盖同名汇总表,但不得修改原始数据。
交付物
每个任务至少交付:
- 处理脚本
- 输出汇总表
- 字段说明
- 校验结果
- 简短过程记录
示例:
代码/数据处理/daily_metrics.py
数据/mart/daily_metrics.csv
文档/字段说明/daily_metrics字段说明.md
数据/validation/daily_metrics_check.csv
文档/过程记录/日指标聚合过程记录.md