To ensure the successful completion of a project, it is of utmost importance for the project manager to find ways to handle uncertainties that can pose potential risks for a project. Risk management is an iterative process. Risks can relate to any aspect of the project – be it the cost, schedule, or quality. The key to managing risks is to identify them early on in the project and develop an appropriate risk response plan.
To develop a Risk Response Plan, you need to quantify the impact of risks on the project. This process is known as quantitative risk analysis wherein risks are categorized as high or low priority risks depending on the quantum of their impact on the project. The Project Management Body of Knowledge (PMBOK) advocates the use of Monte Carlo analysis for performing quantitative risk analysis.
What is Monte Carlo Analysis?
Monte Carlo analysis involves determining the impact of the identified risks by running simulations to identify the range of possible outcomes for a number of scenarios. A random sampling is performed by using uncertain risk variable inputs to generate the range of outcomes with a confidence measure for each outcome. This is typically done by establishing a mathematical model and then running simulations using this model to estimate the impact of project risks. This technique helps in forecasting the likely outcome of an event and thereby helps in making informed project decisions.
While managing a project, you would have faced numerous situations where you have a list of potential risks for the project, but you have no clue of their possible impact on the project. To solve this problem, you can consider the worstcase scenario by summing up the maximum expected values for all the variables. Similarly, you can calculate the bestcase scenario. You can now use the Monte Carlo analysis and run simulations to generate the most likely outcome for the event. In most situations, you will come across a bellshaped normal distribution pattern for the possible outcomes.
Let us try to understand this with the help of an example. Suppose you are managing a project involving creation of an eLearning module. The creation of the eLearning module comprises of three tasks: writing content, creating graphics, and integrating the multimedia elements. Based on prior experience or other expert knowledge, you determine the best case, mostlikely, and worstcase estimates for each of these activities as given below:
Tasks  Bestcase estimate  Most likely estimate  Worstcase estimate 
Writing content  4 days  6 days  8 days 
Creating graphics  5 days  7 days  9 days 
Multimedia integration  2 days  4 days  6 days 
Total duration  11 days  17 days  23 days 
The Monte Carlo simulation randomly selects the input values for the different tasks to generate the possible outcomes. Let us assume that the simulation is run 500 times. From the above table, we can see that the project can be completed anywhere between 11 to 23 days. When the Monte Carlo simulation runs are performed, we can analyse the percentage of times each duration outcome between 11 and 23 is obtained. The following table depicts the outcome of a possible Monte Carlo simulation:
Total Project Duration  Number of times the simulation result was less than or equal to the Total Project Duration  Percentage of simulation runs where the result was less than or equal to the Total Project Duration 
11  5  1% 
12  20  4% 
13  75  15% 
14  90  18% 
15  125  25% 
16  140  28% 
17  165  33% 
18  275  55% 
19  440  88% 
20  475  95% 
21  490  98% 
22  495  99% 
23  500  100% 
This can be shown graphically in the following manner:
What the above table and chart suggest is, for example, that the likelihood of completing the project in 17 days or less is 33%. Similarly, the likelihood of completing the project in 19 days or less is 88%, etc. Note the importance of verifying the possibility of completing the project in 17 days, as this, according to the Most Likely estimates, was the time you would expect the project to take. Given the above analysis, it looks much more likely that the project will end up taking anywhere between 19 – 20 days.
Benefits of Using Monte Carlo Analysis
Whenever you face a complex estimation or forecasting situation that involves a high degree of complexity and uncertainty, it is best advised to use the Monte Carlo simulation to analyze the likelihood of meeting your objectives, given your project risk factors, as determined by your schedule risk profile. It is very effective as it is based on evaluation of data numerically and there is no guesswork involved. The key benefits of using the Monte Carlo analysis are listed below:
 It is an easy method for arriving at the likely outcome for an uncertain event and an associated confidence limit for the outcome. The only prerequisites are that you should identify the range limits and the correlation with other variables.
 It is a useful technique for easing decisionmaking based on numerical data to back your decision.
 Monte Carlo simulations are typically useful while analyzing cost and schedule. With the help of the Monte Carlo analysis, you can add the cost and schedule risk event to your forecasting model with a greater level of confidence.
 You can also use the Monte Carlo analysis to find the likelihood of meeting your project milestones and intermediate goals.
Now that you are aware of the Monte Carlo analysis and its benefits, let us look at the steps that need to be performed while analysing data using the Monte Carlo simulation.
Monte Carlo Analysis: Steps
The series of steps followed in the Monte Carlo analysis are listed below:
 Identify the key project risk variables.
 Identify the range limits for these project variables.
 Specify probability weights for this range of values.
 Establish the relationships for the correlated variables.
 Perform simulation runs based on the identified variables and the correlations.
 Statistically analyze the results of the simulation run.
Each of the above listed steps of the Monte Carlo simulation is detailed below:

Identification of the key project risk variables: A risk variable is a parameter which is critical to the success of the project and a slight variation in its outcome might have a negative impact on the project. The project risk variables are typically isolated using the sensitivity and uncertainty analysis.
Sensitivity analysis is used for determining the most critical variables in a project. To identify the most critical variables in the project, all the variables are subjected to a fixed deviation and the outcome is analysed. The variables that have the greatest impact on the outcome of the project are isolated as the key project risk variables. However, sensitivity analysis in itself might give some misleading results as it does not take into consideration the realistic nature of the projected change on a specific variable. Therefore it is important to perform uncertainty analysis in conjunction with the sensitivity analysis.
Uncertainty analysis involves establishing the suitability of a result and it helps in verifying the fitness or validity of a particular variable. A project variable causing high impact on the overall project might be insignificant if the probability of its occurrence is extremely low. Therefore it is important to perform uncertainty analysis.
 Identification of the range limits for the project variables: This process involves defining the maximum and minimum values for each identified project risk variable. If you have historical data available with you, this can be an easier task. You simply need to organize the available data in the form of a frequency distribution by grouping the number of occurrences at consecutive value intervals. In situations where you do not have exhaustive historical data, you need to rely on expert judgement to determine the most likely values.

Specification of probability weights for the established range of values: The next step involves allocating the probability of occurrence for the project risk variable. To do so, multivalue probability distributions are deployed. Some commonly used probability distributions for analyzing risks are normal distribution, uniform distribution, triangular distribution, and step distribution. The normal, uniform, and triangular distributions are even distributions and establish the probability symmetrically within the defined range with varying concentration towards the centre. Various types of commonly used probability distributions are depicted in the diagrams below:
 Establishing the relationships for the correlated variables: The next step involves defining the correlation between the project risk variables. Correlation is the relationship between two or more variables wherein a change in one variable induces a simultaneous change in the other. In the Monte Carlo simulation, input values for the project risk variables are randomly selected to execute the simulation runs. Therefore, if certain risk variable inputs are generated that violate the correlation between the variables, the output is likely to be off the expected value. It is therefore very important to establish the correlation between variables and then accordingly apply constraints to the simulation runs to ensure that the random selection of the inputs does not violate the defined correlation. This is done by specifying a correlation coefficient that defines the relationship between two or more variables. When the simulation rounds are performed by the computer, the specification of a correlation coefficient ensures that the relationship specified is adhered to without any violations.
 Performing Simulation Runs: The next step involves performing simulation runs. This is typically done using a simulation software and ideally 500 – 1000 simulation runs constitute a good sample size. While executing the simulation runs, random values of risk variables are selected with the specified probability distribution and correlations.
 Statistical Analysis of the Simulation Results: Each simulation run represents the probability of occurrence of a risk event. A cumulative probability distribution of all the simulation runs is plotted and it can be used to interpret the probability for the result of the project being above or below a specific value. This cumulative probability distribution can be used to assess the overall project risk.
