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
- Uniform: every value inside the interval is equally likely. This is the more cautious position and the sensible default: you are saying «I have no idea where within this range it falls». It produces wider output intervals.
- Normal: the interval is read as the central 95% of a bell curve, from which the mean and the standard deviation used for the draw are derived. Choose it when there is a real reason to think the centre is more likely than the extremes — a measurement repeated several times, for instance. It produces narrower intervals, which is exactly why it has to be justifiable.
What it actually does
Ten thousand times over:
- Draw a value for each ticked variable, all of them at once.
- Run the full calculation with that combination.
- 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 table | Monte Carlo | |
|---|---|---|
| What moves | one variable, the rest held still | all of them at once |
| What it answers | what if I got this one wrong | how far the result can move overall |
| What it produces | a handful of rows | a 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
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:
- Central 68%: 6,800 of the 10,000 landed there.
- Central 95%: 9,500 landed there. This is the one to state in a report.
- Central 99%: 9,900 landed there. Useful for answering «and in the worst case?».
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:
It reads like this:
- Near +1: when that input goes up, that output almost always goes up.
- Near −1: when it goes up, the output goes down.
- Near 0: that variable does not decide that output. Refining its measurement would not narrow the result.
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
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:
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.
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.