Tolerance Stackup Methods — Interactive Training
Tolerance Analysis
Tolerance Stackup Methods
Predict whether an assembly will meet functional requirements given the dimensional variation of its individual parts. Three core methods: Worst Case, RSS, and Monte Carlo — each with different risk assumptions.
🔩 What is a Tolerance Stackup?

When parts are assembled, their dimensional variations accumulate. A tolerance stackup analysis answers: will the gap, clearance, or interference in my assembly always be acceptable — for every part within tolerance?

Assembly Gap Example
HOUSING (fixed reference) A B C GAP?
Gap = Housing − (A + B + C)
Each part has its own tolerance ±t. The question: is Gap ≥ 0 always?
Three Analysis Methods
1. Worst Case (WC)
All parts simultaneously at worst extreme. Conservative — guarantees 100% yield. Often over-constrains tolerances.
2. RSS (Statistical)
Root Sum of Squares. Assumes independent normal distributions. Predicts realistic assembly yield (~99.73% at 3σ).
3. Monte Carlo
Random sampling simulation. Handles any distribution shape, correlations, and non-linear stackups. Most realistic.
🧭 Which Method to Use?
Decision Guide
Safety-critical, zero-defect requiredWorst Case (100% compliance guaranteed)
High-volume production, normal distributionsRSS (realistic yield prediction)
Non-normal processes, skewed distributions, or correlated partsMonte Carlo
First pass / quick check → Run WC first, then RSS to see if tolerances can be relaxed
Tolerance Analysis
Method Comparison
Side-by-side summary of Worst Case, RSS, and Monte Carlo — assumptions, when to use each, and the typical difference in predicted tolerance.
📊 Comparison Table
PropertyWorst CaseRSSMonte Carlo
Predicted gap toleranceSmallest (tightest)Moderate (~40–60% looser)Most realistic
Yield guarantee100% (by definition)~99.73% at 3σUser-defined PPM
Assumes normal dist.No — any dist.Yes (required)No — any dist.
Handles non-linear stackupLinear onlyLinear onlyYes
Part count sensitivityWorsens rapidly with nScales as √nIndependent of n
ComputationInstantInstantRequires simulation
Typical useSafety-critical, low volumeHigh volume productionComplex assemblies, R&D
ResultTolerance rangeStatistical toleranceDistribution + PPM
📐 Gap Tolerance Formula Comparison
Worst Case:   T_gap = Σ |tᵢ|   (sum of ALL individual tolerances)
RSS:   T_gap = √(Σ tᵢ²) = √(t₁² + t₂² + ... + tₙ²)
Monte Carlo:   Gap = Σ sᵢ · Nᵢ(μᵢ, σᵢ)  [simulated, 10k+ runs]
sᵢ = direction coefficient (+1 or −1)  |  tᵢ = bilateral tolerance (half-range)  |  σᵢ = tᵢ/3 for 3σ process
⚠ Key Insight
For n equal tolerances t: WC gives T=n·t but RSS gives T=√n·t. For n=9 parts with t=0.1mm: WC→0.9mm, RSS→0.3mm. RSS allows 3× looser tolerances per part for the same assembly performance — but only if the normal distribution assumption holds.
Worst Case
Worst Case Stackup Calculator
Add parts to the loop. Each part contributes its full tolerance in the stackup direction. The gap must remain positive at both extremes to guarantee 100% assembly yield.
🧭 Direction Convention — What is +1 vs −1?
In a tolerance loop, you trace a path through the assembly from one side of the gap to the other. Each dimension either opens (increases) or closes (decreases) the gap.
+1  Opens the gap ↔
Traversing in the same direction as the gap arrow.
Typically the housing / outer envelope.
If this part grows, the gap gets larger.
−1  Closes the gap ←→
Traversing back through a part (opposing the gap arrow).
Typically internal components stacked inside.
If this part grows, the gap gets smaller.
Rule of thumb:  Start at one wall of the gap. Every part you cross going right is +1 (adds space). Every part you cross going left (backtracking) is −1 (takes space). Gap = Σ (+1 parts) − Σ (−1 parts).
⚙️ Assembly Chain Builder

Add parts below. Use +1 for the housing/outer reference and −1 for parts stacked inside it. The chain diagram updates live.

Direction: +1 Opens gap (housing, outer ref) −1 Closes gap (inner parts) Positive sign = dimension contributes positively to gap
Part Name Nominal (mm) ±Tol (mm) Direction Sens.

→ Each row contributes:  +1 × nominal or −1 × nominal to the gap equation.

Live Assembly Chain — Signed Dimensions
Worst Case
Worst Case — Theory & Formula
The simplest and most conservative stackup method. Every dimension simultaneously at its worst extreme. Guaranteed to work — but often unnecessarily tight.
📐 Formula
Nominal Gap   G₀ = Σ sᵢ · Nᵢ   (signed sum of nominal dimensions)
Worst Case Tol   T_wc = Σ |tᵢ|   (sum of all absolute tolerances)
Max Gap = G₀ + T_wc   |   Min Gap = G₀ − T_wc
sᵢ ∈ {+1, −1} = direction in loop  |  Nᵢ = nominal dim  |  tᵢ = bilateral tolerance
🔩 Worked Example — Shaft in Housing
🏭 Bearing Assembly

