ModelRisk example · General techniques
Risk Portfolio: The Central Limit Theorem Approximation
Can a register of 132 risks be added up without a simulation? The Central Limit Theorem against Monte Carlo.
From the model’s saved run
Contingency: simulation against the CLT
The total at the confidence level on the Inputs sheet, simulated and from a Normal with the same mean and standard deviation.
| Measure | Unit | Value |
|---|---|---|
| Mean of the total (exact) | US$m | 188.6 |
| Standard deviation of the total (exact) | US$m | 53.2 |
| Mean (simulated) | US$m | 187.3 |
| Standard deviation (simulated) | US$m | 52.3 |
| Contingency (simulated) | US$m | 256.9 |
| Contingency from the CLT | US$m | 256.8 |
| CLT minus simulation | US$m | −0.2 |
| Confidence level (Inputs sheet) | 90% |
S-curve (cumulative probability) of Simulated, CLT approximation (Normal) from the saved simulation.
The business question
A company's enterprise risk register has 132 risks. Most are small or unlikely; a few are large. Each has a probability and an impact distribution: PERT, triangle, modified PERT, lognormal or normal. The total impact is the sum of the risks that happen.
With so many independent risks, the Central Limit Theorem suggests that the total is approximately Normal, with a mean equal to the sum of the risks' means and a variance equal to the sum of their variances, and both can be written down without a simulation.
The model does both: it simulates the register, computes the Normal approximation, and compares their percentiles to show where the shortcut is good enough and where it is not.
- Who it is for
- Risk analysts, and anyone who has to explain why a risk register is simulated rather than added up.
- Main outputs
- The exact mean and standard deviation of the total · the contingency at the chosen confidence level by simulation and by the Normal approximation · their percentiles side by side · the skewness of the total and the risks that dominate it.
How the model works
Three sheets after this one, read from left to right. Each one feeds the next.
Inputs sheet
The confidence level at which the contingency is read: 90%, as in the original example.
Risks sheet
Each risk's impact distribution is a ModelRisk object, so VoseMean and VoseVariance give its exact mean and variance. A risk that happens with probability p has mean p × mean and variance p × variance + p(1 − p) × mean². Summed over the register they give the exact mean and variance of the total.
In every iteration VoseBernoulli decides whether each risk happens and VoseSimulate draws its impact from the object.
Results sheet
The contingency and the percentiles of the simulated total against those of a Normal distribution with the same mean and standard deviation; the skewness of the total; the risks that drive it.
ModelRisk techniques
Find similar models
- Product
- Type
- Application
- Uses
The results in detail
Percentiles compared
The simulated total against the Normal approximation, from the far left tail to the far right tail.
| Percentile | Simulated | CLT | CLT − simulated |
|---|---|---|---|
| P1 | 84.1 | 64.8 | −19.3 |
| P5 | 110.0 | 101.1 | −8.9 |
| P10 | 123.7 | 120.4 | −3.3 |
| P50 | 182.4 | 188.6 | 6.2 |
| P90 | 256.9 | 256.8 | −0.2 |
| P95 | 280.4 | 276.1 | −4.3 |
| P99 | 326.3 | 312.4 | −13.9 |
Why they differ
The CLT assumes a symmetric total made of many risks of similar size.
| Measure | Unit | Value |
|---|---|---|
| Skewness of the total (simulated; a Normal has 0) | 0.50 | |
| Largest single risk's share of the total variance | share | 21% |
Which risks dominate the total
The ten risks with the largest share of the total's variance: exact, from the Risks sheet, no simulation needed.
| Risk (ranked by its share of the variance) | Probability | Mean if it happens | Share of the variance | Cumulative |
|---|---|---|---|---|
| Risk 29 | 30.0% | 45.0 | 20.9% | 21% |
| Risk 45 | 40.0% | 33.7 | 14.4% | 35% |
| Risk 102 | 70.0% | 28.0 | 10.6% | 46% |
| Risk 94 | 20.0% | 26.0 | 5.1% | 51% |
| Risk 23 | 60.0% | 19.2 | 4.8% | 56% |
| Risk 40 | 60.0% | 17.5 | 3.7% | 59% |
| Risk 31 | 20.0% | 20.8 | 3.2% | 63% |
| Risk 85 | 40.0% | 16.6 | 3.0% | 66% |
| Risk 90 | 5.0% | 37.0 | 2.9% | 69% |
| Risk 97 | 5.0% | 35.0 | 2.6% | 71% |
How to read these results
- The Central Limit Theorem replaces the sum of 132 risk events by a Normal distribution with the same mean and standard deviation. It needs no simulation: two sums on the Risks sheet.
- Here it is close at the 90th percentile, within about 1%, but it underestimates the far right tail (about 5% low at the 99th percentile) and puts the median too high. The simulated total is skewed to the right; a Normal is symmetric.
- The theorem needs many risks of similar size. Here four risks carry half of the variance and the largest alone a fifth (the table above), so the total keeps some of their skew.
- The CLT is a good first estimate for a large register and a check on a simulation. Simulate when the tail matters, for example for a contingency at P95 or above, or when a few risks dominate.
See it move. Open the workbook, change an input on the Inputs sheet and run the simulation: every table and chart on this page updates in Excel.
Inputs and assumptions
Every assumption in the model, with its uncertainty and where it comes from. The figures are illustrative.
Contingency policy 1 input
The confidence level at which the contingency is read.
| Assumption | Unit | Value |
|---|---|---|
| Confidence level for the contingencyThe 90th percentile, as in the original example. | probability | 90% |
Units and conventions
- Money
- US$ million (US$m).
- Risk event
- A risk that happens with probability p: its impact is drawn from its distribution, and is 0 otherwise.
- CLT
- The Central Limit Theorem: the sum of many independent random variables is approximately Normal.
Key assumptions and limitations
- Independence
- The risks are independent. Both the sum of the variances and the Central Limit Theorem rely on it.
- Impact parameters
- Lognormal and normal impacts are given by their mean and standard deviation. The others by their minimum, most likely and maximum (and γ for the modified PERT).
- Data
- The register is invented for this example; it is that of ModelRisk's earlier CLT Risk Portfolio Approximation example.
How to use it
- Replace the register on the Risks sheet with your own risks: probability, distribution and parameters.
- To change a risk's distribution, rewrite its object, for example VoseTriangleObject(min, most likely, max).
- Run a simulation from the ModelRisk ribbon (10,000 samples with a fixed seed are set).
- Compare the percentiles: where the two differ by more than you can accept, simulate rather than add up.
ModelRisk functions used
- VosePERTObject, VoseTriangleObject, VoseModPERTObject, VoseLognormalObject, VoseNormalObject
- Each risk's impact distribution as an object.
- VoseMean, VoseVariance
- The exact mean and variance of each object.
- VoseBernoulli
- Whether each risk happens.
- VoseSimulate
- Draws each risk's impact from its object.
- VoseNormal
- The CLT approximation: a Normal with the total's mean and standard deviation. With its U argument it returns a percentile instead of a random value.
- VoseInput, VoseOutput
- Name each risk's impact and the two totals for the Results Viewer.
- VoseSimMean, VoseSimStdev, VoseSimPercentile, VoseSimSkewness
- Statistics of the simulation.
Further reading
- How to calculate cost contingency (Vose guide)
- Vose, D. (2008). Risk Analysis: A Quantitative Guide, 3rd edition. Wiley: sums of random variables and the Central Limit Theorem.
Download the workbook and run it yourself. It opens in Excel with ModelRisk. The free trial runs every example model.
Related example models
- ModelRisk★★★★★Bayesian Model AveragingWhen the data cannot tell which model is right, keep them all, weighted by how well each fits.Fitting several candidate models and mixing them by how well each explains the data; three kinds of model.
- ModelRisk★★★★★Extremes of Many Random VariablesThe largest and the smallest of 10,000 independent values, without sampling all 10,000.Sampling the largest or smallest of thousands of values directly, checked against the exact formula and against sampling them one by one.
- ModelRisk★★★★★From a Survey to Probabilities: an Election1,027 voters asked: how sure can we be who wins, and which alliance wins?The Dirichlet distribution turns survey counts into uncertain shares; questions become simple 1/0 outputs.
An illustrative example: the figures are invented for teaching and do not describe a real company, project or asset. Last updated 9 October 2026.