Concept Explainer

Monte Carlo Simulation Explained

Monte Carlo simulation swaps uncertain inputs for random draws and reads the spread of outcomes instead of one number. We ran the convergence benchmark ourselves: ten times the iterations buys 3.16 times the accuracy, not ten. Plus the exam-sized simulation that returns the wrong decision.

Statistics 8 min read Updated Aug 2026

Monte Carlo simulation replaces every uncertain input in a model with a random draw from a probability distribution, runs the model thousands of times, and reads the spread of results instead of a single answer. Nicholas Metropolis and Stanislaw Ulam published the first description in the September 1949 Journal of the American Statistical Association, written out of neutron diffusion work at Los Alamos.

First Published
1949
Metropolis & Ulam, JASA 44
Gain per 10× draws
3.16×
Accuracy, not 10×
Error at 1M draws
0.0015
Mean absolute, π benchmark

What Is Monte Carlo Simulation?

The method answers a different question from the one most students expect. It does not find the best decision. It reports what happens to a decision you have already chosen when the inputs refuse to sit still.

That distinction decides which exam question you are looking at.

Optimisation searches. Simulation evaluates. A problem asking for the best price, the shortest route, or maximum profit wants Solver. A problem asking for the probability that profit falls below zero wants simulation.

The loop has four steps. Build the model. Assign a distribution to each uncertain input. Draw one value per input and record the output. Repeat until the output distribution stops moving.

Ulam arrived at the idea in 1946 while recovering from illness at Los Alamos. Playing solitaire, he asked what fraction of 52-card deals come out successfully. Combinatorics defeated him. Dealing hands and counting them did not.

How Does the Sampling Actually Work?

Every draw starts with one number between 0 and 1. In Excel that is RAND(). The number means nothing on its own. It becomes a value only after you push it through the inverse of a cumulative distribution.

That step is inverse-transform sampling. It sits behind almost every draw you will ever make.

Distribution Excel draw NumPy draw
Uniform (a, b) =a+(b-a)*RAND() rng.uniform(a, b, n)
Normal (μ, σ) =NORM.INV(RAND(),μ,σ) rng.normal(μ, σ, n)
Discrete table =MATCH(RAND(),cum_col,1) rng.choice(vals, n, p=probs)
Triangular (a, c, b) No native function rng.triangular(a, c, b, n)
Triangular is the gap most course briefs ignore: build its inverse CDF by hand in Excel. Source: Microsoft Excel function reference and NumPy Generator API, August 2026.

The discrete case is where marks disappear. Build a cumulative probability column, give each outcome the half-open interval running from the previous total to its own, then read which interval contains the random number.

A random number sitting exactly on a cutoff belongs to the interval above it.

Distribution choice matters more than iteration count. A model with a defensible Normal and 1,000 draws beats a model with a guessed Uniform and 100,000. If the shapes are unfamiliar, the probability study guide covers which distribution fits which kind of uncertainty.

Can Excel Do This Without Add-ons?

Yes, and the common objection is a decade out of date. Microsoft's own documentation states that RAND() has used the Mersenne Twister algorithm MT19937 since Excel 2010, the same generator that R, Stata and MATLAB use by default.

The real constraint sits elsewhere. RAND() cannot be seeded.

That makes an Excel Monte Carlo irreproducible. Press F9 and every figure changes, including the one quoted in your written conclusion. Seeded output needs the Analysis ToolPak generator or VBA, and few course briefs say so.

EXCEL RAND()
MT19937
Since Excel 2010 · cannot be seeded · volatile on every recalculation
NUMPY DEFAULT_RNG
PCG64
Default since NumPy 1.17 · seeded in one argument · fully reproducible

For a coursework model of a few thousand trials, Excel is enough. Build one trial across a single row, drag it down, then summarise the output column with AVERAGE, STDEV.S and a COUNTIF for the threshold probability the question asks about.

How Many Iterations Do You Need?

