Decision analysis

Which risks are worth buying down?

RunMonteCarlo team · 8 min read

Every risk register has more lines than the project has money to mitigate. So the real question is never "what could go wrong" — it's which risks are worth spending money to reduce, and which you should simply carry. Most teams answer that by gut feel, or by whatever the tornado chart happened to put at the top. There is a sharper answer, and it comes from decision analysis: the expected value of information.

The idea, in one sentence

The expected value of information (EVI) on a risk is how much better your decision gets once you know how that risk actually turns out — averaged over everything you don't yet know. Rob Brown and Max Henrion's team at Analytica put it cleanly: it is "the increase in value due to making your decision after you learn the value of X, taking the expectation over your current uncertainty in X" (Analytica, "Estimation of the EVI using Monte Carlo").

Translate that into schedule risk terms. Buying down a risk — a survey to de-risk ground conditions, an early procurement order to remove a lead-time threat, a second crew to protect a merge point — costs money now and changes the finish distribution later. The mitigation is worth doing only if the shift it buys in your P80 is worth more than it costs. EVI is the tool that ranks your risks by exactly that shift.

Why the tornado chart isn't enough

A tornado chart is a local sensitivity: it wiggles one input while holding everything else at its base value, and reports the swing. That's useful, but it quietly assumes the rest of the world sits still — which in a correlated, merge-heavy schedule it never does. EVI is a global measure: it averages a risk's effect across the full joint distribution of everything else, so a risk that only bites when two other things also go wrong still gets credit for it. As the Analytica team note, this is what separates EVI from "simpler methods (tornado charts, range sensitivity)" that assume the other variables remain fixed.

The practical consequence: the risk at the top of your tornado is not always the risk most worth mitigating. A wide-range risk sitting on a path with 200 days of float moves your tornado bar but not your finish date. EVI won't be fooled — it prices the risk by its effect on the decision, which for a schedule is the committed completion date and the contingency behind it.

How Monte Carlo estimates it

You don't need a closed form. EVI falls straight out of the same simulation you already run for the P80:

  1. Run the model with every risk live — that's your baseline finish distribution and its P80.
  2. For the risk you're testing, imagine it resolved — split the runs by how that risk landed, and let the project respond optimally within each branch (e.g. you'd hold less contingency in the futures where the risk didn't fire).
  3. The gap between the informed decision and the blind one, averaged over the risk's own probability, is its EVI.

Historically people assumed this was computationally hopeless. It isn't. The Analytica analysis shows simulation-based EVI "is quite practical" on modern hardware, and that "relatively modest sample sizes (100–1000) typically suffice for meaningful sensitivity guidance." For a schedule model already running thousands of Latin Hypercube iterations, the marginal cost of ranking risks this way is small.

What RunMonteCarlo already gives you

RunMonteCarlo is built around this decision, even where it doesn't use the acronym. Its risk-driver and criticality outputs rank each risk and activity by how much it actually drives the simulated finish — not by raw range, but by contribution to the tail you're committing to. Its criticality index tells you which near-critical branches take turns setting the date, so you mitigate the merge point rather than the loudest line item. Read together, they are an EVI-style ranking: spend your mitigation budget top-down that list, and stop when the next buy-down no longer shifts the P80 enough to pay for itself.

What to do with this on Monday

You can produce that ranking on your own schedule in a few minutes — import a P6 or MS Project file, build the register, run it, and read the drivers.

References

  1. Analytica (Lumina Decision Systems), "Estimation of the EVI using Monte Carlo," analytica.com. Source of the EVI definition, the global-vs-local sensitivity distinction, and the Monte-Carlo estimation counts and sample-size guidance quoted above.
  2. R. A. Howard, "Information Value Theory," IEEE Transactions on Systems Science and Cybernetics, SSC-2(1), 22–26, 1966 — the origin of expected value of information.
  3. AACE International, Recommended Practice 57R-09, Integrated Cost and Schedule Risk Analysis Using Monte Carlo Simulation of a CPM Model — risk-driver ranking in schedule risk practice.

See which risks actually move your date.

RunMonteCarlo ranks every risk and activity by its contribution to the simulated finish — so you buy down the ones that pay for themselves. Free tier included; your schedule never leaves your machine.

Launch RunMonteCarlo →
Latin Hypercube≈ 1 / N2× the iterations

The honest caveat — and why schedule risk sidesteps it

Latin Hypercube's edge is largest when a few inputs dominate the output. When many variables contribute roughly equally, their independent errors partly cancel on their own, and the stratification advantage narrows — David Vose's nine-input test is the classic demonstration that with enough equally-weighted drivers, LHS and plain MC converge (Risk Analysis: A Quantitative Guide).

Here is the thing: schedule risk is almost never the equal-weight case. A project's completion distribution is driven by the handful of activities on and near the critical path. Everything else has float and contributes almost nothing to the finish date. That is the exact regime — a few dominant drivers — where Latin Hypercube pays the most. The property that makes hand methods fail (only a few paths matter, and they shift under risk — see merge bias) is the same property that makes LHS shine.

"But my durations are correlated"

They should be — trades share weather, crews and productivity, and pretending otherwise understates the tail. A fair worry is whether stratifying each input separately breaks the correlation structure. It doesn't. Latin Hypercube composes cleanly with correlation: you stratify the marginals, then impose the dependency by reordering the samples to hit a target rank correlation — the Iman & Conover method (1982) — or, equivalently, drive the strata through a copula. RunMonteCarlo uses a Gaussian copula for correlation and still stratifies underneath it, so you get correlated and well-covered durations at once. Details are on The Maths.

Isn't stratifying slower?

Effectively no. The one-time cost is turning a uniform draw into a value on your distribution — the inverse CDF. For the Normal that has no closed form, but Acklam's rational approximation computes it to machine precision in a few multiplications, so an LHS draw costs about the same as a plain one. And in a schedule model the sampling is a rounding error next to the real work: re-solving the CPM network over thousands of iterations. You get the variance reduction essentially for free. RunMonteCarlo already cites Acklam's inverse-normal in The Maths for precisely this reason.

How RunMonteCarlo implements it

Latin Hypercube isn't a buried expert option in RunMonteCarlo — it's how the engine samples by default, and it's the same seeded, reproducible pipeline the rest of the tool runs on: