Demand Forecasting & Replenishment

Rolling-origin backtest of weekly SKU demand on public UCI Online Retail II data — four methods compared at SKU and portfolio level, then turned into order quantities to compare stockouts and excess stock — real output from the source Python pipeline.

需求预测与补货决策 · 滚动回测

从周度需求预测到补货决策

UCI Online Retail II 公开数据(英国线上批发商)上,100 个常销 SKU、25 个滚动预测起点、1–4 周预测期的回测:4 种方法的 WMAPE 与偏差,再把预测换成 4 周补货量,比较缺货与积压。

数据说明

真实公开交易数据,不是合成数据。去重、剔除已取消订单和非商品行后按周汇总;模型只用一套固定参数,没有为了某个数字调参。

SKU × 周 WMAPE · LightGBM

53.6%

移动平均 59.1%,相对降低 9%

组合 × 周 WMAPE · 移动平均

17.0%

LightGBM 18.6%——合计层面反而更差

LightGBM 偏差

-11.7%

系统性低估:合计误差大的原因

LightGBM 更准的 SKU

77 / 100

中位 WMAPE 54.5% vs 58.2%

四种方法 · 两个汇总层级

评估窗口:预测起点 2011-05-16 至 2011-10-31,目标周 2011-05-23 至 2011-11-28,共 10,000 个 SKU-周预测。每个起点只用当时已有的数据重新训练。

方法SKU×周 WMAPEh=1h=4组合×周 WMAPE偏差
上周值(Naive)70.5%71.4%70.2%19.4%-2.7%
4 周移动平均59.1%59.4%59.6%17.0%-2.9%
去年同期(季节朴素)90.6%92.2%89.8%34.0%+28.9%
LightGBM 全局模型53.6%54.0%54.0%18.6%-11.7%
LightGBM + 滚动偏差校正56.8%——16.8%+3.1%

怎么读这张表

  • 单 SKU 层面,LightGBM 比移动平均准(53.6% vs 59.1%),100 个 SKU 里有 77 个更准。
  • 但加总到组合层面,它反而输给移动平均(18.6% vs 17.0%)。原因是 -11.7% 的系统性低估:Tweedie 损失下模型偏向保守,单 SKU 的低估在合计时不会互相抵消。
  • 用过去已观测的误差做滚动偏差校正(系数 1.121–1.26)后,组合层面降到 16.8%,和移动平均持平;但单 SKU 层面变差到 56.8%。
  • 结论:预算与采购总量看「无偏」,单 SKU 下单看「绝对误差」。先定这个预测给哪个决策用,再选模型和损失函数——没有一个模型在两个层级同时最好。
  • 去年同期(季节朴素)最差(90.6%,偏差 +28.9%):这批 SKU 2011 年的量明显低于 2010 年同期,直接照搬去年会系统性高估。