必赢亚洲智能库存:食品需求预测到底应该看最近七天,还是看过去一年?
同一款保质期两天的熟食,用最近七天的平均销量去订节前一天的货,会少订将近四成;反过来,直接拿去年同一天的销量当预测,又会把一个已经不存在的客流带进来。“看七天还是看一年”之所以争不清,是因为这两个窗口回答的根本不是同一个问题。
必赢亚洲智能库存做食品需求预测时,先不急着选窗口,而是把一款商品的日销量拆成六项相乘:基线水平、星期效应、季节与节假日、天气、促销和残差。每一项该去问哪个窗口,答案并不一样。
七天回答“现在的水平”,一年回答“周期与事件的形状”
基线水平(Short-term Trend)只能由最近的数据回答。近七天恰好覆盖一个完整的星期,每个星期几各出现一次,所以七天平均天然抵消了星期效应,直接给出当前水平。代价是样本少:假设一款熟食日销量约 80 份,单日波动按泊松近似的标准差约 √80≈9 份,七天均值的标准误约 9÷√7≈3.4 份,水平估计会有 ±4% 左右的抖动。
星期效应用近八周的同星期数据估计,每个星期几有八个样本,比只看七天稳。季节与节假日(Seasonality / Holiday)只能向往年借形状:每个节日一年只出现一次,去年那个观测值本身带着噪声,要和前年的同类日期一起平滑。对齐方式也容易出错,中秋、春节按农历,公历日期每年不同,去年同期应按“距节日第几天”对齐,而不是按同一个日历日。
天气(Weather)只在有可靠预报的提前期内起作用,提前期长的品类要把天气项缩小。有研究(2026 年发表于 ScienceDirect)把热浪、强降雨这类天气扰动放进需求预测与库存管理的同一个框架,但天气替代不了基线。促销(Promotion)用促销日历标记后剥离,做法见促销日历剥离与异常判断的做法;残差是解释不了的部分,大小决定安全库存要留多少,见短保食品安全库存的算法。
两个窗口怎样加权:由品类与提前期决定
“两者都要看”不是答案,要回答的是各占多少。保质期短、提前期短的品类,昨天的销量比去年同一天更有信息,权重偏向近期;提前期长、需求依赖节令的品类,往年形状占比更大。下表是一组示例权重。
| 品类 | 保质期 | 提前期 | 近七天 | 近八周 | 去年同期形状 |
|---|---|---|---|---|---|
| 现切水果、沙拉 | 1–2 天 | 当天 | 70% | 22% | 8% |
| 鲜奶、酸奶 | 7–15 天 | 1 天 | 62% | 28% | 10% |
| 熟食、烘焙 | 2–4 天 | 1 天 | 48% | 32% | 20% |
| 常温零食、饮料 | 6–12 个月 | 7 天 | 30% | 30% | 40% |
| 节令礼盒 | 1–2 个月 | 14 天 | 5% | 15% | 80% |
权重不该凭感觉设。可执行的办法是按品类和提前期分别回测:假设某品类在提前期 1 天时,近七天法、近八周法、去年同期法的回测误差(MAPE)分别是 10%、15%、25%,按误差平方的倒数归一化,得到 1/100 : 1/225 : 1/625,约合 62% : 28% : 10%,也就是表中鲜奶、酸奶那一行。节日进入“提前期加 2 天”的窗口后,去年同期的权重再加 20 个百分点,其余两项按原比例缩小,熟食烘焙一行会从 48 : 32 : 20 变成 36 : 24 : 40。
三个会看错的情形
一、七天外推,下周碰上节日
沿用上面的熟食:近七天日均 80 份,星期效应取周三的 0.95,去年和前年节前一天相对当周基线的倍数平均为 1.6。下面是一组示例推演。
示例推演 · 节前一天的两种预测
七天外推:80 × 0.95 = 76 份 借往年形状:80 × 0.95 × 1.6 = 121.6 ≈ 122 份 差距:订 76 份,需求 122 份,少订 46 份,约 38% 的需求没有货
保质期只有两天,缺的这 46 份没有第二天补销的余地,顾客直接买了别的。
二、借了去年的水平,而不是去年的形状
去年同期这家店日均 120 份,今年周边施工,近七天基线只有 80 份。若把去年同日的实际销量(120×0.95×1.6≈182 份)直接当预测,会多订 60 份,而两天保质期的熟食多出来的量基本就是报废。往年数据只该借“倍数”,水平永远用近期的数字。
三、七天窗口里混进了断货日
销量不等于需求。假设某天中午 12 点货卖空,全天只卖了 45 份,按历史小时曲线,12 点前的销量约占全天的一半,当天真实需求约 45÷0.5=90 份。其余六天每天 80 份:直接平均是 (45+480)÷7=75.0,还原后是 (90+480)÷7≈81.4。少估的部分会让下一轮订得更少、更容易再断货,基线一路被压低。窗口里混进促销日则相反,会把基线抬高。
落地规则
- 为每个 SKU 先记下品类、保质期和提前期,再按“品类 × 提前期”查权重,不同提前期的预测用不同权重。
- 每天清洗七天窗口:断货日用小时曲线还原,促销日按促销日历剥离,闭店和改营业时间的日子标记后剔除。
- 每周用滚动回测更新权重,误差变大的窗口自动降权;新品没有往年数据时,去年同期一项直接置零,节假日形状至少取两年。
- 节日进入“提前期加 2 天”后,去年同期权重加 20 个百分点,并让人工确认前几次节日的倍数。
近七天回答“现在的水平”,过去一年回答“周期与事件的形状”,两者相乘才是明天的预测。
在必赢亚洲 AI 的模型分工里,时序模型负责基线与星期效应,带外部变量的节假日和天气项交给梯度提升模型。在必赢亚洲 App 里,系统设计为可以把某个商品当天的预测按这几项拆开,看清多出来的量来自节日、天气还是水平抬升。