这是“天枢系统”系列博客的第三篇。前两篇分别从系统设计原则和数据清洗的角度,回答了“数据从哪来、如何变干净”;这一篇进入预测的核心,聊聊为什么需要 9 种模型、它们如何“模拟考试”,以及那个最重要的铁律:一个好预测必须同时满足准确度高和没有系统性偏差

0. 为什么预测是有用的?

在进入模型之前,先回答一个更根本的问题:预测到底有什么用?

答案可以从以下几个层面来理解。

0.1 决策的前提:没有预测,就没有理性选择

任何面向未来的行动,都隐含着一个对未来的判断。

你决定今天出门带不带伞,是基于对下雨可能性的预测;企业决定扩大生产,是基于对市场需求的预测;政府决定加息,是基于对通胀走势的预测。

即使你说“我不做预测”,你实际上也在默认“未来会跟现在差不多”——这本身就是一种预测,只是比较粗糙。

所以,预测的有用性首先在于:它是所有理性决策的起点。没有预测,决策就只能是碰运气。

0.2 将不确定性转化为可管理的风险

未来是不确定的,但不确定不等于完全不可知。预测的作用,就是把“不知道会发生什么”变成“知道各种结果的可能性有多大”。

一旦不确定性被量化,我们就可以评估风险、制定应对方案、选择期望收益最大的行动。预测的价值不在于消除风险,而在于让我们有能力管理风险。

0.3 创造时间差:提前行动,占据主动

预测让我们能够提前采取行动,而不是等到事情发生后才被动反应。

台风预测让居民提前转移;销量预测让工厂提前备料;流行病预测让政府提前储备医疗资源。时间差本身就是巨大的优势。在商业、军事、公共安全等领域,谁预测得更早、更准,谁就拥有主动权。

这一点在供应链上体现得尤其具体:采购需要提前下订单,生产需要提前排产,仓库需要提前备料。如果不知道未来卖多少,就只能等订单来了再行动——这在竞争激烈的市场里,往往意味着错失机会。

0.4 反馈循环:预测是学习与适应的核心机制

预测不仅用于行动,还用于检验和改进我们的认知。

当我们做出预测后,实际结果会给我们反馈:如果预测准确,说明模型捕捉到了真实规律;如果预测错误,说明模型有缺陷,需要修正。这种“预测—反馈—修正”的循环,是人类学习和科学进步的基本方式。

在天枢系统的设计里,这个循环被直接落地为模型竞赛机制:每个模型都要先在验证集上接受检验,表现好的留下,表现差的淘汰。预测系统本身也在通过反馈不断进化。

0.5 适应性的生存优势

预测能力是生物进化的产物。动物必须预测猎物的移动、天敌的出现、季节的变化,才能生存和繁衍。人类将这种能力发展到极致——我们预测天气、市场、社会趋势,甚至预测他人的行为,从而协调合作。

拥有更好预测能力的个体、组织或社会,往往更能适应环境变化,获得竞争优势。企业也是如此:预测更准的企业,库存可以压得更低,响应可以更快,资金效率更高

0.6 落到供应链:拿信息换库存

说了这么多,回到我们的主题。预测在供应链管理中的核心作用,可以概括为一句话:拿信息换库存

库存本质上是为了应对不确定性而存在的。预测越准,需要备的安全库存就越少,资金占用就越低。信息越充分,库存越可以压得低;信息越缺乏,库存就得备得越多。

所以,预测不是为了预测而预测,而是为了让供应链的每一个环节都能提前行动,用更低的成本满足客户需求。预测不一定准确,但有预测的决策质量,通常优于没有预测的决策质量。这就是预测最根本的用处。

1. 为什么需要 9 种模型?

很多预测系统的做法是:选一个“看起来不错”的模型,比如移动平均或指数平滑,然后对所有产品一视同仁。

但天枢系统的设计逻辑正好相反:没有一种预测方法能通吃所有产品。爆款和长尾的需求模式完全不同,成熟品和新品的规律也不一样。如果用一个模型硬套,结果要么是爆款预测偏低,要么是长尾预测虚高。

