# ChatGPT 销量预测：保留最后六个月做回测，先和季节基线比再预测

预先限定季节朴素与线性趋势，前30月拟合。后6月验证MAE约41.1667与40.6837，选择趋势；该窗用于选型，不能称独立最终测试的无偏泛化精度。

## 文件身份

所有人物、组织、数值为原创虚构教学资料。作者本地原生参考不代表目标SaaS实测；本题未登录目标账号、购买权益、调用付费API、发送评论/邀请或写主日历。

## 七步操作

1. 核对36个连续月份与零值

上传36个连续月份与口径，先验收月份唯一、无未说明缺值，零不是缺失。

2. 预先固定30月训练和6月验证

固定前30个月训练、后6个月为留出验证窗，预先限定季节朴素与线性趋势两种方法；不随机打乱，拟合及预处理不得读取后6个月。

3. 只用训练窗拟合两种方法

仅用训练数据建立去年同月季节朴素基线和线性趋势，两套参数与预测全保存。

4. 在留出验证窗计算MAE

在后6个月留出验证窗计算两种预定方法的MAE，遇到零销量不使用未定义的百分比误差。

5. 比较两种预定方法并选型

用验证窗MAE比较并选择两种预定方法之一；如趋势更差就保留季节基线，不把该选型误差称独立最终测试的无偏泛化精度。

6. 保留训练参数预测未观测月份

确定方法后保留前30个月的拟合结果，输出2026-10至2027-03六个未观测月，区分真实/回测预测/未观测期预测三段。

7. 从头复跑并检查拟合边界

导出XLSX、CSV、代码和图；独立从头复跑检查后6个月未进入拟合或预处理，并保留两种方法的验证比较与选型记录。

## 独立验证

在复制的目录运行 `python3 -B verify.py`。需要Python3，PDF验证依赖pypdf、原生表格只读检查依赖openpyxl，文档用标准库读取OOXML。教材的本地HTML查看器直接在浏览器打开，不需要连接第三方服务。

## 原生文件

- forecast-reference.xlsx

## 验收

- 训练/回测验证按时间固定30/6，不打乱；拟合及预处理均不得读取后6个月真实值。
- 两方法MAE由留出验证窗6个误差重算，零销量月不产生伪0%误差或被删除；该窗用于选型，不宣称独立最终测试的无偏泛化精度。
- 未观测6个月不填造actual，图例区分训练历史/留出回测/预测；两种方法输赢和选择如实报告。

## 账户与功能依据

- OpenAI：Data analysis with ChatGPT https://help.openai.com/en/articles/8437071-data-analysis-with-chatgpt
