
供应链需求预测AI的数据准备
构建供应链需求预测AI数据管道的实用指南——涵盖数据源映射、按预测时间范围划分的质量要求、特征工程以及企业供应链的本地部署。
麦肯锡估计,AI驱动的需求预测可以将供应链误差降低30-50%,并将缺货导致的销售损失减少高达65%。然而,大多数企业需求预测项目在数据准备阶段就停滞了,而不是在模型开发阶段。原因是结构性的:需求预测需要整合来自从未被设计为相互通信的系统的数据——ERP、WMS、POS、CRM和外部数据提供商——形成一个 干净的、时间对齐的统一数据集。
预测模型本身往往是项目中最简单的部分。将历史销售数据、库存位置、供应商交货时间、促销日历和宏观经济信号整合成一致的、经过质量验证的训练集,才是项目60-80%工作量集中的地方。本指南涵盖如何系统地构建该数据管道。
需求预测的数据源映射
需求预测模型消费来自多个企业系统的数据。每个数据源有不同的格式、更新频率和质量特征。
| 数据源 | 来源系统 | 典型格式 | 更新频率 | 关键字段 |
|---|---|---|---|---|
| 历史销售/订单 | ERP (SAP, Oracle, NetSuite) | CSV/Excel导出、API提取 | 每日到每周 | SKU、数量、日期、渠道、客户细分、价格 |
| 库存位置 | WMS (Manhattan, Blue Yonder) | CSV/Excel导出 | 每日 | SKU、位置、在库数量、在途、预留 |
| 供应商交货时间 | 采购/SRM系统 | Excel、手动跟踪表 | 每月到每季度 | 供应商、SKU/类别、报价交货时间、实际交货时间历史 |
| 促销日历 | 营销/贸易促销系统 | Excel、共享日历 | 每月 | 促销类型、开始/结束日期、受影响SKU、折扣力度 |
| 销售点数据 | POS/零售系统 | CSV、EDI 852 | 每日到每周 | 门店、SKU、销售数量、价格、退货 |
| 价格历史 | ERP或定价引擎 | CSV/Excel | 按价格变更事件 | SKU、生效日期、标价、净价、币种 |
| 天气数据 | 第三方API (NOAA, Weather Company) | JSON/CSV | 每日 | 区域、温度、降水、恶劣天气预警 |
| 宏观经济指标 | 政府统计、数据供应商 | CSV | 每月到每季度 | CPI、GDP增长、消费者信心、失业率 |
| 竞争对手定价 | 网络爬虫或第三方数据源 | JSON/CSV | 每日到每周 | 竞争对手、产品类别、价格点、可用性 |
并非每个预测模型都需要所有数据源。数据源的选择取决于预测时间范围和业务背景。杂货零售商的短期补货预测需要每日POS数据和促销日历。制造商的长期产能规划预测需要宏观经济指标和供应商交货时间趋势。
按预测时间范围划分的质量要求
不同的预测时间范围有不同的数据质量容忍度。用于年度产能规划的战略预测可以容忍一些数据不精确。驱动每日补货订单的运营预测则不能。
| 预测时间范围 | 时间跨度 | 主要数据源 | 质量要求 | 可接受粒度 |
|---|---|---|---|---|
| 运营 | 1-14天 | POS数据、当前库存、天气、促销日历 | 非常高:缺失值低于1%,每日粒度,数据延迟低于24小时 | 每日按SKU按位置 |
| 战术 | 2-12周 | 历史销售、库存、促销、供应商交货时间 | 高:缺失值低于3%,每周粒度,每周更新可接受 | 每周按SKU按区域 |
| 战略 | 3-18个月 | 历史销售趋势、宏观经济指标、竞争格局 | 中等:缺失值低于5%,每月粒度,每月更新 | 每月按产品类别按市场 |
| 长期规划 | 1-5年 | 年度趋势、市场研究、人口变化、技术采用曲线 | 宽容:缺失值低于10%,每季度/每年粒度 | 每季度按产品系列按细分 |
数据新鲜度要求
需求预测数据的价值随数据源不同而以不同速率衰减:
| 数据源 | 新鲜度要求 | 陈旧数据的影响 |
|---|---|---|
| POS / 销售订单 | 当日或次日 | 基于昨日需求的补货订单会错过趋势变化 |
| 库存位置 | 当日 | 因可用量承诺不准确导致过量库存或缺货 |
| 促销日历 | 提前2-4周 | 预测遗漏未计入促销带来的需求激增 |
| 供应商交货时间 | 每月更新 | 基于过时交货时间的安全库存计算 |
| 天气 | 1-3天预测窗口 | 无法捕捉天气驱动的需求(季节性商品、暖通空调、饮料) |
| 宏观经济 | 每月到每季度 | 战略预测错过经济拐点 |
需求预测数据的管道阶段
阶段1:接入与模式验证
接入阶段从源系统提取数据并验证每次提取是否符合预期的模式。模式漂移——当源系统在升级过程中更改列名、日期格式或添加/删除字段时——是生产预测管道中常见的故障模式。
| 验证检查 | 捕获内容 | 失败时的操作 |
|---|---|---|
| 列存在性 | 系统升级后缺少预期字段 | 拒绝文件,通知数据工程团队 |
| 数据类型验证 | 数字字段中的字符串、格式错误的日期 | 拒绝受影响的行,记录以便更正 |
| 行数阈值 | 意外为空或被截断的提取 | 如果计数低于历史平均值的80%则拒绝 |
| 日期范围验证 | 历史数据中的空白或未来日期记录 | 标记空白以便插值,拒绝未来日期 |
| 币种/单位一致性 | 混合币种或文件中途的计量单位变更 | 使用转换表标准化为基础币种/单位 |
Ertas Data Suite通过专用解析节点处理多格式接入,支持CSV、Excel、PDF和其他常见企业导出格式。Format Normalizer节点跨数据源标准化日期格式、币种表示和计量单位编码。每个验证步骤在管道画布上可见,当源文件偏离预期时立即清晰可见。
阶段2:去重与实体解析
企业系统经常通过集成错误、批处理重跑和多系统订单采集产生重复记录。一个客户 订单可能同时出现在ERP和POS系统中,但字段略有不同。
跨系统的实体解析同样重要。同一产品在ERP中可能标识为SKU "A1234",在WMS中为"1234-A",在POS系统中为"产品A常规12oz"。没有统一的产品主数据,预测模型会将这些视为三个不同的产品,拥有各自独立的需求历史。
关键去重和解析任务:
- 订单去重: 按订单ID、日期和金额匹配,从多系统提取中移除重复项
- 产品统一: 使用交叉引用表将所有产品标识符映射到单一规范SKU
- 位置统一: 将仓库代码、门店编号和区域标识符映射到一致的层级结构
- 客户去重: 在CRM和订单系统之间匹配客户记录(与B2B预测相关)
阶段3:缺失值处理
需求预测中的缺失数据需要领域感知的填补,而不是通用的统计填充。零销售日可能意味着没有需求(产品是季节性的),也可能意味着产品缺货(需求存在但未被记录)。填补策略必须区分这些场景。
| 缺失数据场景 | 检测方法 | 填补策略 |
|---|---|---|
| 真实零需求 | 产品有库存,无销售记录 | 记录为零——不填补 |
| 缺货(删失需求) | 相关日期库存位置为零 | 使用有库存时期的可比需求进行填补 |
| 系统停机 | 某位置/日期所有产品显示零销售 | 使用前期同一星期几的平均值进行填补 |
| 新产品(无历史) | 产品上市日期在训练窗口开始之后 | 使用类似产品需求,按上市曲线假设调整 |
| 停产产品 | 产品停产日期在训练窗口内 | 在停产日截断历史;不填补停产后的零值 |
缺货导致的删失需求是最需要正确处理的关键场景。如果模型使用包含缺货零值的观察销售数据进行训练,它会学到需求定期降至零——并且恰好在产品最可能再次缺货时预测低需求,形成自我强化的循环。
阶段4:特征工程
原始历史数据需要转化为能捕获需求模式的特征。需求预测的特征工程分为几个类别:
| 特征类别 | 示例 | 工程方法 |
|---|---|---|
| 滞后特征 | 1天前、7天前、28天前、364天前的销售 | 历史销售的时间位移值 |
| 滚动统计 | 7天移动平均、28天滚动标准差、13周趋势 | 基于窗口的聚合 |
| 日历特征 | 星期几、月份、季度、假日标志、假日前/后 | 日期分解 + 假日日历查找 |
| 促销特征 | 活动促销标志、折扣力度、距上次促销天数、距下次促销天数 | 与促销日历关联 |
| 价格特征 | 当前价格、价格变更标志、价格相对于90天平均值 | 与价格历史关联,计算衍生指标 |
| 外部信号 | 温度预报、CPI变化、竞争对手价格指数 | 按日期和区域与外部数据源关联 |
| 库存特征 | 供应天数、缺货标志、库存周数 | 从库存位置和需求率计算 |
阶段5:时间对齐与聚合
不同的数据源在不同的时间粒度上运行。POS数据是每日的。宏观经济数据是每月的。供应商交货时间每季度更新。管道必须将所有数据源聚合或拆分到目标预测粒度。
按数据类型的聚合规则:
| 数据类型 | 聚合方法 | 拆分方法 |
|---|---|---|
| 销售/需求量 | 求和至更高粒度 | 使用历史每日模式按比例分配 |
| 价格 | 平均值(或期末值)至更高粒度 | 前向填充最后已知价格至每日粒度 |
| 库存 | 期末快照 至更高粒度 | 快照之间线性插值 |
| 二元标志(促销、假日) | 任一为真至更高粒度 | 将标志应用于原始事件期间内的所有天数 |
| 天气 | 温度取平均;降水取总和 | 每日值已是原始粒度 |
阶段6:验证与导出
在训练数据集到达模型之前,全面验证会捕获那些否则会以无法解释的预测错误形式出现的问题。
| 验证规则 | 捕获内容 | 阈值 |
|---|---|---|
| 需求平稳性检验 | 需要单独模型处理的结构性断裂或水平位移 | ADF检验p值;如果不经差分即非平稳则标记 |
| 特征相关性 | 使模型系数不稳定的多重共线性特征 | 删除相关性高于0.95的任何配对中的一个 |
| 目标泄漏 | 包含未来信息的特征 | 验证所有特征仅使用预测起点可用的数据 |
| 类别平衡(用于分类) | 需求类别中的极端不平衡(如果对需求水平进行分类) | 如果少数类低于5%则标记 |
| 时间完整性 | 所有处理后时间序列中的空白 | 运营预测数据零容忍空白 |
以目标模型格式导出——通常为CSV或Parquet用于表格模型,并基于时间(而非随机)进行适当的训练/验证/测试拆分,以防止时间泄漏。
为什么本地部署对供应 链数据很重要
供应链数据具有竞争敏感性。按SKU的历史需求揭示产品表现。供应商交货时间暴露采购关系。价格历史显示利润结构。库存位置反映运营效率。这些数据汇总起来提供了企业严格保护的业务运营全面视图。
除了保密性之外,许多企业都有数据治理政策,禁止在未经全面安全审查的情况下将交易数据发送到外部云服务。对于全球供应链,数据驻留要求可能限制数据在地理上的处理位置。
Ertas Data Suite作为原生桌面应用完全在本地运行。供应链数据永远不会离开企业网络。每个转换节点记录其操作,生成的审计追踪满足内部数据治理审查和外部合规要求。可视化管道画布让供应链分析师——他们理解业务逻辑但可能不编写Python——直接查看其数据如何为AI模型做准备。
关键要点
需求预测AI首先是一个数据集成问题,然后才是建模问题。管道必须处理多源接入、实体解析、领域感知填补(特别是缺货期间的删失需求)、时间对齐,以及针对泄漏和平稳性假设的严格验证。
构建可观察、可复现数据管道的团队能够发布随数据质量提升而不断改进的预测模型。用脚本临时拼凑数据准备的团队则把时间花在调试那些追溯到他们看不见的数据问题的预测错误上。
Turn unstructured data into AI-ready datasets — without it leaving the building.
On-premise data preparation with full audit trail. No data egress. No fragmented toolchains. EU AI Act Article 30 compliance built in.
Keep reading

On-Premise vs Cloud Data Pipeline Throughput: Enterprise Document Processing Benchmarks
Throughput comparison of on-premise GPU infrastructure vs cloud API services for enterprise document processing at scale — from 100 to 100K documents — with cost analysis and deployment recommendations.

How to Prepare Training Data for Insurance Fraud Detection AI Models
A practical playbook for preparing claims text, adjuster notes, and policy documents as training data for insurance fraud detection AI — covering pipeline stages, data quality requirements, and on-premise deployment for regulated insurers.

Preparing Sensor and IoT Time-Series Data for AI Training Pipelines
A practical guide to building AI training pipelines for sensor and IoT time-series data — covering windowing strategies, normalization methods, anomaly labeling, and train/test splitting for vibration, temperature, pressure, and acoustic sensor types.