所以我们引入了 9 种预测模型,分成五个模型族:

  • 移动平均系:看近期均值,抹平波动
  • 指数平滑系:越近的数据权重越大
  • 季节模型系:记住以周为主的周期性规律
  • 间歇性需求系:专治偶尔卖一次
  • 朴素基线系:最简单的参照

每次预测时,系统让所有模型同时“上阵”,用最近 30 天的实际销量做一场“模拟考试”,选出每个产品在最近 30 天里表现最好的模型,作为它本次的“专属预测师”。

关于“9 种模型”的说明:这里的“9 种”指的是算法层面。每种算法内部还包含若干参数变体(如 SMA 有 3/7/14 三种窗口,EMA 有 0.1~0.7 四档 α)。在模型竞赛中,每种算法会先在内部调参,选出自己的最优参数配置,然后以该最优配置作为唯一代表与其他算法竞赛。因此,最终参赛的仍是 9 个算法代表,而不是全部参数组合。架构图中列出的参数范围,只是内部调参时的尝试选项,并非独立参赛选手。

2. 时间序列的系统性维度与随机波动

在正式介绍模型之前,先建立一个基本的分析框架:任何一条需求历史,都可以从三个系统性维度来理解,剩下的部分则是随机波动。

维度特征性质
水平需求忽高忽低,但没有明显的趋势和季节性✅ 系统性,可预测
趋势随时间推移,需求呈现增长或降低✅ 系统性,可预测
周期性(季节性)需求呈现交替性的高峰和低谷,有规可循✅ 系统性,可预测
随机波动除掉前三者之后的“剩余物”❌ 非系统性,不可预测

这个分解有着极其重要的实践意义:大部分变动其实是可知的,只有一小部分是真正不可知的。预测模型的任务,就是把“可知的系统性部分”尽量准确地提炼出来,把“不可知的随机波动”留给安全库存去应对。

3. 五个模型族,九种武器

3.1 移动平均系——“看近期均值”

模型原理适用场景参数
简单移动平均 (SMA)过去 N 天平均卖多少,明天大概也卖这么多销量稳定的成熟产品窗口大小 N(3/7/14)
加权移动平均 (WMA)还是近 7 天,但昨天比上周更重要需求有惯性的产品权重方案(线性递减)

注意:SMA 的窗口只设了 3/7/14 三档,没有 30 天。因为 SMA(30) 与朴素基线系的“保底-月均法”在数学上完全等价,如果同时保留,竞赛中就会出现重复选手。因此,让 SMA 专注短期窗口,月均法作为基准线独立存在,各司其职。SMA(14) 与月均法只是窗口长度不同,并非重复,因此可以保留。

3.2 指数平滑系——“越近记得越牢”

模型原理适用场景参数
一次指数平滑 (EMA)今天预测 = 昨天预测 + α × 昨天误差无趋势的平稳需求平滑系数 α(0.1~0.7)
双参数指数平滑 (Holt)增加趋势项 β,能跟踪上涨或下跌新品爬坡、老品衰退α(水平)、β(趋势)

3.3 季节模型系——“记住以周为主的周期性规律”

模型原理适用场景参数
温特斯法 (Holt-Winters)同时学习水平、趋势、季节指数有明显周规律或淡旺季的产品α、β、γ(季节) + 季节周期长度 p

关于季节周期:天枢系统的日粒度数据默认采用 周周期(p=7),因为日常消费品最普遍的是“周一高、周末低”的周规律。如果要捕捉年度淡旺季(如冬装/夏装),需要更长的历史数据和更长的验证窗口——这是当前版本的一个已知局限,暂以周周期为主。

3.4 间歇性需求系——“专治偶尔卖一次”

模型原理适用场景参数
Croston 方法只关注非零需求量和间隔天数长尾冷门产品平滑系数 α(约0.1)
SBA 修正法Croston 的去偏版本同上,但更准、更不偏α(约0.1)+ 修正系数

3.5 朴素基线系——“最简单的参照”

模型原理适用场景参数
保底-上周同天法直接取上周同天的销量周规律极强的产品
保底-月均法近 30 天均值数据极稀疏时的兜底方案
朴素基线系为什么存在? 因为它们是所有复杂模型的“及格线”。如果一个复杂模型的表现连“上周同天”都比不过,那它就没有存在的价值。

