Monte Carlo Tolerance Analysis: When Simulation Beats Formulas
Monte Carlo simulation uses random sampling to predict how tolerances stack up in real assemblies. It handles non-normal distributions and complex interactions that WC and RSS formulas cannot. This guide explains when MC adds value and when simpler methods suffice.
Worst-Case
All tolerances at limits.
RSS
Assumes normal distribution.
Monte Carlo
Simulates real variation.
What Is Monte Carlo Simulation?
Monte Carlo simulation randomly samples each dimension thousands of times, respecting the specified distribution (normal, uniform, or triangular). Each "virtual assembly" produces one stack-up result. After many iterations, you get a histogram of probable outcomes.
Unlike WC (which assumes worst possible alignment) or RSS (which assumes normal distributions and independence), Monte Carlo can model:
- Non-normal distributions — Uniform, triangular, or skewed
- Asymmetric tolerances — +0.1/−0.05 treated correctly
- Process capability data — Use actual Cpk values
- Correlated dimensions — Parts from the same lot
When to Use Monte Carlo
Choose Monte Carlo when:
- Distributions are non-normal — Machined parts often follow uniform distribution within tolerance; injection-molded parts may be skewed
- RSS gives marginal pass — MC can validate or refute the RSS prediction with higher confidence
- Tolerances are asymmetric — RSS assumes symmetric ±t; MC handles +0.2/−0.1 correctly
- You need defect rate estimates — MC directly counts how many simulated assemblies fail spec
- Stakeholders want visual evidence — Histograms are more intuitive than Cpk numbers
📊 MC Advantage: Real Defect Counts
RSS tells you the ±3σ range. Monte Carlo tells you "47 out of 10,000 assemblies failed USL." That's 0.47% yield loss — a number manufacturing and quality teams can act on.
When NOT to Use Monte Carlo
Stick with WC or RSS when:
- All tolerances are symmetric and normally distributed — RSS is faster and gives the same answer
- WC already passes — If worst-case analysis shows compliance, no simulation needed
- Low production volume — Statistics don't apply to 10-unit prototypes
- You lack distribution data — Garbage in, garbage out. Unknown distributions default to normal anyway
Monte Carlo vs. RSS: A Comparison
| Factor | RSS | Monte Carlo |
|---|---|---|
| Speed | Instant (formula) | ~1 second (10K iterations) |
| Distribution assumption | Normal only | Any (normal, uniform, triangular) |
| Asymmetric tolerances | Approximated | Handled exactly |
| Output | ±3σ range, Cpk | Full histogram, percentiles, defect count |
| When useful | Quick estimates, normal processes | Complex stacks, non-normal, validation |
How Monte Carlo Works
Step 1: Define Each Dimension's Distribution
For each dimension, specify:
- Nominal value — The target dimension
- Tolerance — +/− limits (can be asymmetric)
- Distribution type — Normal, uniform, or triangular
- Process sigma (σ) — From Cpk or measured data
Step 2: Run Thousands of Virtual Assemblies
For each iteration (typically 10,000+):
- Generate a random value for each dimension from its distribution
- Sum or subtract per the stack direction
- Record the assembly result
Step 3: Analyze the Results
The simulation produces:
- Mean — Average stack-up result
- Standard deviation — Spread of results
- Percentiles — P1, P5, P50, P95, P99
- Histogram — Visual distribution of outcomes
- Defect rate — Percent outside LSL/USL
Distribution Types Explained
Normal Distribution
Bell curve centered on nominal. Most parts near target, few at limits. Use when process is in statistical control with Cpk ≥ 1.0. This is the default assumption and matches RSS theory.
Uniform Distribution
Equal probability across entire tolerance range. Use for machined parts with tight tolerance bands, or when you lack process data and want conservative estimates. Produces wider predicted variation than normal.
Triangular Distribution
Peak at nominal with linear fall-off to limits. Middle ground between normal and uniform. Use when parts cluster toward nominal but don't follow a perfect bell curve — common in well-controlled but not SPC-monitored processes.
Interpreting Monte Carlo Results
Reading the Histogram
The histogram shows how stack-up results are distributed. Look for:
- Center position — Is the mean where you expect?
- Spread — How wide is the distribution?
- Tails — Do any results exceed spec limits?
- Shape — Normal, skewed, or bimodal?
Key Percentiles
- P1 / P99 — 98% of assemblies fall between these
- P5 / P95 — 90% of assemblies fall between these
- P50 — Median result (half above, half below)
Practical Example
Consider a 5-dimension stack with mixed distributions:
| Dimension | Nominal | Tolerance | Distribution |
|---|---|---|---|
| Housing | 100.00 | ±0.15 | Normal (Cpk 1.33) |
| Bearing OD | 50.00 | ±0.02 | Normal (Cpk 1.67) |
| Shaft | 49.95 | +0.00/−0.03 | Uniform |
| Spacer | 25.00 | ±0.10 | Triangular |
| Cover | 25.00 | ±0.08 | Normal (Cpk 1.0) |
RSS would assume all distributions are normal. Monte Carlo respects the uniform shaft and triangular spacer, giving more accurate predictions for this mixed-process assembly.
Common Mistakes
Too Few Iterations
1,000 iterations might miss rare events. Use 10,000+ for production decisions, 50,000+ if you need PPM-level defect estimates in the tails.
Wrong Distribution Choice
Don't guess distributions. If you don't have process data, use normal (matches RSS) or uniform (conservative). Triangular is rarely the right default.
Ignoring Process Capability
A dimension with ±0.1mm tolerance and Cpk 2.0 has much less actual variation than one with Cpk 1.0. Monte Carlo should use process sigma (σ = tolerance / 3×Cpk), not just tolerance limits.
Summary: Decision Guide
| Situation | Recommended Method |
|---|---|
| Quick estimate, normal processes | RSS |
| Safety-critical, 100% conformance needed | Worst-Case |
| Mixed distributions (machined + molded) | Monte Carlo |
| RSS shows marginal pass | Monte Carlo (validation) |
| Need PPM defect estimate | Monte Carlo |
| Stakeholder presentation | Monte Carlo (visual histogram) |