Tolerance Stack-Up Analysis: Worst-Case vs RSS — a Working Guide
Every assembly you ship is a bet that a chain of imperfect dimensions still adds up to a working product. Each feature on each part is made somewhere inside its tolerance zone, and the gaps, preloads and interferences you actually care about are emergent properties of all of them at once. A tolerance stack-up analysis is how you find out what the assembly will really do before the parts exist — and the method you choose changes the answer by a lot.
The two methods that matter
For a linear (1D) chain — dimensions laid end to end along one direction — the assembly dimension is a signed sum of the contributors. Nominal gap g equals the closing dimension minus everything in between. What differs between methods is how the individual tolerances combine.
Worst-case (arithmetic) stack-up
Worst-case analysis assumes every contributor lands simultaneously on the corner that hurts you most. The assembly tolerance is the plain sum:
Tasm = T1 + T2 + … + Tn
If the drawing tolerances are respected and the parts are actually conforming, the assembly cannot fail — the result bounds every physically possible combination. That guarantee is why worst-case is the required method for safety-critical and regulated work: there is no residual probability to argue about.
RSS (root-sum-square) stack-up
Statistical analysis accepts that the corners almost never coincide. If each contributor varies independently with its ±t treated as roughly ±3σ of a distribution, the assembly standard deviation combines by quadrature and the RSS tolerance is:
Tasm = √(T1² + T2² + … + Tn²)
RSS grows like √n instead of n — for equal contributors, far more forgiving. The price is that a small fraction of assemblies will fall outside the RSS band; you are trading a hard guarantee for a quantified yield.
Worked example: a housing and three rings
Three rings of width 16.00 ±0.05 mm sit side by side inside a housing whose shoulder-to-shoulder depth is 50.00 ±0.10 mm. The end gap is what keeps the stack from binding:
- Chain:
g = Lhousing − (w1 + w2 + w3) - Nominal:
g = 50.00 − 48.00 = 2.00 mm
Worst-case. The gap tolerance is 0.10 + 3 × 0.05 = ±0.25 mm, so g = 2.00 ±0.25 — somewhere between 1.75 and 2.25 mm, guaranteed. If the design needs the gap to stay above 1.80 mm, worst-case analysis says the drawing fails: a conforming set of parts can still close the gap to 1.75 mm. You would have to tighten a tolerance or move the nominal.
RSS. The same chain statistically: √(0.10² + 0.05² + 0.05² + 0.05²) = √0.0175 ≈ 0.132 mm, so g = 2.00 ±0.13 as an equivalent ±3σ band — the assembly σ is about 0.044 mm. The 1.80 mm requirement is 4.5σ below the mean, which corresponds to single-digit ppm fallout if the distribution assumptions hold. Same drawing, same parts — one method says redesign, the other says ship.
That gap between the two answers is the entire business case for statistical analysis, and also the entire risk. Which one you are allowed to believe depends on the questions in the companion article, worst-case vs statistical tolerance analysis.
Choosing between them
| Situation | Method | Why |
|---|---|---|
| Safety or regulatory requirement | Worst-case | No residual fallout to justify to a certifying body |
| Very low volume / first articles | Worst-case | Statistics of a process you have not measured are fiction |
| Production parts under process control | RSS | Independence and normality are defensible; yield is quantified |
| Many contributors, tight assembly spec | RSS | Worst-case often demands tolerances that are not manufacturable |
| Correlated contributors (same die, same setup) | Worst-case or modelled correlation | RSS assumes independence; correlation breaks it silently |
Where hand calculation falls apart
One linear chain of four dimensions is a spreadsheet afternoon. Real assemblies stop being that problem quickly:
- Contributor count. Past five or six parts, every tolerance needs a sign, a sensitivity and a justification. Sign errors dominate — a dimension entered with the wrong direction produces a confident, wrong number.
- Dimension chains are not linear. Fastener clearance lets parts float and rotate; a flatness callout tips one part relative to the next; the true model is 3D kinematics, not a sum. A 1D worst-case on a 3D problem is systematically optimistic about tilt-driven variation.
- Contact depends on the answer. Whether a pin bottoms on the left or right face changes the chain itself — the worst case is found by searching configurations, not by adding numbers.
- Standards apply per feature. An ISO 286 fit on a bore, a position callout on a bolt circle and a general-tolerance block on a casting all express variation differently and must be normalized before they can sum.
This is the wall we built SuperNX against. It reads your Siemens NX model directly, finds the dimension chains through the actual mating geometry, and runs worst-case and statistical analysis with per-contributor sensitivity — then writes a report and a toleranced model back, rather than a spreadsheet you re-transcribe by hand. It exists because the honest version of this work does not fit in a spreadsheet once the assembly gets real.
The short version
- Worst-case:
T = ΣTi— a guarantee, paid for in tight tolerances. - RSS:
T = √ΣTi²— a yield, paid for in assumptions you must actually verify. - Do the arithmetic on one chain by hand once — it is worth it. Do not run a thirty-part assembly that way.