Summary
Monte Carlo simulation is a valuable technique for analyzing risks, specifically those related to cost and schedule. The fact that it is based on numeric data gathered by running multiple simulations adds even greater value to this technique. It also helps in removing any kind of project bias regarding the selection of alternatives while planning for risks. While running the Monte Carlo simulation, it is advisable to seek active participation of the key project decisionmakers and stakeholders, specifically while agreeing on the range values of the project risk variables and the probability distribution patterns to be used. This will go a long way in building stakeholder confidence in your overall riskhandling capability for the project. Moreover, this serves as a good opportunity to make them aware of the entire risk management planning being done for the project.
Though there are numerous benefits of the Monte Carlo simulation, the reliability of the outputs depends on the accuracy of the range values and the correlation patterns, if any, that you have specified during the simulation. Therefore, you should practice extreme caution while identifying the correlations and specifying the range values. Else, the entire effort will go waste and you will not get accurate results.
Pingback: Shim Marom
Pingback: Shim Marom
Pingback: Chuck Graham
Pingback: Shim Marom
Pingback: lmau
Pingback: lmau
Hi Shim,
Thanks for providing the analysis of my Project Plan. As a bit of a MS Project Guru, it was interesting to get an understanding of the benefits of Monte Carlo against a project plan I was familiar with. Wow, now I am a believer of the power of MonteCarlo for Project Analysts!
I see it’s main strengths for complex plans are:
~ Confirming your plan’s overall logic is correct and that there are no errors in dependencies of tasks (these errors will be exacebated through Monte Carlo)
~ Provides an excellent way of identifying the true crtical path. The one that was shown, was not what I expected
~Can identify weaknesses or gaps in the project plan.
While the report is great for us Program/Project Managers, is there a way to deliver a more user friendly version that can be used for senior stakeholders, who do not understand PM concepts? One that can outline the risks in a more visual form. I am thinking of using this as a tool to obtain buy in for change of scope (ie more resources, extended timeframe or more $). What are your thoughts?
Regards
Leon
Hi Shim,
Thank You so much for this example, I am currently working on a project for my numerical analysis class but I am having some difficulties generating my random numbers. I do end up generating random variables, but my numbers do not correlate as effectively as yours. I would like to know what software you used, as I am using matlab.
Thank You
Thanks for you query. The software I was using is Primavera Monte Carlo risk analysis tool.
Pingback: How to determine a confidence level in your project schedule  Part Three »
Pingback: How to determine a confidence level in your project schedule  Part Two »
Thx for the detailed explanation.
Pingback: Econometric analysis for project risk management? : Projectation
Pingback: Earned Value Management Revisited: The unknown past and future of this useful technique : Projectation
I finally understand, in a practical manner, how to execute MC simulations. However, do you have any practical examples of specifying correlation coefficients for defined risk variables?
Hi Leon, thanks for your comment. Unfortunately I am not a statistician myself and would normally rely on SME’s working on my projects.
Pingback: What Is The Definition Of Managing Risk In Projects  Video Vault
Hi Shim,
Thanks for the post. In your example you run the simulation 500 times. What would be the rule of thumb for the number of runs?
Hi Sam, frankly, I’m not really sure. I’ve relied on advise given to me but people with statistical knowledge superior to mine.
Hello Shim,
Thank you, this is really helpful to understand the concept of Monte Carlo simulation. I’ve seen you mentioned about using primavera to perform the Monte Carlo Simulation. Is That possible?? If yes, can you briefly explain?? Thank you for the time and consideration,
Hello Shim,
Very interesting article. We are also using Monte Carlo simulations in order to simulate projects and we are using real project data. We were wondering what your approach was on adding the different simulated durations for each activities to find the total project duration and date of finish.
Of course, you need to take into account the predecessorfollower relationships, but do you just add these simulated times behind each other (so as early as possible), or do you also take into account slack that could occur between activities? As it is possible that two activities in parallel are completed according to the simulation and the next task is ready to start. However, in real life it sometimes still takes some days to start a new activity (even though it could perfectly have started already). We want our simulations to approach reality as well as possible.
Concrete:
– Should we just add the simulated times and add them together as early as possible? (network relationships are taken into account of course)
OR
– Should we take into account that slack can occur between a completed activity and the activity that follows behind? And should we look at different starting dates for these activities?
Thanks in advance