最近整理一組運動紀錄時,我做了一個看似有點浪費的決定:把畫面上那些算得很完整、看起來也很專業的數字刪掉。原因不是公式一定錯,而是我手上根本沒有對應的量測設備。系統可以估計,但估計值一旦和原始量測並排,久了就很容易被當成同一種事實。
這件小事讓我想到企業系統裡更常見的問題:我們很在意數字算得準不準,卻不一定先問,這個數字究竟有沒有資格被算出來。
有公式,不等於有測量
現在的軟體很擅長補齊資料。只要有速度、時間、位置、心率或操作紀錄,就能再推導出效率、負荷、風險、產能與各種綜合分數。生成式 AI 加進來之後,連原本需要分析師解讀的資料,也能迅速變成一段結論。
問題是,推導鏈愈長,畫面通常愈完整,使用者卻愈難看見中間用了哪些假設。
以設備資料為例,系統可能沒有直接量測某個物理量,而是根據速度、環境與預設參數估算。公式本身也許合理,但只要實際條件和預設值不同,結果就會偏移。更麻煩的是,下游又可能拿這個估算值計算另一個區間、分數或建議。最後呈現的數字有小數點、有圖表、有排名,看起來比原始資料更科學,證據基礎卻更薄。
企業系統也一樣。沒有正式工時,卻用登入時間估算投入;沒有實際完工紀錄,卻用最後一次狀態更新推算進度;沒有完整成本,卻用單價乘數量當作毛利判斷;沒有品質結果,卻用檢查次數當成品質改善。這些代理指標不是不能用,但不能忘記它們回答的是「可能如何」,不是「實際發生什麼」。
我會把指標分成三個證據層級
現在看到一個新指標,我會先把它放進三個層級,而不是立刻討論圖表怎麼畫。
第一層是直接量測或正式交易事實。例如感測器原始值、簽核完成時間、實際入出庫、正式付款、測試結果。這類資料仍可能有校正或輸入錯誤,但它至少有明確來源,也能回到原始紀錄查核。
第二層是可重現的推導結果。例如由開始與結束時間計算週期、由數量與標準單位換算重量。這一層要保留公式、輸入版本、單位與計算時間,讓同一組輸入可以得到同一個結果。只要任一來源失效,衍生結果也應跟著標記過期或重算。
第三層是模型估計或代理指標。它可能來自統計模型、規則、AI 判斷或缺值補齊,價值在於輔助決策,不在於取代事實。這類結果至少要揭露估計方法、適用條件、信心與限制,並避免用過度精確的小數讓人誤以為它是儀器直接量到的。
這三層都能有用,真正危險的是把它們用相同字體、相同顏色、相同排序放在同一張表裡,卻不說彼此的證據強度不同。
缺資料時,產品不該急著把洞補滿
很多產品團隊害怕空值。畫面出現「無資料」,好像代表功能沒做完;因此我們會加入預設值、沿用上一筆、套用同類平均,或請模型補一個合理答案。
但從技術主管的角度,我寧可讓系統誠實地說「目前無法判定」。空值有時不是 UX 缺陷,而是重要的營運訊號:設備沒裝、流程沒有留下事件、主檔維護不完整,或資料契約根本還沒建立。把洞補掉,會讓真正該改善的基礎設施永遠沒有優先級。
當然,不是所有估計都該被禁止。排程預測、需求預測、風險分數,本來就不可能等到事實發生後才有價值。重點是產品必須讓人知道自己正在看預測,並且把預測和後續實績對帳。若系統只持續產生估計,卻不追蹤估計偏差,它就不是決策系統,只是一台很會製造數字的機器。
AI 更需要一份「可用指標清單」
人看儀表板時,還可能憑經驗發現某個數字不合理;Agent 則很容易把所有能讀到的欄位都當成同等可信的上下文。只要 API 回傳一個名稱像「效率分數」的欄位,模型就可能引用它產生建議,甚至再交給下一個流程執行。
因此,給 AI 的資料介面不能只有欄位名稱與型別。我會希望每個重要指標還帶著來源類型、量測或估計方式、更新時間、有效條件、資料品質狀態,以及允許的用途。某個估計值可以用來排序待查案件,不代表它可以直接觸發獎懲、停機或財務決策。
這其實是一種用途治理:同一筆資料在探索分析裡可以接受,在正式交易裡未必可以;拿來提醒人可以,拿來自動執行則需要更強的證據。與其要求 Agent 自己理解所有資料限制,不如讓限制成為資料契約的一部分。
刪掉一個數字,有時比新增一張圖更專業
技術工作常有一種誘惑:資料既然拿得到,就應該充分利用;欄位既然算得出來,就應該呈現。可是成熟的系統不是數字最多的系統,而是能清楚交代每個數字從哪裡來、能證明到哪裡、不能拿來做什麼。
我現在評估指標,會先問四件事:它是直接量測、可重現推導,還是模型估計?輸入缺失或條件改變時,系統會失效、警告,還是悄悄補值?下游決策知道它的限制嗎?我們有沒有用後來的實績檢查它?
如果這些問題答不出來,我寧可先不顯示。因為一個空白欄位最多讓人多問一次;一個精緻但沒有證據基礎的數字,卻可能讓整個組織很有信心地往錯的方向走。
系統算得出來,只代表計算可以完成。這個指標是否真的存在,仍然要由量測、來源與用途共同證明。