A risk model earns its keep the moment evidence arrives. Inference is how you turn “the ground survey came back poor” into a revised number for “we overrun”.
Chapter 1 built a model of what drives project uncertainty. But a static model is a museum piece. The value comes when something happens — a leading indicator trips, a milestone slips, a test fails — and you need to know what that means for the outcomes you care about. Inference is the computation that answers it: given the evidence you’ve observed, what is the probability of the query you’re worried about?
1The question inference answers
Formally you want a conditional probability like P(cost overrun | poor ground, subcontractor late). The model already contains everything needed to compute it — the answer is implied by the network — but reading it off requires summing over all the factors you haven’t observed and don’t directly care about. Those unobserved variables have to be “summed out”, and how you do that efficiently is the whole game.
2Exact inference — and its ceiling
The exact approach, variable elimination, is disciplined bookkeeping: eliminate the unwanted variables one at a time, in a sensible order, multiplying and summing the relevant tables and reusing partial results instead of recomputing them. Done well it is exact and often fast. A related technique, belief propagation, passes “messages” between neighbouring nodes until the whole network agrees.
There is a hard limit, though. The cost of exact inference is governed by how tangled the network is — how much everything connects to everything. For loosely connected models it’s cheap; for densely interlinked ones the work explodes, and in the general case exact inference is provably intractable. Real project models, with feedback and shared drivers, often live on the wrong side of that line.
3When exact fails: estimate by simulation
When you can’t compute the answer, you can sample it. Monte Carlo methods run the model forward thousands of times — each run a plausible synthetic project consistent with the model — and simply count how often the thing you’re asking about occurs. The fraction is your estimate; more runs, tighter estimate.
- Direct sampling draws whole scenarios from the model. Simple, but wasteful when your evidence is rare, since most scenarios won’t match it.
- Likelihood weighting fixes the observed values in place and weights each sample by how consistent it is, so every run counts.
- Gibbs sampling (a Markov-chain method) walks from one configuration to a neighbouring one, gradually producing samples that converge to the correct distribution even for awkward, highly-coupled models.
If you have ever run a quantitative schedule or cost risk simulation and read off “P80 = 14 weeks”, you have already done inference by sampling. The tool ran the network forward across thousands of iterations and counted.
Exact inference reads the answer straight from the model when the model is simple enough; simulation estimates the same answer by brute force when it isn’t. Both compute the identical quantity — a probability, updated for what you now know.
| Situation | Approach | Why |
|---|---|---|
| Small, loosely-connected model | Exact (variable elimination) | Fast and precise; no sampling error |
| Dense model, rare evidence | Likelihood weighting | Every sample respects the evidence |
| Highly coupled, feedback-heavy | Gibbs / MCMC | Converges where direct methods stall |
| Continuous, roughly linear | Gaussian (closed form) | Exact update via linear algebra |
Treat every leading indicator as evidence to feed back into the model, not just a line item to note. When a driver fires, inference tells you how much your downstream exposure actually moved — the difference between reacting to noise and reacting to a genuine shift. And when your model is too interconnected for a clean answer, don’t abandon it: simulate it. A number with a stated confidence beats an adjective every time.
