Lantern

Meridian: từ tệp phòng ban đến hành động có người phụ trách.

Một bản dựng trên Meridian Components, nhà sản xuất hư cấu có bốn nhà máy tại Việt Nam. Mọi màn hình SAS dưới đây đều lấy từ môi trường Viya mà chúng tôi dùng để xây dựng, được chụp vào tháng 10/2026. Mọi con số đều do chính môi trường đó tạo ra.

tệp phòng ban lúc bắt đầu
19tệp phòng ban lúc bắt đầu
dòng được sửa bởi 40 quy tắc làm sạch
28.098dòng được sửa bởi 40 quy tắc làm sạch
mô hình hết hàng được so sánh
7mô hình hết hàng được so sánh
hành động, mỗi hành động đều được quyết định đã xuất bản xác nhận
306hành động, mỗi hành động đều được quyết định đã xuất bản xác nhận

Bốn nhà máy, mỗi phòng ban một sự thật riêng.

Meridian vận hành bốn nhà máy và bốn kho bằng các bảng tính của từng phòng ban: sản lượng theo ca, bảng theo dõi mua hàng, số liệu kiểm kê và bảng giá thành tiêu chuẩn. Mỗi phòng ban giữ một phiên bản số liệu riêng, nên cuộc họp hằng tuần bắt đầu bằng việc đối chiếu số liệu thay vì hành động dựa trên chúng.

Chúng tôi không yêu cầu ai bỏ tệp của mình. SAS nạp các tệp nguyên trạng. Dự án được chia thành năm giai đoạn: mỗi giai đoạn là một thư mục chương trình, và mỗi chương trình đều có một luồng đi kèm.

Quyết định
Nạp tệp nguyên trạng và thực hiện mọi chỉnh sửa trong SAS, bằng mã mà ai cũng đọc được.
Lý do
Mọi người vẫn dùng công cụ họ tin tưởng, và mỗi chỉnh sửa đều hiển thị rõ ràng, lặp lại được, thay vì nằm khuất trong bản sao của ai đó.
Xây dựng bằng
SAS StudioSAS Content
SAS Studio hiển thị thư mục GDA Meridian với các chương trình và luồng của giai đoạn 05 Decide and Act
Hình 1. Dự án trong SAS Content: mỗi giai đoạn một thư mục (Collect, Clean, Insights, Visualize, Decide and Act), và mỗi chương trình đều có một luồng đi kèm.Xem kích thước đầy đủ

Làm sạch một lần, bằng những quy tắc kiểm tra được.

19 tệp trở thành 23 bảng thô, 12 bảng đã làm sạch và 23 bảng gold sẵn sàng cho việc ra quyết định. Bốn mươi quy tắc làm sạch đã sửa 28.098 dòng: số tiền nhập dưới dạng văn bản, ngày tháng theo ba định dạng, mã ca được viết theo nhiều kiểu. Mỗi quy tắc ghi một dòng vào nhật ký chất lượng dữ liệu.

Mỗi chương trình đều có một luồng, nên SAS Lineage có thể vẽ đường đi từ bất kỳ bảng nào ngược về chương trình đã tạo ra nó, và xuôi đến các báo cáo đọc nó.

Quyết định
Một quy tắc, một dòng nhật ký, và một luồng cho mỗi chương trình.
Lý do
Khi quản lý hỏi một con số từ đâu ra, câu trả lời là một cú nhấp trong SAS Lineage, không phải một cuộc họp.
Xây dựng bằng
Luồng SAS StudioDATA step và PROC SQLSAS Lineage
Sơ đồ SAS Lineage của GOLD_ACTIONS với luồng dec_01 và hai báo cáo Visual Analytics
Hình 2. SAS Lineage của GOLD_ACTIONS: luồng tạo ra bảng, bảng trong CAS, và hai báo cáo Visual Analytics đọc bảng đó.Xem kích thước đầy đủ

Dự đoán hết hàng, và để các mô hình cạnh tranh.

