投流回归分析技能
功能说明
对投流数据执行OLS多元线性回归分析,生成严格按模板格式的Excel结果。
模板格式(24个Sheet)
| 类型 | Sheet名称 | 说明 | |------|-----------|------| | 全量回归 | 一元-累积金额→支付 | 150天日度数据,Y=累计总支付金额, X=累积金额 | | 全量回归 | 二元-金额+数量→支付 | X1=累积金额, X2=累计短视频数量 | | 全量回归 | 二元-金额+播放量→支付 | X1=累积金额, X2=累计短视频播放量 | | 全量回归 | 三元-金额+播放量+数量→支付 | X1=累积金额, X2=累计短视频播放量, X3=累计短视频数量 | | 周期回归 | P1~P5-{模型名} | 每30天为一周期,各周期做上述4种回归 |
每个Sheet包含:回归统计(R²、调整R²、标准误差)、ANOVA表、回归系数表(含t值、P值、95%CI)、回归方程、期间说明。格式字体颜色保留原模板。
前置条件
- Python环境:
numpy,pandas,openpyxl,statsmodels,scipy - 原始数据Excel:需包含 AQ列(累积金额/累计金额)、AR列(累计短视频数量)、AS列(累计短视频播放量)、AT列(累计总支付金额)、AN列(分区日期)
- 模板文件:技能内置
assets/template.xlsx
使用方法
python scripts/regression_analyzer.py <原始数据文件路径> [-o 输出路径] [-t 模板路径]
参数说明
| 参数 | 说明 |
|------|------|
| source | (必填)原始数据Excel路径,如 投流1-5月.xlsx |
| -o, --output | (可选)输出文件路径,默认 投流回归结果.xlsx |
| -t, --template | (可选)模板文件路径,默认使用技能内置模板 |
示例
# 基本用法
python scripts/regression_analyzer.py 投流1-5月.xlsx
# 指定输出路径
python scripts/regression_analyzer.py 数据/投流1-5月.xlsx -o 结果/投流回归结果.xlsx
数据处理流程
- 读取原始数据:从源Excel读取AQ、AR、AS、AT、AN列
- 日度聚合:按分区日期(AN列)聚合,每日求和(数据为累计型指标,同一日期内多条记录需汇总)
- 周期划分:每30天为一期(P1~P5),对每期数据和全量数据分别做回归
- OLS回归:对每种自变量组合执行最小二乘线性回归
- 填充模板:打开模板文件,替换数值内容,保留原有字体/颜色/边框格式
- 输出结果:保存为Excel文件(36个Sheet:6种模型 × 6个时段)
输入数据要求
原始Excel需包含以下列(列名不限,按列位置识别):
| 列 | 位置 | 描述 | |----|------|------| | AQ | 43 | 累积金额(自变量) | | AR | 44 | 累计短视频数量(自变量) | | AS | 45 | 累计短视频播放量(自变量) | | AT | 46 | 累计总支付金额(因变量) | | AN | 40 | 分区日期(用于日度聚合) |
输出文件结构
输出文件有24个Sheet,直接基于模板文件修改数值,保留模板所有格式设置。
资源文件
scripts/regression_analyzer.py
核心分析脚本,执行全部回归计算并生成Excel。
assets/template.xlsx
模板文件,含完整24个Sheet的格式。仅替换数值内容,保留原样式。
微信扫一扫