供應鏈需求預測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%則標記 |
| 時間完整性 | 所有處理後時間序列中的空白 |