Skip to content

Tolerance Stack Analysis From First Principles

A practical guide to tolerance stack-up analysis for mechanical assemblies, worst case, RSS, and Monte Carlo methods explained with real examples.

BG ben godfrey · · 5 min read
ENGINEERING

Why Tolerance Analysis Matters

Every dimension on an engineering drawing has a tolerance. A shaft diameter of 25.00 mm with a tolerance of plus or minus 0.05 mm can be manufactured anywhere between 24.95 mm and 25.05 mm and be considered acceptable. This is a fundamental reality of manufacturing: no part is made exactly to its nominal dimension.

The challenge arises when you assemble multiple parts. Each part contributes its own tolerance to the assembly. The question that tolerance stack analysis answers is: given the tolerances on each individual component, what is the resulting variation in the critical assembly dimension?

Get this wrong and you end up with parts that do not fit, interference where clearance was expected, or excessive gaps that compromise function. In automotive applications, tolerance stack failures result in recalls, warranty claims, and in safety-critical assemblies, regulatory consequences.

A Practical Example

Consider a simple assembly: a shaft passes through two bushings, which are pressed into a housing. The critical dimension is the clearance between the end of the shaft and the internal face of the housing.

The relevant dimensions are:

ComponentNominal (mm)Tolerance (mm)
Housing internal length100.00+/- 0.10
Bushing A thickness5.00+/- 0.05
Bushing B thickness5.00+/- 0.05
Shaft length88.00+/- 0.08

Nominal clearance = 100.00 - 5.00 - 5.00 - 88.00 = 2.00 mm

The question is: what is the minimum and maximum clearance when tolerances are considered?

Method 1: Worst Case Analysis

Worst case analysis assumes that every dimension is simultaneously at its worst-case extreme. This is the most conservative approach.

Maximum clearance occurs when the housing is at its largest and the shaft and bushings are at their smallest:

Max clearance = (100.00 + 0.10) - (5.00 - 0.05) - (5.00 - 0.05) - (88.00 - 0.08)
             = 100.10 - 4.95 - 4.95 - 87.92
             = 2.28 mm

Minimum clearance occurs when the housing is at its smallest and the shaft and bushings are at their largest:

Min clearance = (100.00 - 0.10) - (5.00 + 0.05) - (5.00 + 0.05) - (88.00 + 0.08)
             = 99.90 - 5.05 - 5.05 - 88.08
             = 1.72 mm

The worst case range is 1.72 mm to 2.28 mm. The assembly always has positive clearance, so it always fits.

Worst case analysis is simple and guarantees 100% assembly success. Its weakness is that it is extremely conservative. The probability of every dimension being simultaneously at its extreme is vanishingly small. For assemblies with many contributors, worst case analysis often predicts problems that never occur in practice, leading to unnecessarily tight (and expensive) tolerances.

Method 2: Root Sum Square (RSS)

RSS analysis applies a statistical approach. Instead of assuming all dimensions are simultaneously at their extremes, it treats each tolerance as an independent random variable and computes the statistical combination.

The RSS tolerance for the assembly is:

T_rss = sqrt(T1^2 + T2^2 + T3^2 + T4^2)
      = sqrt(0.10^2 + 0.05^2 + 0.05^2 + 0.08^2)
      = sqrt(0.0100 + 0.0025 + 0.0025 + 0.0064)
      = sqrt(0.0214)
      = 0.146 mm

The RSS range is 2.00 +/- 0.146 mm, or 1.854 mm to 2.146 mm.

This is a tighter range than worst case (which predicted 1.72 to 2.28 mm). RSS analysis assumes that dimensions follow a normal distribution and that the tolerance band represents a specific number of standard deviations (typically 3-sigma, meaning 99.73% of parts fall within tolerance).

RSS is appropriate when:

  • You have a reasonable number of tolerance contributors (more than 4-5)
  • Dimensions are genuinely independent (no systematic manufacturing biases)
  • You can accept a small statistical probability of assembly failure

RSS is not appropriate for safety-critical dimensions where 100% conformance is required.

Method 3: Monte Carlo Simulation

Monte Carlo analysis generates thousands of virtual assemblies, each with randomly sampled dimensions, and measures the resulting assembly dimension for each.

The algorithm is straightforward:

  1. For each tolerance contributor, define a probability distribution (normal, uniform, skewed, etc.)
  2. Randomly sample a value from each distribution
  3. Compute the assembly dimension from the sampled values
  4. Repeat 10,000 to 100,000 times
  5. Analyse the resulting distribution of assembly dimensions

Monte Carlo analysis is the most flexible method. It handles non-normal distributions, correlated dimensions, non-linear stack-ups, and mixed tolerance types. It produces a full probability distribution of the assembly dimension, not just a range.

Its disadvantage is that it requires more setup and computation. For the simple linear stack-up above, RSS gives the same answer with less effort. Monte Carlo becomes valuable when the stack-up is non-linear, when distributions are non-normal, or when you need to understand the full shape of the output distribution.

Choosing the Right Method

CriterionWorst CaseRSSMonte Carlo
ComplexityLowLowMedium
ConservatismVery highModerateConfigurable
Distribution assumptionsNoneNormalAny
Safety-critical useYesWith cautionYes
Non-linear stacksLimitedNoYes
Number of contributorsAny> 4 preferredAny

For most mechanical engineering applications, we recommend starting with worst case analysis. If the worst case result shows the design works, no further analysis is needed. If worst case shows a problem, move to RSS to determine whether the problem is statistically significant. If RSS is insufficient or the stack-up is complex, use Monte Carlo.

The ChainSolve Connection

Tolerance analysis is a perfect example of a calculation that benefits from the composable, traceable approach that ChainSolve provides. Each component dimension is an input block with its nominal value, tolerance, and distribution type. The stack-up calculation is a chain that computes the assembly dimension. Changing a tolerance on any component instantly shows the effect on the assembly.

This is exactly the kind of engineering workflow we are building ChainSolve to support, structured, traceable, and composable.

Written by
BG
ben godfrey
Engineer at Godfrey Engineering Ltd.