Meridian:從部門檔案到有負責人的行動。
這是以 Meridian Components 打造的案例。Meridian Components 是一家虛構的製造商,在越南有四座工廠。下方每個 SAS 畫面都來自我們打造時所用的 Viya 環境,擷取於 2026 年 10 月。每個數字都由該環境產生。
- 個部門檔案作為起點
- 19個部門檔案作為起點
- 列資料由 40 條清理規則修正
- 28,098列資料由 40 條清理規則修正
- 個缺貨模型參與比較
- 7個缺貨模型參與比較
- 項行動,每項都經已發布的決策確認
- 306項行動,每項都經已發布的決策確認
四座工廠,每個部門各有一套真相。
Meridian 以各部門的活頁簿管理四座工廠和四座倉庫:依班別的生產紀錄、採購追蹤表、庫存盤點和標準成本表。每個部門都保留自己的一套數字,所以每週會議一開始總是在核對數字,而不是據此採取行動。
我們沒有要求任何人放棄自己的檔案。SAS 依原樣讀入這些檔案,專案分為五個階段,每個階段是一個程式資料夾,每支程式旁邊都有一個流程。
- 決策
- 依原樣讀入檔案,所有修正都在 SAS 中完成,用人人都看得懂的程式碼。
- 原因
- 大家繼續使用自己信任的工具,每一處修正都看得見、可重複,而不是藏在某個人的副本裡。
- 建構工具
- SAS StudioSAS Content

只清理一次,用可稽核的規則。
19 個檔案變成 23 張原始資料表、12 張清理後的資料表,以及 23 張可直接用於決策的 gold 資料表。40 條清理規則修正了 28,098 列:以文字輸入的金額、三種格式的日期、多種寫法的班別代碼。每條規則都會在資料品質日誌中寫入一行。
每支程式都有流程,因此 SAS Lineage 能從任何一張資料表畫出路徑:往回追溯到產生它的程式,往後延伸到讀取它的報表。
- 決策
- 一條規則、一行日誌,每支程式都有流程。
- 原因
- 當主管問某個數字從哪裡來,答案是在 SAS Lineage 裡點一下,而不是開一場會。
- 建構工具
- SAS Studio 流程DATA step 與 PROC SQLSAS Lineage

預測缺貨,讓模型互相競爭。
規劃人員的問題很簡單:未來四週內,哪個倉庫的哪項產品會跌破再訂購點?Model Studio 以同一組特徵(庫存相對於再訂購點的水準、在途庫存、近期出貨量、供應商延遲與季節)訓練了七個候選模型,較晚的幾週保留作為測試,不參與訓練。
Forest 在保留的幾週資料上排序表現最好,並以冠軍模型註冊於 Model Manager。梯度提升作為挑戰者,每週以程式碼重新訓練,一旦冠軍模型表現下滑,數字就會顯示出來。
- 決策
- Forest 是冠軍模型;梯度提升保留為挑戰者。
- 原因
- Forest 在從未見過的資料上排序最好;保留一個挑戰者,就能看出冠軍模型是否開始下滑。
- 建構工具
- Model StudioModel Manager



用業務負責人看得懂的規則做決策。
分數還不是行動。決策 Meridian_next_best_action 先執行冠軍模型,再經過兩個規則集。「選擇行動」(6 條規則)判斷某個庫存位置是否需要補貨、某張採購單是否需要催貨、某項產品是否需要毛利檢討,或某條產線是否需要檢查。「優先順序、負責人與複核」(14 條規則)依涉及金額設定優先順序、選定負責人、設定期限,並決定何時由第二個人複核。
這個決策發布至 SAS Micro Analytic Service,任何能發出網路請求的系統,都能詢問它該做什麼。
- 決策
- 把門檻值放在規則集中,而不是程式碼裡。
- 原因
- 供應鏈主管不需要開發人員,就能讀懂並修改「供應商在近期 60% 的訂單上延遲時催貨」,而且 Intelligent Decisioning 會為每次修改保留版本。
- 建構工具
- Intelligent DecisioningMicro Analytic Service



