Tolerance Stack-Up: Worst Case vs RSS Method Explained
Worst case tolerance stack-up adds every individual tolerance arithmetically to find the absolute maximum possible gap or interference. RSS (Root Sum of Squares) instead takes the square root of the sum of each tolerance squared, giving a statistically realistic accumulated error. Worst case guarantees 100 % conformance; RSS is less conservative but allows tighter nominal dimensions and is justified when production volumes are high and processes are controlled.
Both methods are legitimate tools described in ASME Y14.5 and discussed in depth by the NIST tolerance design literature. The choice between them is not a matter of preference — it is a risk decision that should be made deliberately and documented on the drawing or the design analysis record.
This tutorial covers the worst case tolerance analysis formula, the RSS tolerance stack-up calculation, a fully worked 1D tolerance chain example, and the most common errors that engineers make when running either analysis.
---Formulas and Variables
A 1D tolerance chain (also called a linear tolerance stack-up) is a closed loop of dimensions along one axis. One dimension in the loop — the gap, clearance, or interference — is the unknown resultant. All others are contributing components with known nominal values and bilateral tolerances.
Worst Case Formula
The worst case total accumulated tolerance is the simple arithmetic sum of all individual component tolerances in the chain. This assumes every part is simultaneously at its worst permissible extreme.
T_WC = t₁ + t₂ + t₃ + … + tₙ
RSS Formula
The RSS total tolerance is the square root of the sum of squared individual tolerances. It assumes tolerances are independent, bilateral, and that each manufacturing process is centred and normally distributed at approximately ±3σ.
T_RSS = √(t₁² + t₂² + t₃² + … + tₙ²)
Resultant Gap (both methods)
In both cases the nominal gap is identical. Only the tolerance band around that gap changes.
G_nom = Σ(increasing dimensions) − Σ(decreasing dimensions)
| Symbol | Variable | Unit |
|---|---|---|
| T_WC | Total worst case accumulated tolerance (bilateral ±) | mm or inch |
| T_RSS | Total RSS accumulated tolerance (bilateral ±) | mm or inch |
| t₁ … tₙ | Individual component bilateral tolerances | mm or inch |
| n | Number of contributing dimensions in the chain | — |
| G_nom | Nominal resultant gap or interference | mm or inch |
| G_min (WC) | Minimum gap under worst case: G_nom − T_WC | mm or inch |
| G_min (RSS) | Minimum gap at ±3σ under RSS: G_nom − T_RSS | mm or inch |
For assemblies governed by ISO 286 fit classes, the individual component tolerances tᵢ should be taken as the half-tolerance (half of the total tolerance band) to keep the bilateral convention consistent. You can cross-reference fit tolerance values using the ISO 286 Fits and Tolerances guide on MetricMech.
---Worked Example with Real Numbers
Consider a simple three-component linear assembly: a housing bore accepts a bearing and a retaining spacer, and the functional requirement is a non-negative axial gap between the spacer end face and the housing shoulder. The chain has four dimensions — three contributing components and the resultant gap.
Nominal dimensions and bilateral tolerances:
| Dim | Description | Direction | Nominal (mm) | Bilateral Tolerance ± (mm) |
|---|---|---|---|---|
| A | Housing bore depth | Increasing (opens gap) | 50.00 | ±0.10 |
| B | Bearing width | Decreasing (closes gap) | 20.00 | ±0.05 |
| C | Spacer length | Decreasing (closes gap) | 28.00 | ±0.08 |
| G | Resultant axial gap | — | 2.00 | TBD |
Nominal gap check: G_nom = 50.00 − 20.00 − 28.00 = 2.00 mm ✓
Worst Case Result
T_WC = 0.10 + 0.05 + 0.08 = 0.23 mm
Gap range (worst case): 2.00 ± 0.23 mm → minimum gap = 1.77 mm, maximum gap = 2.23 mm. Every single assembly is guaranteed to fall within this range.
RSS Result
T_RSS = √(0.10² + 0.05² + 0.08²) = √(0.0100 + 0.0025 + 0.0064) = √0.0189 ≈ 0.137 mm
Gap range (RSS at ±3σ): 2.00 ± 0.137 mm → minimum gap = 1.863 mm, maximum gap = 2.137 mm. Approximately 99.73 % of assemblies will fall within this band, not 100 %.
The RSS method recovers 0.093 mm of tolerance budget compared to worst case — nearly equivalent to halving the spacer tolerance. On a high-volume line this headroom can eliminate a re-grind operation or a selective assembly step.
Run your own numbers instantly using the MetricMech Tolerance Stack-Up Worked Example as a companion reference, then verify the bilateral tolerance conventions against ISO 2768 General Tolerances if your drawing uses a general tolerance block.
---Step-by-Step Method for 1D Tolerance Chain Analysis
Follow these steps for any linear tolerance stack-up, whether you apply worst case or RSS at the end. The chain-building logic is identical; only the summation rule changes.
- Identify the functional requirement. Define exactly what the gap, clearance, or interference must be — and its minimum and maximum permissible values. Write this down before touching any dimension.
- Draw the tolerance loop diagram. Sketch the assembly cross-section and trace a closed loop from one side of the resultant gap, through every contributing component, and back to the other side of the gap. Assign an arrow direction to each dimension (increasing or decreasing relative to the gap).
- List all contributing dimensions and tolerances. Extract nominal values and bilateral tolerances for every dimension in the loop from the engineering drawings. Convert unilateral or limit tolerances to bilateral form: bilateral tᵢ = (upper deviation − lower deviation) / 2.
- Calculate the nominal resultant. G_nom = Σ(increasing dimensions) − Σ(decreasing dimensions). Confirm this matches the intended nominal gap on the drawing.
- Choose your method. Use worst case when: safety is critical, batch size is small (<100 units), or the gap must be guaranteed for every part. Use RSS when: volume is high, processes are statistically controlled, and a small escape rate (0.27 % at ±3σ) is acceptable and documented.
- Apply the summation rule. For worst case: T_WC = Σ tᵢ. For RSS: T_RSS = √(Σ tᵢ²). Both give a bilateral value ±T around G_nom.
- Check functional limits. Confirm G_nom − T ≥ minimum allowable gap and G_nom + T ≤ maximum allowable gap. If either check fails, tighten contributing tolerances, change nominal dimensions, or switch methods with documented justification.
- Document and review. Record the loop diagram, all inputs, the chosen method, and the result in the design analysis. If the assembly will be inspected at first article, balloon the relevant dimensions on the drawing using a tool like CadNexa's auto-ballooning tool to ensure every dimension in the chain is captured on the FAI report without manual oversight.
Step 8 is where teams most often lose time. A tolerance chain that has not been formally ballooned is easily missed during inspection planning. Auto-ballooning links each chain dimension directly to its measurement record, closing the traceability gap before production starts.
---Worst Case vs RSS: Side-by-Side Comparison
| Criterion | Worst Case | RSS (Statistical) |
|---|---|---|
| Summation rule | Arithmetic sum: T = Σ tᵢ | Quadratic sum: T = √(Σ tᵢ²) |
| Conformance guarantee | 100 % of assemblies | ~99.73 % at ±3σ |
| Result vs worst case | Baseline (most conservative) | Always smaller (less conservative) |
| Suitable batch size | Any — mandatory for small batches | Preferably >100 units per run |
| Process control required? | No | Yes — centred, capable processes |
| Typical application | Safety-critical joints, aerospace, medical | High-volume automotive, consumer goods |
| Risk of out-of-spec assembly | Zero (by definition) | 0.27 % at ±3σ; quantifiable via Cpk |
| Standard references | ASME Y14.5, ISO 8015 | AIAG APQP, ASQ literature, MIT method |
The AIAG APQP manual and the ASQ tolerance stack-up resource library both recommend declaring the chosen method in the design FMEA before production tooling is released. Linking your tolerance analysis to the FMEA risk register is good practice — refer to the FMEA RPN Calculation Guide for the risk-scoring framework.
---Common Mistakes in Tolerance Stack-Up Analysis
1. Mixing unilateral and bilateral tolerances without converting
A dimension called out as 20.00 +0.00/−0.10 mm has a nominal of 20.00 mm and a bilateral tolerance of ±0.05 mm (the midpoint is 19.95 mm). If you enter ±0.10 mm into the chain, you overstate the tolerance by 2× and shift the nominal incorrectly. Always convert to bilateral form first and adjust the nominal accordingly.
2. Forgetting geometric tolerances in the chain
Flatness, perpendicularity, and parallelism callouts contribute to the axial stack just as dimensional tolerances do. A surface with a flatness tolerance of 0.05 mm can tilt and close an axial gap by that amount. Include all relevant geometric tolerances as additional tᵢ terms in the chain. The True Position Calculation guide on MetricMech explains how positional tolerances convert to linear contributions.
3. Applying RSS to a small, safety-critical batch
RSS is a probability statement. On a batch of 20 assemblies there is no meaningful statistical base. The 0.27 % escape rate sounds small, but on 20 parts it means almost zero statistical validity. Use worst case without exception for small batches and for any joint where failure is a safety or regulatory issue.
4. Forgetting to re-run the analysis after a drawing revision
A single ECN that relaxes one contributor tolerance can invalidate the whole chain if another dimension was already tight. Treat the tolerance stack-up as a living document linked to the drawing revision status, not a one-time calculation filed and forgotten.
5. Using nominal dimensions from the model rather than mean-of-limits
If a dimension is 30.00 +0.10/−0.00 mm, the model may display 30.00 mm, but the correct nominal for chain arithmetic is 30.05 mm (the midpoint). Using the model value shifts the predicted gap and produces an artificially optimistic or pessimistic result depending on which direction the asymmetry falls.
Incorrect nominal handling is the single most common source of sign errors in linear stack-up analysis. Always recompute the mean dimension from the drawing limits, not from the 3D model geometry.
---Frequently Asked Questions
What is the difference between worst case and RSS tolerance stack-up?
Worst case adds all individual tolerances arithmetically, assuming every part is simultaneously at its extreme limit. RSS takes the square root of the sum of squared tolerances, reflecting the statistical reality that all parts rarely hit their extreme limits at the same time. Worst case guarantees 100 % conformance; RSS guarantees approximately 99.73 % at the ±3σ level.
When should I use worst case tolerance analysis instead of RSS?
Use worst case when safety is critical, when batch sizes are small (fewer than 100 parts per production run), or when the assembly gap or interference must be guaranteed for every single unit regardless of statistical probability. Aerospace and medical device assemblies nearly always require worst case analysis by regulation or customer mandate.
What is the RSS tolerance stack-up formula?
The RSS total tolerance equals the square root of the sum of each individual tolerance squared: T_RSS = √(t₁² + t₂² + t₃² + … + tₙ²). This formula assumes that individual tolerances are independent, bilateral, and that each manufacturing process is centred and normally distributed at approximately ±3σ.
Is RSS always less conservative than worst case?
Yes. RSS will always produce a smaller accumulated tolerance than arithmetic summation because it accounts for the low statistical probability that all components simultaneously reach their extreme tolerance limits. The more components in the chain, the more pronounced the difference between the two methods.
How many components does it take for RSS to become significantly more permissive than worst case?
The gap becomes practically significant at around four or more components in the chain. With two equal tolerances the RSS result is 1.41× one tolerance versus 2× for worst case — a meaningful difference. With ten equal tolerances, worst case is 10× one tolerance while RSS is only 3.16× — a dramatic reduction that can justify loosening several contributors simultaneously.
---For a deeper dive into applying these methods to real machined assemblies with asymmetric tolerances and GD&T callouts, see the companion article Tolerance Stack-Up: A Worked Example on MetricMech. If your assembly is governed by standard ISO fits, the ISO 286 Fits and Tolerances guide gives you the fundamental deviation values needed to populate the chain correctly.
When the stack-up analysis is complete and the chain dimensions are confirmed, the next bottleneck is getting every contributing dimension correctly ballooned on the inspection drawing. CadNexa's auto-ballooning tool sequences and numbers all dimensions automatically from your PDF or CAD drawing, eliminating the manual ballooning step that typically adds hours to first article preparation.