Monte Carlo error shrinks with the square root of the sample size, not with the sample size. Ten times the iterations buys roughly 3.16 times the accuracy. Most explainers skip the number and simply say ten thousand.

We ran the standard benchmark to show the shape. Estimate π by scattering random points across a unit square and counting how many land inside the quarter circle, with 500 independent replications at each sample size.

Draws Mean abs error Theoretical SE Gain vs row above
100 0.1304 0.1642
1,000 0.0421 0.0519 3.1×
10,000 0.0131 0.0164 3.2×
100,000 0.0041 0.0052 3.2×
1,000,000 0.0015 0.0016 2.7×
Measured error tracks √n at every scale. The final row used 100 replications rather than 500, so its 2.7× reading is noisier than the rows above it. Source: AskSia calculation, seeded PCG64 generator, August 2026.

The theoretical column is 4·√(p(1−p)/n) with p = π/4. Nothing exotic is happening. The measured error simply obeys it.

Turn that into a working rule. Pick your tolerance first, then solve for n. Guessing 10,000 usually works, but it never tells you when 10,000 was not enough.

Where Does It Show Up in Coursework?

Three subject families own the method. Finance uses it for value-at-risk and option pricing where closed-form solutions run out. Operations uses it for queueing and inventory. Project management uses it on schedule and cost risk, which is why it appears alongside PERT and critical path in units like Monash FIT5057 Project Management.

AskSia is a study agent built for the moment a method looks obvious in the lecture and collapses in the tutorial. Its AI tutor will re-explain one sampling step three different ways until one version lands, and its Concept Map shows where simulation branches away from optimisation inside a decision-analytics syllabus, which is the distinction most exam mistakes trace back to.

From AskSia's Online Library
The MGMT90280 Managerial Decision Analytics Course Bible at the University of Melbourne places Monte Carlo simulation as Chapter 5 of 10, and records something the textbooks leave out: it is one of five compulsory 20-mark questions in the final, and it almost always arrives as a single-server queue or inventory model built from Excel sampling formulas. The engine examiners mark is start = max(arrival, previous departure). The recurring loss of marks is adding service time to the arrival time rather than to the later of arrival and previous departure. The Bible sits inside the wider AskSia library of course-level study guides.

That detail changes how you revise. If the exam version is a hand-built table of four to six customers, drilling 10,000-iteration Excel models is the wrong preparation. Mock Exam mode reproduces the format that is actually assessed, which is a short trace under time pressure with supplied random numbers.

When Does the Method Mislead You?

Take that same bank teller question. Service time follows Uniform(2, 8) minutes, inter-arrival times average 4 minutes, and the manager adds a second teller only if average waiting time passes 3 minutes. Four customers, hand-simulated, is the exam-sized version.

We ran it at scale instead. The answer reverses.

Customers Mean avg wait P(wait > 3 min) Decision returned
4 (exam size) 1.96 min 0.229 Do not hire
25 13.08 min 0.991 Hire
100 50.23 min 1.000 Hire
1,000 500.75 min 1.000 Hire
10,000 5,011.20 min 1.000 Hire
2,000 replications per row up to n = 1,000, then 200. The four-customer trace recommends the wrong decision 77% of the time. Source: AskSia calculation, seeded PCG64 generator, August 2026.

The reason is structural, not statistical noise. Mean service time is 5 minutes against a mean arrival gap of 4, so utilisation sits at 1.25. The queue never reaches a steady state. Average wait grows without bound, roughly half a minute per additional customer.

A short run hides that completely. It reports a small number because the queue has not had time to build.

The second failure mode is quieter. A simulation inherits every assumption in the distributions you chose, and no iteration count repairs a distribution picked because it was convenient. Modelling a fat-tailed loss as Normal produces beautifully converged, confidently wrong tail probabilities. The risk management study guide works through where that assumption breaks in finance settings.

Frequently Asked Questions

What is Monte Carlo simulation in simple words?