Câu hỏi của nhân viên kế hoạch rất đơn giản: sản phẩm nào, ở kho nào, sẽ xuống dưới điểm đặt hàng lại trong bốn tuần tới? Model Studio huấn luyện bảy mô hình ứng viên trên cùng một bộ đặc trưng (tồn kho so với điểm đặt hàng lại, hàng đang trên đường, lượng xuất gần đây, mức giao trễ của nhà cung cấp và mùa vụ), còn các tuần sau được giữ lại để kiểm thử.

Forest xếp hạng tốt nhất trên các tuần giữ lại và được đăng ký trong Model Manager làm mô hình chính. Gradient boosting được huấn luyện lại bằng mã mỗi tuần với vai trò mô hình thách đấu, nên nếu mô hình chính bắt đầu kém đi, các con số sẽ cho thấy.

Quyết định
Forest là mô hình chính; gradient boosting được giữ lại làm mô hình thách đấu.
Lý do
Forest xếp hạng tốt nhất trên dữ liệu nó chưa từng thấy, và giữ một mô hình thách đấu giúp thấy được mô hình chính có đang bắt đầu kém đi hay không.
Xây dựng bằng
Model StudioModel Manager
Pipeline trong Model Studio với bước điền giá trị thiếu, chọn biến, bảy mô hình, một mô hình kết hợp và bước so sánh mô hình
Hình 3. Pipeline 1 trong Model Studio: bước điền giá trị thiếu và chọn biến đưa dữ liệu vào các mô hình ứng viên và một mô hình kết hợp (ensemble), sau đó là bước so sánh mô hình.Xem kích thước đầy đủ
Bảng so sánh mô hình, Forest được đánh dấu là mô hình chính
Hình 4. So sánh mô hình trên phần dữ liệu kiểm thử. Forest, được gắn sao là mô hình chính, có KS (0,80) và diện tích dưới đường cong (0,94) cao nhất.Xem kích thước đầy đủ
Dự án Meridian stockout risk trong Model Manager với mô hình Forest là mô hình chính
Hình 5. Model Manager lưu mô hình chính trong dự án Meridian stockout risk.Xem kích thước đầy đủ

Ra quyết định bằng những quy tắc mà người làm nghiệp vụ đọc được.

Một điểm số chưa phải là hành động. Quyết định Meridian_next_best_action chạy mô hình chính, rồi đến hai bộ quy tắc. “Chọn hành động” (6 quy tắc) xác định một vị trí tồn kho có cần đặt hàng lại không, một đơn đặt hàng có cần đẩy nhanh không, một sản phẩm có cần rà soát biên lợi nhuận không, hay một dây chuyền có cần kiểm tra không. “Mức ưu tiên, người phụ trách và duyệt” (14 quy tắc) đặt mức ưu tiên theo số tiền có nguy cơ mất, chọn người phụ trách, đặt hạn xử lý và quyết định khi nào cần người thứ hai kiểm tra.

Quyết định được xuất bản lên SAS Micro Analytic Service, nên bất cứ thứ gì gửi được một yêu cầu web đều có thể hỏi nó cần làm gì.

Quyết định
Giữ các ngưỡng trong bộ quy tắc, không đặt trong mã chương trình.
Lý do
Trưởng bộ phận chuỗi cung ứng có thể đọc và thay đổi “đẩy nhanh khi nhà cung cấp giao trễ ở 60% số đơn gần đây” mà không cần lập trình viên, và Intelligent Decisioning lưu phiên bản cho mọi thay đổi.
Xây dựng bằng
Intelligent DecisioningMicro Analytic Service
Luồng quyết định: Start, mô hình Forest, bộ quy tắc Chọn hành động, bộ quy tắc Mức ưu tiên, người phụ trách và duyệt, End
Hình 6. Luồng quyết định: mô hình chính, rồi đến hai bộ quy tắc. Đã được kiểm tra hợp lệ trước khi xuất bản.Xem kích thước đầy đủ
Bộ quy tắc Meridian 1 Chọn hành động với các quy tắc IF, AND, THEN
Hình 7. Bộ quy tắc “Chọn hành động”: vị trí tồn kho dưới điểm đặt hàng lại thì cần đặt hàng lại; vị trí mà mô hình đánh giá nhiều khả năng hết hàng trong vòng bốn tuần thì được đặt hàng lại sớm theo cảnh báo.Xem kích thước đầy đủ
Trang triển khai của Intelligent Decisioning cho thấy một quyết định đã xuất bản lên microAnalyticService
Hình 8. Đã xuất bản lên đích Micro Analytic Service, với mô hình nằm bên trong quyết định.Xem kích thước đầy đủ

