2、需求预测基础:定性预测法、定量预测法、预测误差分析与修正

各位工程师同仁,大家好。今天我们来聊聊需求预测。说实话,我刚入行那会儿,觉得预测就是拍脑袋。后来吃过几次亏,才明白这里面门道很深。预测不准,排产就是瞎忙活。库存积压、产线空转,都是真金白银的教训。

需求预测,说白了就是回答一个问题:未来客户会买多少? 答案不可能100%准确,但我们可以让误差可控。我习惯把预测方法分成两大类:定性法和定量法。下面我们逐一拆解。

需求预测知识体系 需求预测 定性预测法 定量预测法 预测误差分析 德尔菲法 市场调研 移动平均 指数平滑 MAD/MPE 跟踪信号 预测修正 异常值处理 模型重选

2.1 定性预测法:当数据不够时,靠经验

定性预测,就是没有历史数据,或者数据不可靠时,靠人的判断。你想想看,新产品上市、市场突然变化,这时候历史数据就是废纸。我遇到过最典型的案例:某款智能手表刚发布,历史数据为零,只能靠专家打分来定首批产量。

常用的定性方法有几种:

  • 德尔菲法:匿名征求多位专家意见,反复几轮,直到意见收敛。好处是避免权威影响,坏处是慢。
  • 市场调研:直接问客户。但要注意,客户说的和实际做的往往不一样。我曾经做过一个调研,客户说“肯定会买”,结果上市后销量只有预期的30%。
  • 历史类比法:拿类似产品的历史数据做参考。比如推新款手机,可以参考上一代的销售曲线。
我的经验:定性预测适合做方向判断,不适合做精确数字。我一般用它来定“趋势”,比如“下季度是涨还是跌”,具体涨多少,交给定量法。

2.2 定量预测法:用数据说话

定量预测,就是拿历史数据建模。说白了,就是假设“过去会重演”。这里我重点讲两种最实用的:移动平均法和指数平滑法。

2.2.1 移动平均法

简单粗暴。取最近N期的平均值作为下一期预测。N越大,曲线越平滑,但对变化反应越慢。

# 简单移动平均示例(Python)
def moving_average(data, window):
    return sum(data[-window:]) / window

# 假设过去4周销量:[120, 130, 110, 140]
sales = [120, 130, 110, 140]
pred_next_week = moving_average(sales, 3)  # 用最近3周
print(f"下周预测: {pred_next_week}")  # 输出: 126.67

嗯,这里要注意:窗口选多大?我个人的习惯是,如果产品生命周期短、波动大,窗口选小一点(比如3期)。如果产品稳定,窗口可以大一些(比如6期)。

2.2.2 指数平滑法

比移动平均聪明一点。它给近期数据更高的权重,远期数据权重递减。核心参数是α(平滑系数),α越大,模型越敏感。

# 简单指数平滑示例
def exp_smoothing(prev_forecast, actual, alpha=0.3):
    return alpha * actual + (1 - alpha) * prev_forecast

# 假设上期预测100,实际销量120
new_forecast = exp_smoothing(100, 120, alpha=0.3)
print(f"新预测: {new_forecast}")  # 输出: 106

关键点:α值一般取0.1~0.5。我见过很多新手把α设到0.8,结果预测跟着实际值剧烈抖动,根本没法用。记住:平滑的目的是过滤噪音,不是复制历史

2.3 预测误差分析:别光看预测值,要看误差

预测完了,必须算误差。否则你根本不知道模型靠不靠谱。我常用的指标有三个:

指标 公式 说明
MAD(平均绝对偏差) Σ|实际-预测| / n 衡量平均误差大小,单位与原始数据一致
MPE(平均百分比误差) Σ((实际-预测)/实际) / n * 100% 衡量误差百分比,适合对比不同产品
跟踪信号(TS) Σ(实际-预测) / MAD 判断预测是否持续偏高或偏低,超过±4需修正
避坑指南:我曾经遇到一个项目,MAD一直很小,但库存却越积越多。后来一查,发现预测总是偏低一点点,但每次偏差方向一致。这就是跟踪信号的作用——它能发现系统性偏差。记住:误差小不等于预测好,偏差方向更重要

2.4 预测修正:发现偏差,及时调整

预测不是一锤子买卖。我每周都会做一次“预测复盘”。具体做法:

  1. 计算跟踪信号:如果TS绝对值超过4,说明模型有系统性偏差。
  2. 检查异常值:是不是有促销、缺货、竞品动作?这些事件会导致历史数据失真。
  3. 调整模型参数:比如增大α值,或者更换窗口期。
  4. 人工干预:如果市场有明确信号(比如大客户突然下单),直接手动修正预测值。

举个例子:某款产品连续3周预测偏高,TS达到5.2。我检查后发现,是因为竞争对手降价了,导致我们销量下滑。这时候,我直接把α从0.2调到0.4,让模型更快响应市场变化。两周后,TS回到了正常范围。

我的习惯:每次修正后,我都会保留一份“修正日志”。记录:什么时间、为什么修正、修正了什么参数、效果如何。这样积累一年,你就能总结出不同场景下的最佳修正策略。说白了,这就是你自己的预测知识库。

好了,需求预测的基础就讲到这里。记住:没有完美的预测,只有不断逼近真实的预测。关键是建立“预测-执行-复盘-修正”的闭环。下次我们聊具体怎么把预测结果转化成排产计划。


专注资料整理