「プロジェクトは9月30日に完了します。」こうした言葉は確実そうに聞こえますが、実際にそうであることはありません。モンテカルロ・シミュレーションは、この見せかけの精度を誠実な表現に置き換えます。「80パーセントの確率で10月15日までに完了」。本ガイドでは、シミュレーションの仕組みと、それがなぜクリティカルパスに勝るのかを解説します。
見積もりとは、未来についての主張です。「5日」と言えば正確に聞こえますが、同じ作業が悪い日には8日かかり、良い日には3日で終わることを覆い隠しています。固定値で計画する人は、幻想で計画しているのです。モンテカルロ・シミュレーションはこの幻想を真剣に受け止め、ばらつきを平均でならすのではなく、計算に織り込みます。
モンテカルロ・シミュレーションとは
モンテカルロ・シミュレーションは、無作為サンプリングを繰り返すことで不確実性をモデル化します。「この作業は5日かかる」といった固定値で計算する代わりに、確率分布を用いてモデルを数千回実行します。各試行は、これらの分布から無作為な値を引き出します。最終的に残るのは単一の見積もりではなく、起こりうる結果の分布です。
これにより、核心となる表現が根本的に変わります。「プロジェクトは9月30日に完了します」が、「80パーセントの確率で10月15日までに完了します」になります。その違いは具体的です。前者は守れない約束です。後者は、発注者が実際に計画を立てられる表現です。
プロジェクト管理におけるモンテカルロ:ステップごとの流れ
プロジェクト管理において、シミュレーションは明確な流れに従います。個々のアクティビティから完成した確率曲線まで、ステップごとにたどっていきます。
ステップ1:各作業に幅を持たせる。 単一の数値ではなく、3つを見積もります。すべて順調に進む場合の楽観値(O)、通常の場合の最可能値(M)、つまずいた場合の悲観値(P)です。この3点からモデルは3点分布を構築します。大半の抽出は M の近くに集まり、両端はわずかです。さらに踏み込むなら、形状を意図的に選びます。PERT-ベータは M をより重く扱い、三角分布は粗いものの説明しやすいという特徴があります。
ステップ2:1回の試行が各期間をサイコロのように決める。 1回の試行は、アクティビティごとにその分布から無作為な期間をちょうど1つ引き出し、そこから起こりうるプロジェクト完了日を計算します。これは平均値ではなく、もっともらしい1つの未来、つまりプロジェクト全体に対する一度のサイコロ投げのような具体的なシナリオです。あるときは27日、あるときは31日になります。それ単体では、1回の試行が語ることはわずかです。多くのうちの1つにすぎません。
ステップ3:合計ではなく、ネットワークが決める。 期間は一本の線に沿って単純に足し合わされるわけではありません。ネットプランにおける依存関係が経路を決めます。そして、複数のパスが向かって合流するマイルストーンでは、平均ではなく最も遅いもの、すなわち最大値が効いてきます。これがパス収束です。個々のパスがたいてい予定どおりであっても、パスが1つ増えるたびに、少なくとも1つが遅れる確率は高まります。最も遅い走者がタイムを決めるリレーを思い浮かべてください。
ステップ4:10,000回の試行が確率を生む。 次に、このサイコロ投げをたとえば10,000回繰り返します。各試行が完了日を1つ示し、それらを合わせると先ほどの分布がちょうど得られます。納期を昇順に並べると累積 S カーブができ、そこから信頼水準を読み取ります。P80 とは単純に、シミュレーションした100の世界のうち80で、この日付までに完了するという意味です。ヒストグラムと S カーブは同じデータを2通りの視点で見たものです。最終的に納期を約束するときは、S カーブに依拠します。
なぜモンテカルロはクリティカルパスに勝るのか
まさにステップ3のパス収束が、従来のクリティカルパスがプロジェクト期間を体系的に過小評価する理由を説明します。クリティカルパスは固定された期間で計算し、最も長い系列だけを見ますが、複数のアクティビティが同時に狂う確率は考慮に入れません。そのため納期は、確定的な計画が示唆するよりも脆くなります。
トルネード図:感度分析
副次的な効果として、シミュレーションは感度分析をもたらします。トルネード図は、どのアクティビティが全体の不確実性に最も大きく寄与しているかを示します。これにより、リスク管理は、すべてを同時に見張るのではなく、どこに着手すべきかを把握できます。
不確実性を構成する3つの要素
シミュレーションを行う前に、考え方の枠組みを確認しておく価値があります。不確実性には3種類あり、これらは選択を迫られるモンテカルロの競合する方式ではありません。モデル化すべき3つの源であり、優れたモデルは3つすべてをカバーします。したがって問うべきは「どの方式を選ぶか」ではなく、「自分のプロジェクトにはどの不確実性が潜んでいて、それぞれをどう表すか」です。
ばらつき:日常的なばらつき
どのアクティビティも、あるときは長く、あるときは短くかかります。これがプラスマイナス X パーセントの帯であり、各アクティビティに分布を与える従来型のモンテカルロです。ここでは単一のつまみではなく、意図的にすべてのつまみを同時に回します。妙味は、多くの小さなばらつきがネットプランの論理を通じて積み上がり、パス収束の地点で増幅される点にあります。
イベントリスク:離散的なリスク事象
サプライヤーが脱落するか、しないか。リソースが病気になるか、ならないか。これは「期間プラスマイナス10パーセント」ではなく、「確率 p で事象 X が発生し、そのとき Y が Z 日ずれる」というものです。ここでは各値の周りに帯を設けるのではなく、少数の重要な箇所にオン/オフ スイッチを置きます。確率 p で事象が発生し、そうでなければ発生しません。
構造リスク:分岐と繰り返し
3つ目の源は、アクティビティの期間ではなく、そもそも計画どおりに進むかどうかという問いに潜んでいます。検収が不合格になることもあれば、許認可が却下され、検査の工程に通らないこともあります。そのときアクティビティは一度目で完了せず、手戻りループを引き起こします。すなわち、順調な計画にはまったく現れない追加のアクティビティです。イベントリスクが既存の期間を延ばすのに対し、構造リスクはネットプランそのものを変えてしまいます。
シミュレーションでは、これを確率的な分岐として表します。各試行において、確率 p の無作為なスイッチが、独自の期間分布を持つ繰り返しループを挿入するかどうかを決めます。10,000回の試行を通じて、これは分布の右側に2つ目の山として現れます。手戻りリスクの典型的な特徴です。順調な進行しか知らない計画は、まさにこうしたケースを見落とします。
最良のモデルは3つすべてを組み合わせます。すべてのアクティビティへの基礎的なばらつき、本当に何かが覆りうる箇所のいくつかの離散的なリスク・スイッチ、そしてアクティビティが失敗して手戻りを引き起こしうる箇所での分岐です。
相関:3つを束ねる枠
3つの構成要素が独立して働くことはまれであり、まさにそれを上の図の枠が示しています。悪天候は1つの屋外アクティビティだけを遅らせるのではなく、すべてを同時に遅らせます。手一杯になったサプライヤーは、1件だけでなくすべての発注に影響します。これが相関です。共通の要因が、同じ試行のなかで複数のアクティビティを同じ方向へ引っ張ります。
相関は4つ目の構成要素ではなく、3つを束ねる枠です。多くの小さなばらつきが互いに打ち消し合うのか、それとも増幅し合うのかを左右します。リスクを誤って独立とモデル化すると、ばらつきの幅を体系的に過小評価してしまいます。相関のない偏差は平均すると相殺されますが、相関のある偏差は相殺されないからです。実務では、これが現実的な P80 に対する最大のてことなることがよくあります。
モンテカルロ・シミュレーションの調整要素
「何をモデル化するか」という問いに加えて、実際に判断を下すべき軸がほかにもあります。
アクティビティごとの分布形状。 三角分布(O・M・P)はシンプルで直感的、説明にも最適です。PERT-ベータ分布は最可能期間をより重く扱い、なめらかに推移します。プロジェクト管理における事実上の標準であり、当社の推奨です。一様分布は、本当に最小値と最大値しか分からない場合に適しています。対数正規分布は、上方向に長い裾を持つ期間に向いています。作業が大幅に速くなることはまれですが、大幅に遅くなることはあるからです。
シミュレーションの対象指標。 最もよくある問いは納期(スケジュールリスク)、すなわちいつ完了するかです。それと並ぶのがコスト(コストリスク)、つまり最終的にプロジェクトがいくらかかるかです。両者は結びつけられます。遅延は追加コスト、たとえば違約金や保管費を生むからです。まさにこれが、納期と価格が対立するサプライヤー比較のような問いに答えます。
残るのは3つ目の軸です。これらの分布のための数値がそもそもどこから来るのか、すなわち入力の不確実性です。ここで、シミュレーションが信頼できるデータに立脚するのか、それとも勘に立脚するのかが決まります。
入力の不確実性がどこから来るか。 最も強固なのは経験データ、すなわち経験的頻度、たとえば納入履歴に基づくものです。それに加えて、データがない場合の専門家による見積もり、いわゆる古典的な O/M/P の推測があります。そして、Merlin Project の計画値と実績値の比較があります。Merlin はアクティビティごとに計画値と実績値を保持します。進行中のプロジェクトでは、典型的なばらつきを推測するのではなく、過去のアクティビティの差異から測定できます。こうしてシミュレーションは実際のプロジェクトデータから供給され、アクティビティを1つ完了するごとにより強固になります。
1つの高度な調整要素は、入門ガイドを過剰に重くするため、ここではあえて省きます。
- ラテン超方格サンプリング(Latin Hypercube Sampling)は値域をより均等にカバーし、それによって素朴な無作為サンプリングよりも速く収束します。Wikipedia の記事で分かりやすく解説されています。
理論から実践へ
これまでモンテカルロ・シミュレーションは手間がかかり、手作業で維持する3点見積もりとともに、専門ツールの領分にとどまっていました。Merlin Project の MCP サーバーを使えば、AI があなたのプロジェクトプランを直接読み取り、ひと声でシミュレーションを計算します。Claude に一文で、プランから10,000通りのプロジェクト推移をシミュレーションするよう頼むだけで、S カーブと P50・P80・P90 を解説付きで受け取れます。自前のデータ管理を伴う専門ツールが、Claude への一文になります。
それが具体的にどうなるのか、セットアップから例となるプロンプト、さらに2つの計算済みの事例まで、実践編で示します。Merlin Project と MCP サーバーでモンテカルロをシミュレーションする方法
プロジェクトにおける体系的なリスク管理がいかに有益かについては、Atlantic Systems Guild のモンテカルロ手法であるRiskologyに関する記事もご覧ください。
このブログ記事についてご質問やご意見がございましたら、ぜひフォーラムへのご投稿をお待ちしております。
よくある質問
モンテカルロ シミュレーションには何回の試行が必要ですか。
P50、P80、P90 の値を安定させるには、実務では 5,000 から 10,000 回の試行で十分なことがほとんどです。試行回数を増やすとカーブはさらに滑らかになりますが、結論はほとんど変わりません。
PERT ベータ分布と三角分布のどちらを使うべきですか。
三角分布は説明が最も簡単で、PERT ベータ分布は最頻値をより強く重み付けし、プロジェクトマネジメントの事実上の標準です。迷ったら PERT ベータ分布を選んでください。
P50、P80、P90 のどれを約束すべきですか。
P50 は五分五分の期日で、社内の計画向きです。社外への確実な約束には、リスク許容度や違約金に応じて P80 または P90 を伝えてください。
モンテカルロ法はクリティカルパスと何が違いますか。
クリティカルパスは固定された所要期間で計算し、パス収束のためにプロジェクト期間を体系的に過小評価します。モンテカルロ法はばらつきを織り込み、単一の期日ではなく確率を返します。
モンテカルロ シミュレーションに過去のデータは必要ですか。
いいえ。楽観値、最頻値、悲観値という専門家の見積もりから始められます。ただし Merlin Project などの実際の計画/実績データを使うと、シミュレーションははるかに信頼できるものになります。
アクティビティ間の相関を考慮する必要はありますか。
1つのリスクが複数のアクティビティを同時に襲う場合、例えば悪天候がすべての屋外作業に影響する場合は、はい。相関のない偏差は平均すると相殺されますが、相関のある偏差は相殺されません。相関を無視すると、ばらつきの幅、ひいては納期リスクを過小評価してしまいます。