AI 做需求预测:从模型选择到踩坑实录

分享
AI 做需求预测:从模型选择到踩坑实录

为什么我决定用 AI 做需求预测?

做供应链的人都知道,需求预测不是"要不要做"的问题,而是"怎么做才准"的问题。过去几年,我试过移动平均法、指数平滑法、ARIMA,甚至还自己写过一些简单的回归模型。不能说没用,但准确率始终在 60%-70% 之间徘徊。

2023 年底,我接手了一个新品类——小家电。这个品类有个特点:受季节性、促销活动、社交媒体热度、甚至天气的影响非常大。比如去年夏天一款便携风扇突然在抖音上火了起来,我们的预测模型完全没有捕捉到这个信号,导致断货了足足三周,损失了至少两百万的销售额。

这件事让我下决心尝试用 AI 做需求预测。经过半年多的摸索,踩了不少坑,也积累了一些经验,今天系统地分享出来。

第一步:明确你要预测什么

在选模型之前,先搞清楚你的预测目标。我见过很多人一上来就问我"用什么模型最好",但其实模型选型完全取决于你要预测什么。

我把供应链需求预测分成三个层次:

第一层,长期战略预测(12-24 个月)。主要用于产能规划、仓储布局、供应商战略合作。这个层面对单点准确率要求不高,但对趋势方向要求很高。

第二层,中期运营预测(3-6 个月)。用于采购计划、生产排程、库存目标设定。这个层面需要相对准确的数字,误差控制在 20% 以内是及格线。

第三层,短期执行预测(1-4 周)。用于补货决策、物流调度、促销备货。这个层面误差容忍度最低,最好控制在 10% 以内。

我们按这个框架拆解后,发现最核心的是第二层和第三层。所以我们的 AI 模型重点解决这两个层次的问题。

第二步:模型选型的实战对比

我用两句话总结我试过的几种主流模型:

传统时间序列模型(ARIMA、Prophet)

优点:可解释性强,训练快,数据量要求低。缺点:只能捕捉线性趋势和周期性,对促销活动、社交媒体热度这类外部因素的敏感性为零。

我的结论:如果你的业务比较稳定,没有太多外部扰动,用 Prophet 就够了。我们拿 Prophet 做了一些常规品类的基线预测,准确率大概在 65%-75%。

机器学习模型(XGBoost、LightGBM)

优点:可以加入很多外部特征(天气、节假日、促销计划、竞品价格),非线性拟合能力强。缺点:特征工程很累,需要大量的数据清洗和特征提取工作。

我们在这个方向投入最大。把过去三年的销售数据、促销日历、电商平台流量数据、节假日信息、甚至天气数据全部整理好,用 XGBoost 训练了一个预测模型。准确率提升到了 78%-85%,效果明显。

深度学习模型(LSTM、Transformer)

优点:能捕捉复杂的时序依赖关系,理论上效果最好。缺点:需要大量数据(起码三年以上的日级别数据),训练时间长,模型调参复杂,而且容易过拟合。

我们试了 LSTM,在小家电这个品类上效果反而比 XGBoost 差一些。原因可能是我们的数据量还不够大(只有三四年),而且小家电的销售模式受外部冲击影响太大,深度学习的"记忆"反而成了拖累。

第三步:我们是怎么做的(技术方案简述)

最终我们采用的是一个混合方案。用 XGBoost 作为主模型,处理带大量外部特征的需求预测;同时用 Prophet 做一个基线参考,当 XGBoost 的预测结果与 Prophet 偏差超过 30% 时,触发人工复核。

数据方面,我们搭建了一个自动化的数据管道:每周从 ERP(SAP)拉取销售历史,从电商平台取流量和转化数据,从天气 API 取预测天气,从营销日历取促销计划——所有这些数据汇入一个数据仓库,然后喂给模型训练。

输出方面,我们不仅给了预测值,还给了置信区间和影响因子分析。比如:"下周 SKU001 预测销量 5000 台,置信区间 4300-5800。主要增长驱动力:母亲节促销活动预期带来 +15% 增量。"这样计划部门知道自己该留多少安全库存。

踩坑实录:那些让我想砸电脑的时刻

第一个坑:数据质量是最大的敌人。我们一开始用的销售数据里有大量的退货订单没有剔除,导致模型认为"这个产品卖得很好"然后建议多备货,实际上好几十单是退回来的。这个坑花了我们两周才定位到。教训:花 70% 的时间清理数据,30% 的时间训练模型。

第二个坑:不要把促销数据当"正常数据"来训练。促销期间的销量可能是平时的 5-10 倍,如果模型不加区分地学习,它会觉得"这个产品平时也能卖 1000 台",导致平时备货过多。正确的做法是把促销数据单独标记,或者用"促销弹性系数"来做归一化处理。

第三个坑:模型漂移是真实存在的。你的模型可能在 1 月份表现很好,到 6 月份就莫名其妙地不准了。因为消费者的行为、市场环境、产品生命周期都在变化。我们现在的做法是每个月重新训练一次模型,并且每周监控预测误差。一旦误差持续超过阈值,立即触发模型重训。

第四个坑:AI 预测只是参考,不是决策。这个道理很简单,但很多人(包括我自己一开始)用上 AI 后就过度依赖。有一次模型预测某款产品下个月销量会翻倍,原因是"搜索热度上升",结果采购下单后才发现搜索热度是竞争对手投放广告带来的,跟我们自己的产品没啥关系。从那以后,我们坚持一个原则:AI 给出预测和依据,但最终的采购决策必须由人来做。

效果怎么样?说点大实话

用了 AI 做需求预测之后,我们品类的库存周转率从 8.2 次/年提升到了 11.5 次/年,缺货率从 12% 降到 6% 左右。这些数字看起来不错,但说实话,至少有一半的提升是来自我们梳理数据和流程带来的,AI 模型本身贡献了剩下的一半。

所以我的建议是:不要神话 AI 需求预测。它不是一个"输入数据就能得到准确答案"的黑盒子。它需要好的数据、好的特征、好的流程配合。如果你现在还没有系统化地管理你的销售数据,先把这个基础打好,再考虑上 AI 模型。

下一篇我会聊聊怎么用 n8n 和 Dify 搭建 AI 工作流,把 AI 真正嵌入到日常业务流程中,让工具为大家干活而不是大家为工具干活。

—— Alen