Chạy mỗi thứ Hai, với cùng một logic.

Một tác vụ theo lịch chạy vào 06:00 mỗi thứ Hai. Tác vụ đọc lại những gì mọi người đã quyết định và xử lý trong Lantern, tạo các hành động đề xuất của tuần này, đưa từng hành động qua quyết định đã xuất bản, soạn tin nhắn, đo kết quả của tuần trước và đẩy kết quả lên Lantern.

Tác vụ theo lô gọi đúng quyết định đã xuất bản mà mọi nơi khác cũng dùng, nên một hành động trong báo cáo và một hành động trên màn hình không thể mâu thuẫn nhau. Nếu không kết nối được dịch vụ quyết định, tác vụ dừng lại và giữ các hành động của tuần trước thay vì xuất bản một danh sách trống.

  1. 1Đọc lại quyết định và cách xử lý từ Lantern
  2. 2Tạo các hành động đề xuất
  3. 3Đưa mọi hành động đề xuất qua Meridian_next_best_action
  4. 4Soạn tin nhắn và kiểm tra
  5. 5Đo những gì đã xảy ra sau các hành động trước đó
  6. 6Đẩy hành động, kết quả và rủi ro hết hàng lên Lantern
Quyết định
Gọi quyết định đã xuất bản từ tác vụ theo lô thay vì chép các quy tắc của nó vào mã.
Lý do
Chỉ một nơi ra quyết định. Đổi một quy tắc là mọi kênh cùng thay đổi, và không có gì bị lệch.
Xây dựng bằng
SAS Job ExecutionPROC HTTPMicro Analytic Service
Cách tác vụ gọi quyết định đã xuất bản
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;
Trích nhật ký của tác vụ hằng tuần, ngày 20/10/2026
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": []}

Mỗi hành động một người phụ trách, kèm lý do rõ ràng.

Lantern giao mỗi hành động cho một người phụ trách và cho thấy vì sao SAS đưa ra hành động đó: quy tắc đã kích hoạt, xác suất của mô hình chính với các vị trí tồn kho, và bộ quy tắc đã chọn mức ưu tiên, người phụ trách và hạn xử lý. Người phụ trách làm việc (gọi nhà cung cấp, kiểm tra dây chuyền, đặt hàng), ghi lại những gì đã làm và đóng việc.

Mỗi người thấy gì tùy theo vai trò. Nhân viên mua hàng thấy các đơn đặt hàng, trưởng ca thấy dây chuyền của mình, và cơ sở dữ liệu thực thi điều đó trên từng dòng.

Quyết định
Giấy phép Viya cho những người xây dựng và quản trị; Lantern cho tất cả những người hành động.
Lý do
Hàng trăm nhân viên tuyến đầu có thể hành động dựa trên quyết định của SAS mà không cần giấy phép Viya, và mọi điều họ quyết định đều quay về SAS vào thứ Hai tuần sau.
Xây dựng bằng
LanternBảo mật theo dòng của PostgreSQL
Danh sách hành động trong Lantern với một hành động đặt hàng lại đang mở, hiển thị bước tiếp theo được đề xuất và quyết định của SAS
Hình 9. Một hành động trong Lantern: bước tiếp theo, người phụ trách và hạn xử lý mà bộ quy tắc đã chọn, cùng một dòng giải thích vì sao SAS đưa ra hành động này.Xem kích thước đầy đủ
SAS đã quyết định thế nào: mô hình hết hàng, bộ quy tắc Chọn hành động, bộ quy tắc Mức ưu tiên, người phụ trách và duyệt
Hình 10. Lý do của cùng hành động đó, từng bước một, lấy trực tiếp từ câu trả lời của quyết định.Xem kích thước đầy đủ

Đo những gì đã xảy ra, và giữ cho các mô hình trung thực.

