Stop guessing delivery dates. Use your team's historical performance data to forecast likely completion dates with confidence levels—not averages or guesswork.
Monte Carlo simulation is a technique that uses randomness to model uncertainty. Instead of producing a single estimate — which is almost always wrong — it runs thousands of simulated futures based on your team's real historical performance, then shows you the full range of likely outcomes.
The name comes from the Monte Carlo Casino in Monaco. Just like a casino uses probability to understand outcomes across thousands of bets, we use probability to understand outcomes across thousands of simulated cycles.
Enter your team's past throughput or velocity — how many items or story points you completed per sprint or cycle.
The tool randomly samples from your historical data over and over, simulating thousands of possible futures — fast, slow, and everything in between.
Results show you what's likely at 50%, 60%, 85%, and 95% confidence — so you can make decisions that match your actual risk tolerance.
Two tools, two different questions. Both powered by the same Monte Carlo engine.
Given your remaining backlog and historical throughput, when will your team finish? Get probabilistic completion dates at multiple confidence levels.
Given a fixed time window, how much can your team realistically complete? Useful for sprint planning, PI planning, and capacity conversations.
A minimum of 6–8 completed iterations is recommended for meaningful results, though 12–20 provides a much more reliable forecast because it captures more of your team's natural variability.
If your team has changed significantly (new members, major process changes, or a different way of working), consider using only recent history that reflects how the team operates today.
85% confidence means that in 85 out of 100 simulated futures, your team finished by that date. It's a good target for internal planning commitments.
95% confidence is more conservative — use it for hard external deadlines, contractual dates, or anywhere the cost of being late is high.
The risk factor models uncertainty by randomly reducing throughput or velocity during each simulated iteration.
For example, a 20% Risk Factor allows each simulated cycle to lose up to 20% of its sampled throughput. This helps account for uncertainty that isn't reflected in your historical data, such as holidays, onboarding, unexpected production issues, dependencies, or competing priorities.
It's best used sparingly to represent known sources of risk—not as a substitute for good historical data.
Averages hide variability. If your team completes 8, 20, 10, and 18 items across four sprints, the average is 14 — but that number never actually happened. Monte Carlo uses the full distribution of your historical data, including the slow sprints, to give you a realistic picture of what's likely rather than what's mathematically average.
Run a new forecast whenever new historical data becomes available—typically at the end of each sprint or iteration.
When sharing results, communicate a range of likely completion dates instead of a single target. For example: "We're approximately 85% confident we'll finish by May 12 based on the information we have today."
This helps stakeholders understand uncertainty and encourages conversations about acceptable levels of risk rather than treating a single date as a guarantee.
Keep in mind that forecasts naturally change over time. As work is completed, scope changes, or new historical data is added, projected completion dates will shift. Treat every forecast as a snapshot of what is most likely based on what is known today.
Monte Carlo forecasting is probabilistic, meaning each simulation randomly samples from your historical data. Small differences between runs are normal.
Larger changes usually occur because the amount of remaining work changed, new historical data was added, or simulation settings (such as Risk Factor) were adjusted.
No.
All computation runs entirely in your browser. Nothing is sent to any server. Your inputs are saved only to your browser's localStorage so they persist between sessions on the same device.