Monte Carlo simulation

From CEOpedia

Monte Carlo simulation is a computational technique that uses repeated random sampling to obtain probability distributions of possible outcomes, enabling quantitative analysis of uncertainty and risk in complex systems (Metropolis N., Ulam S. 1949, p.335)[1]. The project might finish in 8 months or 14 months. Costs might run $2 million or $4 million. Rather than pretending you know the answer, Monte Carlo simulation runs the math thousands of times with different input values, producing a distribution of possible outcomes. You can then say there's a 90% chance of finishing within 12 months, or a 75% chance of staying under $3 million.

Stanisław Ulam developed the method while recovering from illness in 1946, pondering the probability of winning solitaire. He realized that rather than calculating combinatorics, he could simply play many games and count wins. Working with John von Neumann on nuclear weapons research at Los Alamos, they formalized the technique. The name "Monte Carlo" referenced Ulam's uncle's gambling at the famous casino—appropriate given the method's reliance on random sampling.

How it works

Monte Carlo simulation follows a systematic process:

Define inputs

Identify uncertain variables. What inputs to the model are uncertain? Project duration might range from 6 to 12 weeks. Material costs might vary by ±15%[2].

Specify probability distributions. What is the likely range and shape of each uncertain variable? Normal distributions work for some; triangular or uniform for others.

Build the model

Mathematical relationships. How do inputs combine to produce outputs? Total cost equals labor hours times wage rate plus materials plus overhead.

Deterministic structure. The model itself is deterministic—given specific inputs, it produces specific outputs.

Run simulations

Random sampling. The computer selects random values for each uncertain input according to its probability distribution[3].

Calculate outcome. The model computes the output for that set of input values.

Repeat. This process runs thousands or tens of thousands of times, each iteration using different random input values.

Analyze results

Output distribution. The simulation produces a probability distribution of possible outcomes rather than a single point estimate.

Statistics. Calculate mean, standard deviation, percentiles, and probability of exceeding thresholds.

Applications

Monte Carlo simulation serves diverse purposes:

Project management

Schedule risk. Estimate probability of completing by deadline given uncertain task durations[4].

Cost risk. Determine likelihood of staying within budget when cost elements are uncertain.

Contingency planning. Calculate appropriate reserves based on risk analysis.

Financial analysis

Portfolio risk. Model how portfolios perform under various market conditions.

Option pricing. Value complex derivatives where analytical solutions don't exist.

Credit risk. Estimate potential losses from loan defaults across portfolios[5].

Engineering

Reliability analysis. Estimate system failure probability when component lifetimes are uncertain.

Design optimization. Understand how manufacturing variability affects performance.

Business planning

Demand forecasting. Model revenue under different demand scenarios.

Capacity planning. Determine facility requirements given demand uncertainty.

Advantages

Monte Carlo offers benefits over deterministic analysis:

Captures uncertainty. Rather than single-point estimates, it provides probability distributions of outcomes[6].

Handles complexity. Works with models too complex for analytical solutions.

Identifies risk drivers. Sensitivity analysis reveals which inputs most affect output variability.

Communicates risk. Probability statements are more informative than single estimates.

Limitations

The technique has constraints:

Garbage in, garbage out. Results depend entirely on input distributions. Poor estimates produce meaningless output.

Computational intensity. Complex models with many iterations require significant processing time[7].

Correlation challenges. Modeling dependencies between uncertain variables adds complexity.

False precision. Detailed output statistics may suggest more accuracy than inputs warrant.

Implementation

Running Monte Carlo simulations requires:

Software. Spreadsheet add-ins like @RISK and Crystal Ball, or programming languages like Python and R with appropriate libraries.

Iterations. Typically 1,000 to 100,000 iterations, depending on precision requirements and computational constraints[8].

Convergence checking. Verify that adding more iterations doesn't significantly change results.

Documentation. Record assumptions, distributions, and model logic for audit and revision.


Monte Carlo simulationrecommended articles
Risk analysisStatistical analysisProject risk managementDecision analysis

References

Footnotes

  1. Metropolis N., Ulam S. (1949), The Monte Carlo Method, p.335
  2. Vose D. (2008), Risk Analysis, pp.45-62
  3. Glasserman P. (2003), Monte Carlo Methods, pp.34-56
  4. PMI (2019), Risk Management Standard
  5. Glasserman P. (2003), Monte Carlo Methods, pp.89-112
  6. Vose D. (2008), Risk Analysis, pp.78-94
  7. Metropolis N., Ulam S. (1949), The Monte Carlo Method, pp.338-340
  8. PMI (2019), Iteration Requirements

Author: Sławomir Wawak