Mỗi tuần, tác vụ đối chiếu các hành động đã xử lý với những gì xảy ra sau đó: hàng có hết không, đơn đặt hàng có về đúng hạn không, tỷ lệ lỗi có giảm trở lại không. Kết quả được đẩy lên Lantern, ngay bên cạnh hành động.

Các mô hình cũng được đánh giá theo cách đó. Mô hình chính, mô hình thách đấu và một cách xếp hạng đơn giản theo mức tồn kho được chấm điểm trên cùng 1.100 dòng dữ liệu giữ lại, trong đó 138 dòng đã hết hàng trong vòng bốn tuần.

Quyết định
Đánh giá mọi mô hình trên cùng các dòng dữ liệu, đặt cạnh một mốc so sánh đơn giản.
Lý do
Một mô hình chỉ xứng đáng được dùng nếu nó tốt hơn việc chỉ xếp hạng theo mức tồn kho. Trong 300 dòng rủi ro nhất, mô hình chính bắt được nhiều hơn mốc so sánh 13 lần hết hàng.
Xây dựng bằng
Chương trình SASVisual AnalyticsLantern

Các mô hình hết hàng trên cùng các dòng dữ liệu giữ lại

Mô hìnhAUCSố lần hết hàng bắt được trong 300 dòng rủi ro nhất
Forest, mô hình chính0.939133 / 138
Gradient boosting, mô hình thách đấu0.927129 / 138
Chỉ dựa vào mức tồn kho, mốc so sánh0.918120 / 138

AUC: 0,5 là tung đồng xu, 1,0 là hoàn hảo. Do ins_02 tính ngày 20/10/2026.

Bảng trong Lantern so sánh Forest, gradient boosting và chỉ dựa vào mức tồn kho
Hình 11. Cùng phép so sánh đó trong Lantern, kèm đường đi từ Model Studio đến màn hình.Xem kích thước đầy đủ
Báo cáo SAS Visual Analytics Meridian Control Tower với tên trang song ngữ
Hình 12. Meridian Control Tower trong Visual Analytics, với tên trang bằng tiếng Anh và tiếng Việt.Xem kích thước đầy đủ

Hồ sơ quyết định

  1. Điểm xuất phát

    Nạp tệp nguyên trạng và thực hiện mọi chỉnh sửa trong SAS, bằng mã mà ai cũng đọc được.

    SAS Studio, SAS Content

  2. Làm sạch và truy vết

    Một quy tắc, một dòng nhật ký, và một luồng cho mỗi chương trình.

    Luồng SAS Studio, DATA step và PROC SQL, SAS Lineage

  3. Dự đoán

    Forest là mô hình chính; gradient boosting được giữ lại làm mô hình thách đấu.

    Model Studio, Model Manager

  4. Quyết định

    Giữ các ngưỡng trong bộ quy tắc, không đặt trong mã chương trình.

    Intelligent Decisioning, Micro Analytic Service

  5. Chạy hằng tuần

    Gọi quyết định đã xuất bản từ tác vụ theo lô thay vì chép các quy tắc của nó vào mã.

    SAS Job Execution, PROC HTTP, Micro Analytic Service

  6. Hành động trong Lantern

    Giấy phép Viya cho những người xây dựng và quản trị; Lantern cho tất cả những người hành động.

    Lantern, Bảo mật theo dòng của PostgreSQL

  7. Đo lường

    Đánh giá mọi mô hình trên cùng các dòng dữ liệu, đặt cạnh một mốc so sánh đơn giản.

    Chương trình SAS, Visual Analytics, Lantern

Lantern chạy trên gì

Lantern đọc các bảng mà tác vụ hằng tuần của Viya xuất ra, nên mọi con số trong không gian làm việc đều là kết quả thật từ SAS. Các phần ở trên cho thấy từng phần được xây dựng ở đâu.

Xem Lantern vận hành.

Bản demo chạy trên Meridian, một nhà sản xuất hư cấu được dựng từ bộ dữ liệu chuỗi cung ứng có thật. Đăng nhập và xử lý việc của tuần này như đội ngũ của họ.