每週一執行,邏輯始終如一。
排程作業每週一 06:00 執行。它讀回大家在 Lantern 中做出的決策與處理結果,產生本週的候選行動,將每一項送進已發布的決策,草擬訊息,衡量上週的成果,並把結果推送到 Lantern。
批次作業呼叫的,是與其他所有地方相同的已發布決策,因此報表中的行動與畫面上的行動不會互相矛盾。如果無法連上決策服務,作業會停止並保留上週的行動,而不是發布一份空白清單。
- 1從 Lantern 讀回決策與處理結果
- 2產生候選行動
- 3將每個候選送進 Meridian_next_best_action
- 4草擬訊息並檢查
- 5衡量先前行動之後發生了什麼
- 6將行動、成果與缺貨風險推送到 Lantern
- 決策
- 由批次作業呼叫已發布的決策,而不是把它的規則複製到程式碼裡。
- 原因
- 只有一個地方做決定。改一條規則,所有管道同時生效,不會出現落差。
- 建構工具
- SAS Job ExecutionPROC HTTPMicro Analytic Service
proc http url="&base./microanalyticScore/modules/meridian_next_best_action/steps/execute"
method="POST" in=_nq out=_na ct="application/json" oauth_bearer=sas_services;
headers "Accept"="application/json";
run;NOTE: Lantern decisions read into APP_ACTION_DECISIONS.
NOTE: Lantern resolutions read into APP_ACTION_RESOLUTIONS.
NOTE: Decision service answered all 306 rows (meridian_next_best_action).
ACT REORDER High 55 55 1,994,641,000
ACT EXPEDITE_PO High 47 47 181,319,000
ACT INVESTIGATE_LINE High 12 12 790,203,000
NOTE: Lantern gold_actions: {"rows": 306, "table": "gold_actions", "skipped": []}
NOTE: Lantern gold_stockout_risk: {"rows": 16800, "table": "gold_stockout_risk", "skipped": []}
NOTE: Lantern gold_model_metrics: {"rows": 11, "table": "gold_model_metrics", "skipped": []}每項行動只有一位負責人,並說明理由。
Lantern 為每項行動指定一位負責人,並說明 SAS 為什麼提出它:觸發的規則、冠軍模型對庫存位置給出的機率,以及選定優先順序、負責人與期限的規則集。負責人去完成工作(致電供應商、檢查產線、下訂單),記錄做了什麼,然後結案。
每個人看到的內容取決於角色。採購人員看到採購單,班長看到自己的產線,並由資料庫逐列強制執行。
- 決策
- 負責建構與治理的人使用 Viya 授權席次;所有執行的人使用 Lantern。
- 原因
- 數百名第一線人員不需要 Viya 授權,就能依 SAS 的決策採取行動,而他們做出的每個決定,都會在下週一回流到 SAS。
- 建構工具
- LanternPostgreSQL 列層級安全性


衡量實際結果,讓模型保持誠實。
作業每週將已處理的行動與後續情況對照:庫存是否用完、採購單是否準時到貨、不良率是否回落。結果會推送到 Lantern,顯示在行動旁邊。
模型也以同樣的方式評判。冠軍模型、挑戰者,以及單純依庫存水準排序的方法,都在同樣的 1,100 列保留資料上評分,其中 138 列在四週內缺貨。
- 決策
- 在同樣的資料列上評判每個模型,並與簡單的基準並列比較。
- 原因
- 模型唯有勝過單純依庫存水準排序,才值得採用。在風險最高的 300 列中,冠軍模型比基準多捕捉到 13 次缺貨。
- 建構工具
- SAS 程式Visual AnalyticsLantern
同一批保留資料上的缺貨模型
| 模型 | AUC | 風險最高的 300 列中捕捉到的缺貨 |
|---|---|---|
| Forest,冠軍模型 | 0.939 | 133 / 138 |
| 梯度提升,挑戰者 | 0.927 | 129 / 138 |
| 僅看庫存水準,基準 | 0.918 | 120 / 138 |
AUC:0.5 等於擲硬幣,1.0 為完美。由 ins_02 於 2026 年 10 月 20 日計算。


決策紀錄
- 起點
依原樣讀入檔案,所有修正都在 SAS 中完成,用人人都看得懂的程式碼。
SAS Studio, SAS Content
- 清理與追溯
一條規則、一行日誌,每支程式都有流程。
SAS Studio 流程, DATA step 與 PROC SQL, SAS Lineage
- 預測
Forest 是冠軍模型;梯度提升保留為挑戰者。
Model Studio, Model Manager
- 決策
把門檻值放在規則集中,而不是程式碼裡。
Intelligent Decisioning, Micro Analytic Service
- 每週執行
由批次作業呼叫已發布的決策,而不是把它的規則複製到程式碼裡。
SAS Job Execution, PROC HTTP, Micro Analytic Service
- 在 Lantern 中行動
負責建構與治理的人使用 Viya 授權席次;所有執行的人使用 Lantern。
Lantern, PostgreSQL 列層級安全性
- 衡量
在同樣的資料列上評判每個模型,並與簡單的基準並列比較。
SAS 程式, Visual Analytics, Lantern
如何運作
Lantern 讀取 Viya 每週作業發布的資料表,因此工作空間中的每個數字都是真實的 SAS 輸出。上方各部分說明了每個環節是在哪裡建構的。