Monte Carlo Forecasting
Monte Carlo Forecasting is a statistical technique used in project management to model uncertainty and predict project outcomes by simulating multiple scenarios.
Monte Carlo Forecasting is the specific simulation technique that implements Probabilistic Forecasting by running a large number of randomized trials, each constructed from randomly resampled historical throughput or cycle time data, to build the distribution of possible future outcomes a probabilistic forecast is expressed through. Where probabilistic forecasting describes the general goal of expressing a forecast as a range of outcomes with associated likelihoods, Monte Carlo forecasting is the concrete computational method most commonly used to actually generate that range from a team's historical data.
The Origin and Core Idea of the Technique
Borrowed From Simulation-Based Estimation in Other Fields
The Monte Carlo method, originally developed for estimating outcomes in physical and mathematical systems too complex to solve analytically, applies the same core idea to agile delivery forecasting: rather than attempting to calculate an exact answer through a single formula, the technique instead runs many randomized simulations and observes the pattern of outcomes those simulations produce.
Simulating Many Possible Futures From One Historical Record
Each individual simulation run represents one possible way the future could unfold, constructed by randomly drawing from the team's actual historical delivery data, and running thousands of these simulations produces a large set of plausible futures whose collective pattern reveals which outcomes are common and which are rare.
The Two Primary Forms of Monte Carlo Forecast
Forecasting a Completion Date for a Fixed Amount of Work
One form of the simulation answers the question of when a known, fixed quantity of work is likely to be finished, running each simulated trial by randomly drawing daily or iteration-level throughput values from history and accumulating them until the required amount of work has been simulated as complete, recording the elapsed time for that trial.
Forecasting How Much Work Will Be Completed by a Fixed Date
The second form instead answers how much work is likely to be completed by a specific future date, running each trial by accumulating randomly drawn historical throughput values up to that fixed date and recording the total amount of work completed within that trial, which is the complementary question to the first form.
The Simulation Procedure in Detail
Step One: Assembling the Historical Sample
The procedure begins with a dataset of historical throughput values, typically one value per day or per short period, drawn from a window of the team's recent performance chosen according to the same considerations discussed under Historical Data Based Forecasting.
Step Two: Running a Single Trial
For each individual trial, the simulation randomly draws values from this historical sample, with replacement, meaning any given historical value can be drawn more than once within a single trial or across different trials, and accumulates these draws sequentially until either the target scope is reached or the target date arrives, depending on which form of the forecast is being run.
Step Three: Repeating Across Many Trials
This single-trial process is repeated a large number of times, commonly ten thousand or more, with each trial's outcome, whether an elapsed duration or a completed quantity, recorded separately, building up the full set of results that together form the forecast's distribution.
Step Four: Summarizing the Distribution
Once all trials are complete, the individual results are sorted and summarized into percentiles, the same percentile-based communication approach introduced under Probabilistic Forecasting, converting the raw simulation output into a form suitable for practical decision-making.
Here, is the total number of simulated trials and is the desired percentile expressed as a fraction, so the fiftieth percentile corresponds to the trial result found at the midpoint of the sorted list of outcomes.
A Single Simulated Trial Illustrated
Running this same process thousands of times, each time drawing a different random sequence of historical values, produces thousands of recorded durations that together form the distribution from which forecast percentiles are derived.
Practical Considerations for Sound Simulation
Choosing an Adequate Number of Trials
A larger number of simulated trials produces a more stable and reliable distribution, and while a very small number of trials can produce a percentile estimate that shifts noticeably if the simulation is rerun, a sufficiently large trial count, generally in the thousands, stabilizes the resulting percentiles to the point that rerunning the simulation produces essentially consistent results.
Sampling With Replacement to Preserve Historical Variability
Drawing historical values with replacement, rather than exhausting the historical sample before repeating values, is essential to the method, since it allows the simulation to fully reflect the range of variability present in the underlying historical data across a large number of trials, rather than being artificially constrained by the finite length of the original historical record.
Ensuring Historical Independence Between Sampled Periods
The technique assumes that consecutive historical values are reasonably independent of one another, an assumption that can be undermined if the underlying process exhibits strong sequential patterns, such as a recurring weekly cycle, in which case the historical data may need to be structured or sampled in a way that respects that pattern rather than treated as fully independent.
Common Pitfalls
Running Too Few Trials for Stable Results
Basing a forecast on a small number of simulated trials, such as only a few hundred, can produce percentile estimates that vary meaningfully each time the simulation is rerun, undermining confidence in the specific numbers reported.
Drawing From an Unrepresentative Historical Sample
Feeding the simulation historical data that spans a period of significantly different team composition or process, without adjustment, produces a distribution that does not genuinely reflect the conditions the team expects to operate under during the forecast period.
Presenting Simulation Output as Deterministic
Communicating a Monte Carlo forecast's percentile output as though it were a guaranteed date undermines the entire purpose of the technique, which is specifically to represent a range of plausible outcomes rather than to produce a single certain answer.