モンテカルロスケジューリングとは?確率的手法でプロジェクト納期を予測する
モンテカルロスケジューリングは、タスク期間の不確実性をシミュレーションで分析し、プロジェクト完了日の確率分布を算出する手法です。P50/P80/P90の読み方と実践ステップを解説します。
モンテカルロスケジューリングとは
モンテカルロスケジューリングとは、プロジェクトの各タスク期間に確率分布を設定し、数千回のシミュレーションを実行することで、プロジェクト完了日の確率分布を算出する定量的リスク分析手法です。
従来のCPM(クリティカルパス法)は各タスクの期間を単一の値(確定値)として扱います。しかし現実のプロジェクトでは、タスクの所要時間は不確実性を伴います。PMBOKでも、複数の並行パスを持つプロジェクトではCPMやPERTが完了日を過小評価する傾向があると指摘されています。
モンテカルロ法はこの限界を克服します。各タスクの期間を「楽観値・最頻値・悲観値」の三角分布で定義し、乱数を用いて数千回のスケジュール計算を繰り返します。その結果、「80%の確率で○月○日までに完了する」といった確率的な予測が可能になります。
構成要素
モンテカルロスケジューリングは、入力データの準備、シミュレーション実行、結果分析の3段階で構成されます。
入力データ
スケジュールの基盤となる3つの入力が必要です。タスク間の依存関係(先行・後続関係)、各タスク期間の確率分布(三角分布やベータ分布)、そしてリスクイベントの定義(発生確率と影響度)です。
シミュレーション実行
各反復(イテレーション)で、確率分布から乱数を生成してタスク期間を決定し、スケジュール全体を計算します。通常1,000〜10,000回の反復を行い、統計的に有意な結果を得ます。
分析結果
シミュレーション結果は累積確率分布(S字カーブ)として表現されます。P50(50%確率での完了日)、P80、P90などの指標が得られるほか、感度分析によりスケジュールに最も影響するタスクやリスクを特定できます。
実践的な使い方
ステップ1: スケジュールモデルの構築
まずCPMベースのスケジュールを作成します。WBSに基づきタスクを定義し、依存関係を設定してください。このスケジュールモデルの品質がシミュレーション結果の信頼性を左右します。リソース制約も考慮に入れると精度が向上します。
ステップ2: 確率分布の設定
各タスクに対して期間の確率分布を設定します。三角分布が最も一般的で、楽観値(最短)、最頻値(最もありえる値)、悲観値(最長)の3点を指定します。過去のプロジェクトデータがあれば参考にし、なければ担当者へのインタビューで見積もります。
ステップ3: リスクイベントの定義
スケジュールに影響を与えるリスクイベントを定義します。各リスクに発生確率と、発生時のタスク期間への影響(日数の増加など)を設定します。リスクレジスタの上位リスクを対象にすると効率的です。
ステップ4: シミュレーションの実行と結果解釈
シミュレーションを実行し、S字カーブを確認します。P50は「半分の確率で達成できる日付」であり、コミットメントに使うにはリスクが高い値です。P80(80%の確率で達成できる日付)を計画上のターゲットとする実務が多く見られます。
ステップ5: 感度分析とバッファ設定
トルネードチャートで各タスクの感度(完了日への影響度)を確認します。影響度の高いタスクに対してリスク対策やバッファを重点配置します。クリティカリティ指数(各タスクがクリティカルパスに乗る確率)も併せて確認してください。
活用場面
大規模プロジェクトの納期交渉では、S字カーブを用いて「この納期で完了する確率は○%」と定量的な根拠を示せます。顧客やステークホルダーとの合意形成に有効です。
バッファの最適化では、プロジェクト全体のバッファをどこにどれだけ配置すべきかを、感度分析の結果に基づいて判断できます。経験則ではなくデータに基づくバッファ管理が可能になります。
入札・提案段階のリスク評価では、コスト見積りと併せてスケジュールリスクを定量化し、予備費やコンティンジェンシーの妥当性を検証します。
進行中プロジェクトの予測更新では、実績データを反映してシミュレーションを再実行し、完了日の予測を随時更新します。
注意点
シミュレーションの精度は入力データの品質に依存します。「ゴミを入れればゴミが出る(GIGO)」の原則は変わりません。確率分布の設定が楽観的すぎる場合、シミュレーション結果も楽観的になります。
タスク間の相関関係を無視すると、結果にバイアスが生じます。同じリソースが担当するタスクは遅延が連動する傾向があるため、相関の設定も検討してください。
ツールの選定も重要です。Primavera Risk AnalysisやCrystal Ball、@Riskなどの専用ツールが利用できます。Excelでも簡易的なシミュレーションは可能ですが、タスク依存関係の再計算が複雑になる点に留意してください。
まとめ
モンテカルロスケジューリングは、プロジェクトスケジュールの不確実性を確率的に分析し、現実的な納期予測を提供する手法です。単一の確定的なスケジュールではなく、確率分布に基づく幅のある予測を示すことで、リスクを踏まえた意思決定を支援します。
参考資料
- Basics of Monte Carlo Simulation Risk Identification - PMI(モンテカルロシミュレーションの基礎と適用方法)
- Project Schedule Risk Analysis - PMI(スケジュールリスク分析におけるシミュレーションの活用)
- Schedule Risk Analysis (QSRA): Guide to Monte Carlo - IQRM(定量的スケジュールリスク分析の包括的ガイド)