Housing bore: 50.000 ±0.025 mm (direction +1, opens gap)
Bearing OD: 49.900 ±0.010 mm (direction −1, closes gap)
Required clearance: 0.050 to 0.180 mm

G₀ = (+1)(50.000) + (−1)(49.900) = 0.100 mm
T_wc = 0.025 + 0.010 = 0.035 mm
Max gap = 0.100 + 0.035 = 0.135 mm ✓ ≤ 0.180
Min gap = 0.100 − 0.035 = 0.065 mm ✓ ≥ 0.050
Result: PASSES worst case — 100% yield guaranteed
✅ Assumptions & Limitations
  • All parts are within their stated tolerance (by inspection or process control)
  • Dimensions are independent of each other
  • Conservative: probability of ALL parts simultaneously at worst extreme is extremely low for large n
  • For n=10 identical ±3σ parts: probability of WC scenario ≈ (0.0027)¹⁰ ≈ 2×10⁻²⁸
  • Use when yield MUST be 100% regardless of cost (e.g., aircraft, medical devices)
RSS Statistical
RSS Stackup Calculator
Root Sum of Squares. Assumes each part's dimension is normally distributed. The combined assembly gap is also normal — predict the sigma level and yield directly.
🧭 Direction Quick Reference
+1 Opens gap — housing, bore, outer envelope. Growing this dimension increases clearance.
−1 Closes gap — shafts, spacers, inner parts stacked inside. Growing these shrinks clearance.
Gap nominal G₀ = Σ (+1 parts × nominal) − Σ (−1 parts × nominal)  |  Direction does not affect variance (σ²), only the nominal.
⚙️ Assembly Chain Builder

For RSS, tolerance = kσ of the process. Adjust the Sigma Level (k) per part and the assembly target below.

Direction: +1 Opens gap −1 Closes gap
Part Name Nominal (mm) ±Tol (mm) Direction k (sigma)
Live Assembly Chain
Assembly sigma target
RSS Statistical
RSS — Theory & Formula
Based on the statistical fact that when independent random variables are summed, their variances add. The combined standard deviation grows as √n, not n.
📐 Formula Derivation
Each part: xᵢ ~ N(Nᵢ, σᵢ²)   where σᵢ = tᵢ / kᵢ   (kᵢ = process sigma level)
Gap G = Σ sᵢ · xᵢ → G ~ N(G₀, σ_gap²)
σ_gap² = Σ (sᵢ·σᵢ)² = Σ σᵢ²   (direction has no effect on variance)
σ_gap = √(Σ σᵢ²) = √(σ₁² + σ₂² + ... + σₙ²)
T_rss (at k·σ) = k · σ_gap = k · √(Σ (tᵢ/kᵢ)²)
For equal kᵢ = k: T_rss = k · √(Σ(tᵢ/k)²) = √(Σ tᵢ²)
📈 WC vs RSS Interactive Comparison

Adjust n (number of equal parts) and individual tolerance to see how WC and RSS totals diverge.

Number of parts (n)
5
Each tolerance ±t (mm)
0.10
Sigma level (k)
3
WC vs RSS tolerance — vs number of parts
✅ RSS Assumptions
  • All dimensions independently normally distributed
  • Process is centered (mean = nominal) — zero mean shift
  • Stackup is a linear function of the component dimensions
  • RSS under-predicts risk if processes are skewed, bimodal, or correlated
  • Long-term mean shifts (1.5σ drift) need correction — see Six Sigma Shift page
Monte Carlo
Monte Carlo Simulation
Simulate thousands of assemblies by randomly sampling each part's dimension from its distribution. The result is the actual gap distribution — directly giving PPM out-of-spec.
⚙️ Assembly Setup
Direction: +1 Opens gap (housing/outer) −1 Closes gap (inner parts)
Part Name Nominal (mm) ±Tol (mm) Direction Distribution
Live Assembly Chain
Simulations
Min gap spec
Max gap spec
Monte Carlo
Monte Carlo — Theory & Setup
How random simulation works for tolerance analysis. Distribution types, convergence, and when to use each distribution.
📐 Algorithm
  1. For each part i, define its distribution: Normal(Nᵢ, σᵢ), Uniform(lo, hi), or Triangular(lo, mode, hi)
  2. For each simulation run j = 1…N: sample one value xᵢⱼ from each part's distribution
  3. Compute the gap: Gⱼ = Σ sᵢ · xᵢⱼ (the assembly equation)
  4. After N runs, build the histogram of all Gⱼ values
  5. Count failures: Gⱼ < spec_lo or Gⱼ > spec_hi → PPM = (failures / N) × 10⁶
  6. Fit a normal distribution to Gⱼ to estimate effective sigma level