4. 模型竞赛机制:训练集 vs 验证集

模型不是靠感觉选的,而是靠一场严格的“模拟考试”。

历史数据:[────── 训练集(约11个月) ──────────│── 验证集(最近30天) ──]
                      ↑                                    ↑
                 “学规律”                              “考水平”
               用这部分数据                           用这部分数据
               让模型记住                             让模型预测这30天,
               过去的销售模式                         和真实销量对比,
                                                     看谁预测得最准

为什么验证集必须是最近 30 天?

  • 最近的数据最像未来:上个月的销售模式,比去年同期的模式更接近下周的真实情况。
  • 防止“过拟合”:如果一个模型只在前几个月准,最近不准,说明它没能跟上最新的变化。这就像学生死记硬背了模拟题,考试题目一变就不会了。
  • 公平比较:所有模型用同一套“考卷”,谁分数高谁胜出。

5. 双标准择优:准确度高 + 无系统性偏差

到这里,问题还没有结束。即使有了独立的验证集,也不能简单地“谁误差最小就选谁”。

如果只把一堆数据填进去,让软件根据预测误差最小来自动选模型,很容易造成过拟合——模型在验证集上表现不错,一到真实世界就原形毕露。一个模型的优劣,最终取决于实际案例的测试,而不是拟合度。

所以,天枢系统的模型竞赛,不是简单的“谁 MAPE 小就选谁”,而是必须同时通过两道关卡。

标准指标含义
准确度高MAPE(平均绝对百分比误差)预测值和实际值平均差百分之多少?越小越好。
无系统性偏差ME(平均误差)是总是偏高,还是总是偏低?好的模型应该不偏不倚。

为什么“无系统性偏差”和“准确度高”同等重要?

设想一个模型,预测值总是比实际值高 5%。它的 MAPE 可能是 5%——看起来很准。但长期下来,库存会多备 5%,资金占用就多了 5%。这个模型虽然“准”,却是有害的。

相反,一个模型有时高估 10%,有时低估 10%,MAPE 也是 10%,但它的平均误差接近零。长期来看,库存不多不少,反而更健康。

两个标准冲突时怎么办?天枢系统采用先后的优先级:第一轮先筛 ME——平均误差偏离零超过容忍阈值的模型直接淘汰,不管 MAPE 多漂亮;第二轮在通过 ME 检验的模型中,选 MAPE 最小的。默认容忍阈值设为该产品平均销量的 ±5%,具体可在系统配置中调整。

所以,一个模型即使 MAPE 再低,如果存在系统性偏差,也不能用。这两条标准,是天枢系统“模型竞赛”的铁律。

6. 预测区间:比“置信度”更诚实的表达

单点预测值给人虚假的确定感。天枢系统不显示抽象的“置信度”,而是给出 80% 预测区间。

怎么理解预测区间?

物料 M1024 预测明天销量:85.3 件
80% 预测区间:74 ~ 96 件

意思是:根据历史表现,未来实际销量有 80% 的概率落在 74 到 96 件之间。区间越窄,说明历史销量越稳,预测越靠谱;区间越宽,说明波动越大,越需要人工介入。

预测区间不是系统“有多自信”,而是历史数据告诉我们的客观波动幅度。它和安全库存的计算直接相关——安全库存本质上就是为预测区间里的“坏运气”准备的缓冲垫。

7. 当所有模型都不准时:降级原则

如果 9 种模型对一个产品的预测全都差强人意——MAPE 全超 25%,或者预测区间下限为负——系统不会假装很准,而是会主动“认输”并请求人工介入。

动作做法
临时降级暂时用“保底-月均法”给出一个粗糙但稳定的均值
明确标记标注“波动过大——建议人工判断”,高亮提醒计划员
保留决策权计划员可手动修改预测值,或将该产品改为按单采购

