Go to the calculator →
This page in other languages: Español ·English ·Français ·Italiano ·Português

How to read a Monte Carlo uncertainty analysis

Updated 2026 · 7 min read

A calculation returns a number. But that number comes from data that are not known exactly: an EES estimated by eye from a photograph, a kerb weight taken from a spec sheet that does not distinguish trim levels, a friction coefficient picked off a table. The question that decides a report is not what the figure is, but how far it can move. That is what this is about.

Why a single number is not an answer

If a vehicle's EES could be anywhere between 7.2 and 8.8, the result of the calculation is not 16.7 km/h. It is «somewhere around 16.7 km/h», and what has to be established is how far around. An expert who states 16.7 and nothing else is claiming a precision the underlying data do not support, and that falls apart the moment the other side asks where the EES came from.

The honest output is not a number: it is an interval with its assumptions in plain sight.

What you ask it for

You tick the variables you do not know with certainty and give each one a margin: from and to. Anything left unticked stays fixed at the value entered.

Uniform or normal

What it actually does

Ten thousand times over:

  1. Draw a value for each ticked variable, all of them at once.
  2. Run the full calculation with that combination.
  3. Store the result.

At the end it sorts the ten thousand results from lowest to highest. There is no more statistics to it than that: it is brute force, and its virtue is that it need not assume the model is linear or the output normal.

Combinations that give no physically valid result — a negative deceleration, the root of a negative number — are discarded and counted separately. If many are discarded, the margins are pushing the model outside its domain and need revisiting.

How it differs from the sensitivity table

This is the most common confusion, and the two answer different questions:

Sensitivity tableMonte Carlo
What movesone variable, the rest held stillall of them at once
What it answerswhat if I got this one wronghow far the result can move overall
What it producesa handful of rowsa full distribution and its percentiles

The second is the real situation in a case file: uncertainty in the EES and uncertainty in the mass do not take turns, they coexist. And the two tools can disagree about which variable dominates, because an influence can be masked or amplified depending on how the others move.

How to read the result

median central 95% · 9,500 of 10,000 tail tail how many simulations landed in each bin
Each bar counts how many of the 10,000 simulations landed in that bin. The band marks the central 95% and the dotted line the median. What lies outside the band are the tails: possible results, but unlikely ones.

The large figure is the median, not the mean: half the simulations came out below it and half above. Below it come the intervals, and they are read by counting simulations:

These are empirical percentiles, counted over the valid simulations. They do not come from any error-propagation formula and do not assume the output is normal.

Mean, standard deviation and the skewness warning

If the mean and the median coincide, the distribution is symmetric and the result can be written as mean ± standard deviation. When they separate, the calculator says so — and then it must not be written that way: a mean ± sigma band over a skewed distribution does not cover the percentage it claims. Percentiles remain valid in both cases, which is why they are always given.

The histogram is what lets you see this at a glance: a symmetric bell, a long tail to one side, or two humps. The third means the model is jumping between two different regimes, and that has to be understood before anything is stated.

Which variable dominates

The table underneath measures, over those same simulations, how much each input decides each output when all of them are moving together. It is a rank correlation, and it runs from −1 to +1:

-1-0.500.5+1 Kerb A −0.50Kerb B +0.07EES A +0.58EES B +0.79 this up, that down decides nothing this up, that up rank correlation between one input and one output
A real example from a rear-end impact. The two EES values dominate the impact speed; the kerb weights decide nothing in that same output. The sign matters: the struck vehicle's kerb weight scores −0.50 against its own Delta-V — the heavier it is, the less Delta-V it takes.

It reads like this:

And that is where the practical value lies: it tells you where the effort is worth spending. If impact speed is decided by the EES values and the masses score near zero, chasing the exact kerb weight will not narrow the interval by a single km/h; going back to the damage photographs will.

The signs also work as a check. In a two-vehicle collision, each kerb weight has opposite signs against the two Delta-V values: if one is heavier it takes less change of speed and the other takes more. That this comes out cleanly is a sign the model is behaving.

What this method does not do

Important

The interval that comes out does not measure the accuracy of the method. It is the arithmetic consequence of the declared margins. If the true EES could be anywhere between 6 and 10 and 7.2 to 8.8 were declared, the resulting interval is falsely narrow. Monte Carlo propagates uncertainty; it does not validate it.

Nor does it correct a bias in the model. If the method systematically overestimates by 7%, all ten thousand simulations will overestimate by that same 7% just as reliably. Uncertainty in the data and error in the method are two different things, and a serious report states them separately.

How to state it in a report

The interval is always given together with the assumptions that produced it, so that whoever reads it can judge it:

Example wording

Impact speed of vehicle A: 16.7 km/h (95% interval: 15.4 – 17.9 km/h). Obtained by Monte Carlo simulation with 10,000 iterations, assuming a uniform distribution of the EES between 7.2 and 8.8 for both vehicles and of the kerb weights within a ±10% margin. The interval reflects the declared uncertainty of the input data; it does not incorporate the error of the method itself.

Written that way the interval is defensible: it says where it comes from, what it covers and what it does not. An interval without its assumptions is just another number, and one of the ones that stands up worst to a question.

Open the calculator →

Frequently asked questions

What is a Monte Carlo analysis in accident reconstruction?
It is a method for finding out how much the result of a calculation can move when the input data are not known exactly. You declare a margin for each uncertain variable, the calculation is repeated thousands of times drawing all of them at once, and instead of a single number you get the full distribution of possible results, from which the percentiles are taken.
How is it different from a sensitivity table?
A sensitivity table moves one variable and holds the others still, so it answers «what happens if I got this one wrong». Monte Carlo moves them all at once, which is the real situation in a case file: uncertainty in the EES and uncertainty in the mass exist at the same time. On the same data the two can disagree about which variable dominates.
Which interval should be stated in an expert report?
The central 95%, always together with the input margins it came from. An interval without its assumptions cannot be interpreted: its width is a direct consequence of the declared margins, not a measure of the accuracy of the method.
Can I write the result as mean ± standard deviation?
Only if the output distribution is symmetric. When the median moves away from the mean the calculator warns you: in that case mean ± sigma bands do not cover the percentage they claim, and percentiles must be given instead. Reconstruction models are not linear, so the output can be skewed even when every input is symmetric.
How many iterations are needed?
With 10,000 the central percentiles are already stable between runs. Raising the number sharpens the tails — the central 99% and the extremes — but does not appreciably change the median or the 95%. If two consecutive runs give noticeably different intervals, the problem is not the iteration count: it is the margins.

Other guides