📋 Distribution Types
Normal N(μ, σ)
Best for: machined dimensions, CNC, grinding
σ = tolerance / k (k=3 for 3σ process)
Most common in precision manufacturing
Default choice
Uniform U(lo, hi)
Best for: inspection-sorted parts, purchased parts with unknown process
Worst-case for RSS comparison
σ = (hi−lo)/(2√3)
Conservative
Triangular T(lo, mode, hi)
Best for: processes with a preferred mode but bounded range
Can model asymmetric processes (e.g., wear, thermal)
σ = √((lo²+mode²+hi²−lo·hi−lo·mode−hi·mode)/18)
Convergence
5,000 runs: good for mean & σ
10,000: reliable to ~100 PPM
100,000: reliable to ~10 PPM
1,000,000: reliable to ~1 PPM
Rule: 10× more runs per decade of PPM
Advanced
Six Sigma Mean Shift (1.5σ)
In long-term production, process means drift by up to ±1.5σ. The modified RSS method accounts for this shift in every component. Critical for automotive and high-volume manufacturing.
📐 Modified RSS with Mean Shift
Short-term (no shift): T_rss = k · √(Σ σᵢ²)   → yields matches 3σ, 4σ, etc.
Long-term (1.5σ shift per part): T_rss_lt = k · √(Σ σᵢ²) + 1.5 · Σ σᵢ
The mean shift term 1.5·Σσᵢ is the worst-case of ALL means shifting in the same direction
Motorola convention: 6σ short-term process = 4.5σ long-term = 3.4 PPM defect rate
⭐ Interactive Shift Effect

Adjust mean shift and see how it widens the assembly gap distribution.

Number of parts (n)
5
Each ±tol (mm)
0.10
Mean shift (× σ)
1.5
Sigma level (k)
3.0
Gap distribution: no shift vs with shift
Advanced
Sensitivity Analysis
Which part's tolerance contributes most to assembly variation? Sensitivity analysis ranks parts by their variance contribution — showing where tightening tolerance has the biggest impact.
📐 Sensitivity Coefficients
σ_gap² = Σ (∂G/∂xᵢ)² · σᵢ² = Σ sᵢ² · σᵢ² = Σ σᵢ²   (linear stackup)
Contribution of part i:   Cᵢ = σᵢ² / σ_gap² × 100% = (tᵢ/kᵢ)² / Σ(tⱼ/kⱼ)²
Sensitivity rank:   sort parts by Cᵢ descending
For nonlinear stackup G(x₁…xₙ): sensitivity = (∂G/∂xᵢ)² · σᵢ² at nominal values
⭐ Interactive Sensitivity Explorer

Build an assembly and see which parts dominate variance. Tighten the top contributor first — it gives the most reduction per dollar spent.

Part Name ±Tol (mm) k (sigma)
GD&T
GD&T & Tolerance Loops
How GD&T symbols (position, flatness, runout) translate into stackup loop contributions. Setting up the closed-loop equation from a drawing.
🔁 The Closed-Loop Method

Every tolerance stackup starts from a closed loop: starting at one end of the gap, traverse through each part in the assembly, and return to the other end. Assign +1 to dimensions that open the gap, −1 to those that close it.

Loop equation:   G = D_housing − D_part_A − D_part_B − D_spacer + D_shim
At nominal:   G₀ = Σ sᵢ · Nᵢ = 0 (balanced loop — all gaps accounted for)
GD&T contributions: add geometric tolerances as bilateral tolerances to the loop
📋 GD&T Symbols → Stackup Contribution
GD&T SymbolStackup ContributionHow to Include
⊕ True Position (⌀ t)±t/2 in each axisAdd ±t/2 as bilateral tol in relevant axis
— Flatness (t)±t/2 tilt/bowAdd ±t/2 to dimension perpendicular to surface
◎ Runout / Concentricity (t)Full value t (unilateral)Add as ±t/2 (bilateral equivalent)
∥ Parallelism (t)±t/2 over length LAdd ±t·(d/L)/2 where d = distance from datum
⊿ Angularity (t)±t/2 at nominal angleProject onto stackup direction: ±(t/2)·cos θ
⊙ Cylindricity (t)±t/2 radialAdd ±t/2 as radial tolerance
Dimensional tol ±tDirect ±tDirectly add ±t to the loop
💡 Rules of Thumb
  • Every loop must close — start and end at the same datum
  • Assign directions consistently: traversing left-to-right is +1 for openings
  • Floating fastener: position tol = (hole tol + clearance hole tol) / 2 per axis
  • Fixed fastener: position tol = clearance / 2 per axis
  • Do not mix GD&T and ± linear tolerances without converting GD&T to bilateral linear equivalents
  • Bonus tolerance (MMC/LMC modifiers) changes tolerance value with actual mating size
Numlytix — Tolerance Stackup Methods Introduction & Methods
⭐ Free Plan Some features require Premium. Upgrade for full access.
Upgrade →
⚙ Feature Gates — Tolerance Stackup
Loading…