关于降级时使用“保底-月均法”的说明:此刻的月均法不再以“竞赛选手”的身份参与评估,而是作为固定的兜底规则被调用。降级时,系统不再依据验证集表现来评判它,只把它当成一个稳定基准,为计划员提供参考;真正负责决策的是人,待人工调整后再替换。这样,“降级”不是“从九个模型里选了一个差的”,而是“明确承认九个模型都不行,先给一个粗糙的底线,然后交给人”。

核心原则是:宁可用一个粗糙但稳定的平均数,也不要一个看起来很精确但实际已经跑偏的算法结果

8. 模型选择的三个实用原则

总结天枢系统在模型选择上遵循的三个原则:

  1. 方法简单,容易理解。复杂的模型往往不如简单的,你不懂的模型往往不如你懂的好。可解释性是推广的前提。
  2. 关系简单,容易理解。模型内部各个参数之间的关系要清晰,能说清楚每个参数在做什么。
  3. 决策简单,容易理解。从模型输出到补货建议的逻辑要透明,让计划员知道“为什么建议订这么多”。
对于大多数企业来说,用好基本模型,配以组织流程措施,远比追求复杂精致的模型重要。预测的最终目的不是模型本身,而是让库存更低、服务水平更高。

9. 天枢系统模型竞赛架构

                          天枢系统模型竞赛架构

                        SalesClean 表(清洗后数据)
                                    │
                                    ▼
                     ┌──────────────────────────┐
                     │      训练集/验证集切分     │
                     │  前11个月训练,近30天验证  │
                     └────────────┬─────────────┘
                                  │
                                  ▼
                     ┌──────────────────────────┐
                     │       九种算法同时上阵      │
                     │                          │
                     │  每种算法内部先调参,       │
                     │  选出自己的最优参数配置      │
                     │                          │
                     │  调参范围示例:             │
                     │  · SMA:3/7/14天窗口      │
                     │  · WMA:固定7天线性递减权重 │
                     │  · EMA:0.1/0.3/0.5/0.7  │
                     │  · Holt:多组 α/β         │
                     │  · Holt-Winters:多组 α/β/γ│
                     │  · Croston/SBA:α≈0.1    │
                     │  · 保底方法:无参数        │
                     └────────────┬─────────────┘
                                  │
                                  ▼
                     ┌──────────────────────────┐
                     │     九种算法以最优配置参赛    │
                     │  每个算法仅一个代表选手       │
                     └────────────┬─────────────┘
                                  │
                                  ▼
                     ┌──────────────────────────┐
                     │       双标准筛选           │
                     │  第一轮:ME 偏差检验        │
                     │  淘汰系统性偏差超阈值的模型  │
                     │  (默认阈值:±5%平均销量)   │
                     │                          │
                     │  第二轮:MAPE 排序          │
                     │  在通过 ME 检验的模型中     │
                     │  选 MAPE 最小的            │
                     └────────────┬─────────────┘
                                  │
                                  ▼
                     ┌──────────────────────────┐
                     │       冠军模型出炉         │
                     │  负责该产品本次的预测       │
                     │  附带 80% 预测区间         │
                     │                          │
                     │  若所有模型均未通过检验     │
                     │  → 降级为保底-月均法       │
                     │  → 标记“波动过大”          │
                     │  → 请求人工介入            │
                     └──────────────────────────┘

10. 总结

这一篇讲了天枢系统的预测模型设计哲学:

  • 9 种模型,覆盖平稳、趋势、季节、间歇性四类需求模式。
  • 训练集和验证集,用模拟考试选出最近 30 天里最准的模型。
  • 双标准择优,先筛 ME 无系统性偏差,再比 MAPE 准确度。
  • 预测区间,比置信度更诚实,直接连接安全库存。
  • 降级机制,当所有模型都不准时,主动示弱,请求人工介入。

在下一篇博客中,我们将进入预测的下游——库存计划的设计逻辑。安全库存公式怎么推导?订货点为什么不是拍脑袋?长尾产品的库存策略又该怎么定?敬请期待。


天枢系统,是一个基于 SQL Server 的销售预测与库存计划引擎。它从金蝶 ERP 取数,经过数据清洗、物料分层、九模型竞赛择优,输出未来 7 天的销量预测和库存建议。项目尚未上线,正在持续迭代中。