需求预测 是利用历史数据、统计模型与机器学习算法,对未来特定时期内的产品/服务需求量进行量化估计的过程。它融合了时间序列分析、因果推断与业务洞察。
需求预测是供应链的“神经中枢”,直接影响:
| 场景 | 预测目标 | 典型粒度 | 业务价值 |
|---|---|---|---|
| 📦 库存补货 | 安全库存 / 再订货点 | SKU·日/周 | 缺货率降低40% |
| 🏭 生产计划 | 产线负荷 / 物料需求 | 产品族·周 | 产能利用率+18% |
| 🚚 运输调度 | 运力需求 / 路线流量 | 区域·日 | 运输成本↓12% |
| 🛒 促销规划 | 促销弹性 / uplift | SKU·周 | ROI提升25% |
| 🌾 原材料采购 | 长鞭效应缓冲 | 品类·月 | 采购波动降低30% |
# 需求预测 LightGBM 示例 (特征工程简化)
import lightgbm as lgb
import pandas as pd
from sklearn.metrics import mean_absolute_error
# 加载历史销售数据 (假设df包含日期, sku, 销量, 价格, 促销等)
df = pd.read_csv('sales_history.csv')
# 特征构造: 滞后特征, 滚动均值, 星期几, 月份
df['lag_1'] = df.groupby('sku')['销量'].shift(1)
df['rolling_mean_7'] = df.groupby('sku')['销量'].transform(lambda x: x.rolling(7, min_periods=1).mean())
df['dayofweek'] = pd.to_datetime(df['日期']).dt.dayofweek
train = df[df['日期'] < '2024-01-01']
valid = df[(df['日期'] >= '2024-01-01') & (df['日期'] < '2024-03-01')]
features = ['lag_1', 'rolling_mean_7', 'dayofweek', '价格', '促销标识']
X_train, y_train = train[features], train['销量']
X_valid, y_valid = valid[features], valid['销量']
model = lgb.LGBMRegressor(n_estimators=200, learning_rate=0.05, max_depth=5)
model.fit(X_train, y_train, eval_set=[(X_valid, y_valid)], callbacks=[lgb.early_stopping(10)])
preds = model.predict(X_valid)
print(f'验证集 MAE: {mean_absolute_error(y_valid, preds):.2f}')