It is guessing on purpose, thousands of times, and reading the pattern in the guesses. Instead of entering one estimate for an uncertain quantity like next quarter's demand, you enter the whole range it might take along with how likely each part of that range is. The computer picks one value at random from that range, calculates the result, records it, and starts again. After 10,000 rounds you hold 10,000 possible outcomes. From those you can read the average, the spread, and the probability of any specific outcome you care about, such as running out of stock or missing a deadline. The 1949 Metropolis and Ulam paper described exactly this, applied to neutron diffusion rather than demand. Start by writing down the range and shape for each uncertain input in your model, since that step, not the arithmetic, is where accuracy is decided.

Can Excel do a Monte Carlo simulation?

Yes, with no add-in. Microsoft's documentation confirms RAND() has used the Mersenne Twister MT19937 generator since Excel 2010, which is the same algorithm behind R and Stata. Build one complete trial across a single row, drag it down for as many trials as you need, then summarise the output column with AVERAGE, STDEV.S, PERCENTILE.INC and COUNTIF for threshold probabilities. Ten thousand rows recalculates comfortably on a laptop. Two limits matter. RAND() cannot be seeded, so nobody can reproduce your exact figures, and it is volatile, meaning every recalculation replaces the numbers you just wrote into your report. Paste your summary statistics as values before writing anything about them. For a walkthrough of building the trial row itself, AskSia's Excel homework help covers the formula structure step by step.

Can ChatGPT run a Monte Carlo simulation?

Only by writing and executing code. Asked to produce random samples directly in its own text output, a language model is not a random number generator. A 2026 study on arXiv (2601.05414) tested 11 models across a range of distributions using two protocols. Generating 1,000 samples inside one response produced a median pass rate of 7% on statistical validity. Under 1,000 independent stateless calls, 10 of the 11 models passed none of the distributions tested. Sampling fidelity also got worse as the number of samples grew. The practical implication is direct: if a model prints a list of "random" values without running code, treat those values as invented. Ask it to write Python or spreadsheet formulas and execute them, then check that the output distribution matches what you specified.

How accurate is Monte Carlo simulation?

Accuracy improves with the square root of the number of draws, so ten times the iterations gives about 3.16 times the precision. Our π benchmark measured a mean absolute error of 0.1304 at 100 draws and 0.0015 at 1,000,000, tracking the theoretical standard error at every step. That is the easy half of the answer. The harder half is that convergence measures only sampling noise, not whether the model is right. In our teller queue, four simulated customers gave an average wait of 1.96 minutes and recommended against hiring, while the same model at 10,000 customers gave 5,011 minutes and recommended the opposite. The model was unstable from the start, with utilisation at 1.25. Before trusting any output, check that mean service capacity exceeds mean demand.

How many iterations does a Monte Carlo simulation need?

Set your tolerance first, then solve for n rather than defaulting to a round number. The standard error of a simulated mean is σ/√n, where σ is the standard deviation of your output. If you need the mean within 1% and the output has a coefficient of variation near 0.5, roughly 2,500 draws will get you there. A more variable output, or a tail probability rather than a mean, needs considerably more. Tail estimates are the expensive case: estimating a 1-in-100 event to reasonable precision means observing hundreds of those events, which pushes you toward tens of thousands of iterations. A practical check is to run the simulation twice with different seeds and compare. If the two answers differ by more than your tolerance, raise n and repeat until they agree.

Where Should You Stop Trusting It?

Monte Carlo tells you what a model does under uncertainty. It has nothing to say about whether the model resembles the world, and a converged answer from a badly specified model looks identical to a converged answer from a good one.

That is the honest limit of the method.

Report the assumption alongside the number. State the distributions you chose, the iteration count, and the utilisation or stability check where one applies. Examiners and reviewers weight that disclosure more heavily than a tighter confidence interval.

Recommended

Study faster with AskSia

Turn course materials into clear notes, practice questions, and review plans.

Try AskSia