風險登記冊需要多少應變準備金?
這份登記冊有 10 項風險(金額單位:千美元),機率 × 最可能影響加總為 291;但整份登記冊跑蒙地卡羅模擬,平均損失為 359,最差 5% 的結果平均為 1,436,所以應變準備金要看這些最差的結果來定。就算準備金等於平均損失,仍有 36.6% 的結果會超出。
每 20 次結果就有 1 次損失超過 1,028(P95),最差的 5% 平均是平均值的 4.0 倍。保險限額也要對照這些最差結果的數字,而不是平均值。
模型
Excel 檔案就是一份一般的風險登記冊:共 10 項風險,每列一項,各有發生機率(B 欄),以及發生時的最小、最可能與最大影響(C 至 E 欄)。登記冊下方的附註說明單位:金額以千美元計,與專案成本範例相同。
估算值旁邊,每項風險各有兩個儲存格,由模擬在每次試驗填入。Occurs(F 欄,是否發生)依該風險的機率取 1,否則取 0,也就是白努利分配。Impact(G 欄,影響金額)取自最小與最大之間、在最可能值達到峰值的 PERT 分配。Exposure(H 欄,曝險金額)用 =F2*G2 把兩者相乘,H13 的總損失 =SUM(H2:H11) 就是輸出。I 欄是一般的算法,機率 × 最可能值,合計在 I13。沒有增益集函數。檔案儲存時 Occurs 為 0、Impact 等於最可能值,所以在模擬填入這些儲存格之前,H13 的總計在 Excel 裡顯示 0。
| 風險 | 機率 | 最小 | 最可能 | 最大 |
|---|---|---|---|---|
| 關鍵供應商無法供貨 | 10% | 200 | 400 | 900 |
| 法規變更 | 20% | 50 | 120 | 300 |
| 資安事件 | 5% | 300 | 800 | 2,500 |
| 關鍵人員離職 | 30% | 20 | 60 | 150 |
| 材料價格飆漲 | 40% | 30 | 80 | 200 |
| 專案超支 | 35% | 40 | 100 | 350 |
| 匯率波動 | 50% | 10 | 40 | 120 |
| 訴訟 | 8% | 100 | 250 | 1,200 |
| 廠房停工 | 12% | 80 | 200 | 600 |
| 需求不足 | 25% | 60 | 150 | 500 |
估算值留在登記冊裡
隨範例開啟的模擬設定沒有複製這些數字,而是讓每個參數指向登記冊的儲存格:第一項風險的機率是 =Register!B2,最小、最可能與最大分別是 =Register!C2、D2 與 E2,其餘各列依此類推。xellstorm 在每次執行前讀取這些儲存格一次,結果與直接輸入數字完全相同。在 Distributions 步驟,連結的欄位會顯示參照(例如 =B2)與讀到的值。
登記冊仍是存放估算值的唯一位置。要保留修改,請在 Results 步驟儲存專案檔(Save project),在 Excel 修改機率或影響金額,再用 xellstorm 開啟改好的 Excel 檔案,並套用專案檔(Workbook 步驟的 Open project file)。xellstorm 會提示這個檔案與儲存專案時的檔案不同,下次執行就會讀取新的數值。
機率 × 最可能影響會低估預期損失
彙總登記冊最常見的做法,是算預期貨幣價值(EMV):每項風險的機率乘以影響,再加總。採用最可能影響(如 I 欄),這份登記冊為 290.5;模擬的平均損失為 358.8,高出 23.5%。
差距來自偏態。最可能影響是眾數,也就是分配的峰值,不是平均值:最大值高於最可能值的幅度若大於最小值低於最可能值的幅度,平均值就較高。PERT 分配的平均值為 (最小 + 4 × 最可能 + 最大) / 6。「資安事件」風險最可能的成本是 800,但平均影響為 (300 + 4 × 800 + 2,500) / 6 = 1,000,所以預期損失是 50,不是 40。改用平均影響,EMV 為 358.7,與模擬結果(358.8)相符。
所以,正確計算的 EMV 就是平均損失。但平均值只是一個數字:損失遠高於平均的情況多常出現,它看不出來,而應變準備金正是要涵蓋這些結果。
結果
在 10,000 次模擬結果中,有 5.6% 完全沒有任何風險發生;其理論機率是 10 項風險各自 (1 − 機率) 的乘積,為 5.7%。這就是應用程式的百分位數表中 P1 與 P5 顯示為 0 的原因。一半的結果損失低於 267,比平均值 359 低:多數結果只涉及少數小型或中型風險,少數結果則同時出現大型風險,把平均值拉高。
| 機率 × 最可能影響的總和(I 欄) | 291 |
|---|---|
| 模擬總計的平均值 | 359 |
| 沒有任何風險發生的機率 | 5.6% |
| P50(一半的結果損失低於此值) | 267 |
| P80 | 541 |
| P95 | 1,028 |
| 最差 5% 的平均值(CVaR) | 1,436 |
| 模擬總計的最大值 | 3,069 |
| 損失超過 1,000 的機率 | 5.5% |
應變準備金為何要看最差的結果
任何準備金,在某些結果中都會不夠。問題是多常不夠、差多少:
| 準備金設定在 | 金額 | 損失更高的結果 |
|---|---|---|
| 機率 × 最可能值(I 欄) | 291 | 46.2% |
| 平均值(以平均影響計算的 EMV) | 359 | 36.6% |
| P80 | 541 | 20.0% |
| P90 | 772 | 10.0% |
| P95 | 1,028 | 5.0% |
| 最差 5% 的平均值(CVaR) | 1,436 | 2.0% |
準備金設在平均值(以平均影響算的 EMV),有 36.6% 的結果會用盡;設在 I 欄合計,則有 46.2%。要取哪個百分位數,是可接受多常用盡準備金的政策決定;P50、P80 與 P90說明這些百分位數。P95 是每 20 次結果有 1 次會超過的損失。
CVaR(條件風險值)回答下一個問題:損失超過 P95 時,會有多大?這裡最差 5% 的結果平均為 1,436,也就是超過 P95 的部分平均再多出 407。為不利的年度估準備金,或檢視保險限額時,要看的就是這個數字:限額設在平均值附近,只付得起一般結果的損失,大額損失沒有保障;而準備金就算設在 CVaR,仍有 2.0% 的結果會超出。
哪些風險構成最差的結果
平均值把損失分散到整份登記冊:每項風險占平均損失的比例,介於 5.8% 與 14.1% 之間。最差的結果就不同了。「資安事件」是登記冊中機率最低的風險(5%),卻出現在最差 5% 結果中的 70.4%,占這些結果損失的 57.7%,也就是 1,436 中的 829;相較之下,它占平均損失的比例為 14.1%。其次是「關鍵供應商無法供貨」,貢獻 155(10.8%)。最差的結果也是多項風險同時發生的結果:其中平均有 3.8 項風險發生,全部結果平均為 2.35 項。
| 風險 | 全部結果 | 最差 5% | 占最差 5% 的比例 |
|---|---|---|---|
| 資安事件 | 51 | 829 | 57.7% |
| 關鍵供應商無法供貨 | 45 | 155 | 10.8% |
| 訴訟 | 31 | 127 | 8.8% |
| 需求不足 | 49 | 80 | 5.6% |
| 專案超支 | 46 | 58 | 4.0% |
| 廠房停工 | 29 | 57 | 4.0% |
| 材料價格飆漲 | 37 | 43 | 3.0% |
| 法規變更 | 28 | 37 | 2.5% |
| 匯率波動 | 24 | 27 | 1.8% |
| 關鍵人員離職 | 21 | 25 | 1.7% |
| 全部 10 項風險 | 359 | 1,436 | 100% |
這個拆解是依試驗結果在本頁算出來的:Excel 結果檔的 Trials 工作表記錄每次試驗的輸入與總計,所以可以自己重現:對每項風險把 Occurs 乘以 Impact,再對最差 5% 的總計取平均。在應用程式裡,Results 下的變異貢獻度表依各輸入解釋整體離散程度的比例排序,「關鍵供應商無法供貨」的 Occurs 輸入(該風險是否發生)排第一,占 19.6%;請參閱敏感度分析。離散程度與最差的結果是兩個不同的問題。要決定準備金或保險限額,該看最差的結果:應用程式的最差結果面板,會拿最差 5%、10% 或 25% 試驗中的每個輸入,與全部試驗比較;Trial by trial 則能把任一輸入(例如某項風險的影響金額)與總計畫成圖。
親自試試
- 在 xellstorm 開啟模型。每項風險的 Occurs 與 Impact 儲存格是輸入,H13 的總計是輸出,損失超過 1,000 是目標;不必安裝,也不必註冊,Excel 檔案直接在瀏覽器計算。
- 執行:用相同的亂數種子與 10,000 次試驗,就會得到本頁的數字。Results 顯示平均值、損失超過 1,000 的機率、P90 與最差 5% 的平均值(CVaR);P80 與 P95 則在百分位數表的各列。
- 在機率欄位輸入自己的限額,就能看到損失超過它的頻率;也可把滑鼠移到 S 曲線上,讀出不超過任一金額的機率。
- 在 Distributions 步驟新增一個降低「資安事件」機率的情境,再執行一次,並在同一組亂數上比較各情境。
- 接著開啟自己的登記冊:把每項風險的發生設為 Bernoulli(白努利)輸入、影響設為 PERT,並輸入
=B2之類的參照,讓參數從登記冊的儲存格讀取。
只用 Excel 也做得到嗎?
做得到:用 RAND() 與資料表,就能在 Excel 建出同樣的模擬;Excel 蒙地卡羅模擬示範風險事件與 PERT 影響的公式。
常見問題
風險登記冊中的預期貨幣價值(EMV)是什麼?
預期貨幣價值,是每項風險的機率乘以影響,再對整份登記冊加總。用每項風險的平均影響來算,就等於預期損失,也就是模擬平均值所估計的數字(理論值為 358.7,模擬值為 358.8);用最可能影響來算(常見做法)則較低(290.5)。不管哪一種,它都只是平均值,看不出損失可能多大。
CVaR 是什麼?與 P95 有何不同?
CVaR(條件風險值,也稱預期短缺)是超過某個百分位數的結果的平均值,這裡是最差 5%。P95 是最差 5% 的起點,這份登記冊為 1,028;CVaR 則是它們平均有多糟,為 1,436。兩份登記冊的 P95 相同,只要其中一份含有罕見而極大的風險,CVaR 就可能相差甚遠。
為什麼損失的中位數低於平均值?
登記冊損失的中位數(267)低於平均值(359),因為總計呈右偏:多數結果只涉及少數小型或中型風險,少數結果則同時出現大型風險,把平均值拉高。在 5.6% 的結果中,完全沒有任何風險發生。
風險之間應該設定相關性嗎?
登記冊中的風險通常當成彼此獨立,本範例也是。若有些風險傾向同時發生,例如供應商故障與專案超支,可以在 xellstorm 為它們的 Occurs 輸入設定等級相關:每項風險仍保有自己的機率與影響,但較大的總計會更常出現,通常會使 P95 與 CVaR 上升。
如何測試緩解措施,例如讓某項風險較不容易發生的控制措施?
在 xellstorm 裡,緩解措施用情境來測試:在 Distributions 步驟新增一個改變該風險機率或影響範圍的情境,再執行一次。情境與基準情境用同一組亂數,所以平均值、P90 與超出目標機率的差異,來自這項變更,而不是亂數不同,需要的試驗次數也少得多。
相關內容
- 專案成本與時程
營建專案需要多少應變準備金?
實作範例:營建估算中各項最可能成本,有 94.2% 的模擬結果會超出。用蒙地卡羅模擬估出營建成本應變準備金。 - 指南
P50、P80、P90 是什麼意思?預算該採用哪一個
P80 是 80% 的模擬結果都不會超過的成本。營建專案 6 個成本項目的 P80 加總為 2,843,但這些項目加總後的 P80 是 2,756(單位:千美元)。 - 指南
龍捲風圖與敏感度分析詳解
龍捲風圖一次只移動一個輸入,xellstorm 預設從 P10 到 P90。以一份營建估算來說,有一項風險就讓成本變動 150(單位:千美元)。
xellstorm 是在瀏覽器中執行的 Excel 模型蒙地卡羅模擬工具:免裝增益集,Excel 檔案也不會離開您的電腦。