需求预测指数平滑与预测偏差追踪器|MES与生产管理工具
这个工具解决什么问题
做预测不难,难的是知道当前模型还准不准。很多工厂的预测参数几年不调,误差悄悄放大到失控才发现。本工具用 24 周历史数据在 SES(平稳)与 Holt(趋势)间按 RMSE 自动择优,输出未来 4 周预测与 90% 区间;更重要的是偏差体检:CFE 累计误差、MAD、MAPE、追踪信号 TS=CFE/MAD,按「|TS|>4 且 MAPE≥2%」双条件判失效,避免被低量级漂移假警报骚扰。附预测进排产的执行口径(主计划用中值、物料备 +0.9σ)。
输入数据格式
数据文件 demand_history.csv,列顺序为:周次、出货量(片)。
示例首行:W01,1161.0
示例输出(真实运行结果节选)
======================================================================== 需求预测与预测偏差追踪报告(24 周历史 → 未来 4 周预测) ======================================================================== 一、模型选择 SES 最优 RMSE=35(α=0.95)| Holt 最优 RMSE=14(α=0.95, β=0.70) 采用模型:Holt 双参数指数平滑(α=0.95, β=0.70)。趋势被稳定跟踪并外推进预测。 拟合 RMSE=14 片 | 残差 σ=14 片 二、未来 4 周预测(±90% 区间) 第 +1 周:1734 片 区间 [1715, 1752] 第 +2 周:1752 片 区间 [1733, 1770] 第 +3 周:1770 片 区间 [1752, 1789] 第 +4 周:1788 片 区间 [1770, 1807] 三、预测偏差体检(用历史一步预测残差) CFE 累计预测误差 = -54 片 | MAD = 12 | MAPE = 0.9% 追踪信号 TS = CFE/MAD = -4.33 | 告警线 |TS|>4 且 MAPE≥2% → 观察 ⚠(量级低) 诊断:TS 超线但 MAPE=0.9%(<2%),属低量级漂移——偏差绝对值对排产无实质影响, 列入周度观察即可;一旦 MAPE 抬升到 2% 以上再启动重训。 四、预测如何进排产 1. 主计划按「预测中值」排,物料按「预测 +0.9σ」备(约 82% 满足率); 2. 每周滚动重跑:新数据进来后 α/β 重寻优一次,防止参数老化; 3. 预测区间给销售做订单评审:落在区间外的急单才需要插单讨论; 4. TS 每周必看——它比 MAPE 早 2~3 周发现模型失效。 五、结论 未来 4 周预测均值 1734、1752、1770、1788,MAPE=0.9%、TS=-4.33,模型判定「观察」。
一句话
用 SES/Holt 双模型自动择优做滚动预测,并用追踪信号 TS 盯住「模型什么时候开始失效」。
运行环境与快速开始
python demand_forecast_es.py
输入数据格式(换成你的数据即可)
· CSV:周次, 出货量(≥8 周数据,越多越稳) · 前 22 周拟合、末 2 周快速校验的划分逻辑可按数据量调整
输出说明
模型择优结果、未来 4 周预测与区间、偏差体检(CFE/MAD/MAPE/TS)、失效判定与重训建议、排产使用口径。
算法口径(关键公式)
· SES: s_t = αy_t + (1−α)s_{t−1} · Holt: 水平 + 趋势双更新 · TS = CFE/MAD,|TS|>4 告警
判定标准说明
脚本顶部集中了主要阈值与常量:CSV_PATH=os.path.join(HERE, "demand_history.csv")、RPT_PATH=os.path.join(HERE, "示例输出报告.txt")。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:demand_history.csv、示例输出报告.txt。
脚本里的主要处理步骤
gen_history():24 周出货:基线 1100 + 稳定趋势 +28/周 + 温和季节摆动 + 零均值噪声。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 出货量(片)
- Holt 双参数指数平滑
- SES 一次指数平滑
- MAPE=%.1f%% 数量级异常
- 需求预测与预测偏差追踪报告(%d 周历史 → 未来 4 周预测)
- 一、模型选择
- 采用模型:%s(%s)。%s
- 趋势被稳定跟踪并外推进预测。
- 噪声占比高于趋势信号,SES 更稳健;若后续趋势走强,Holt 将自动胜出。
- 拟合 RMSE=%.0f 片 | 残差 σ=%.0f 片
- 二、未来 4 周预测(±90% 区间)
- 第 %+d 周:%.0f 片 区间 [%.0f, %.0f]
- 三、预测偏差体检(用历史一步预测残差)
- 已触发 ⚠
- 观察 ⚠(量级低)
- 正常 ✅
- 诊断:TS 连续同向漂移说明需求形态变了(爬坡/促销/季节),模型在系统性偏航,
- 应重设 α/β 或改用带季节项的 Holt-Winters,而不是继续沿旧参数硬跑。
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:demand_forecast_es.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 2 列:周次、出货量(片)。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
示例数据能直接跑吗?
可以。示例数据与主程序在同一压缩包内,解压后直接运行即可看到完整输出,确认无误再替换成自己的台账。
同分类的其它工具
分类归属:MES与生产管理工具包;完整清单在 工具资源包下载页。





