Tolerance Stack Up Analysis: Worst Case vs RSS, With Worked Examples
Every part in an assembly carries its own tolerance — and those tolerances add up. Here is how to predict the combined variation, choose between worst-case and RSS methods, and design the stack down before it becomes a machining bill.

On this page
Quick Answer
A tolerance stack up analysis sums the dimensional variation of every part in a chain to predict the variation of one assembly-level gap or clearance. The worst-case method adds tolerances arithmetically (T = T1 + T2 + … + Tn) and guarantees 100% assembly, but forces tight, expensive part tolerances. The RSS method takes the root sum square (T = √(T1² + T2² + … + Tn²)) and predicts 99.73% conformance at ±3σ, typically shrinking the stack by a factor near √n and letting individual tolerances relax. Use worst case for short or safety-critical chains, RSS for production chains with capable processes, and shorten the chain itself whenever the design allows.
What Is a Tolerance Stack Up?
No machined part is exact. A block dimensioned 20.00 ±0.05 mm will come off the machine anywhere between 19.95 and 20.05 mm, and that is fine — until five such parts have to fit inside one housing. A tolerance stack up is the accumulated variation that appears at an assembly-level feature — a gap, a clearance, an alignment — when the tolerances of every part in the chain add along a single direction. The stack up analysis is the calculation that predicts how large that combined variation can get, before the parts are made.
The uncomfortable truth the analysis exposes is that conforming parts can still build a failed assembly. If all five parts drift to their upper extremes at once, the gap closes by the sum of all five tolerances — and a design that looked safe on the individual drawings binds solid. Stack-up problems are assembly problems, which is why they surface late: at first-article builds, at incoming inspection of a new supplier’s lot, or in the field as intermittent fits that pass individual gauging. If you need a refresher on how individual tolerances are specified and what processes can hold, start with our guide to CNC machining tolerances; this article picks up where that one ends.
Worst Case vs RSS: The Two Core Methods
The worst-case method assumes the worst happens everywhere at once: every part sits at the tolerance extreme that closes the gap. The stack tolerance is simply T = T1 + T2 + … + Tn. If every part is in spec, the assembly cannot fail — the method guarantees 100% interchangeability. The cost of that guarantee grows linearly with chain length, and it is paid in tighter part tolerances, slower machining, and more inspection.
The RSS (root sum square) method treats the extremes as statistically unlikely to coincide. Each dimension is modeled as independent, centered on nominal, and roughly normally distributed, and the stack becomes T = √(T1² + T2² + … + Tn²). The result predicts about 99.73% conformance at ±3σ — roughly 2,700 assemblies per million outside the predicted range — while shrinking the stack by a factor near √n. On a six-link chain, that is a stack less than half the worst-case figure, which translates directly into looser, cheaper part tolerances.
| Attribute | Worst Case (Arithmetic) | RSS (Statistical) |
|---|---|---|
| Stack formula | T = T1 + T2 + … + Tn | T = √(T1² + T2² + … + Tn²) |
| Core assumption | Every part sits at its tolerance extreme at once | Part variation is independent, centered, and roughly normal |
| Assembly guarantee | 100% — no conforming part set can ever fail | About 99.73% at ±3σ; roughly 2,700 ppm fallout |
| Stack vs part count | Grows linearly with n | Grows with √n — much flatter on long chains |
| Tolerance budget | Forces the tightest (most expensive) part tolerances | Lets individual tolerances relax for the same gap spec |
| Best for | Short chains, safety-critical fits, low volumes, unknown processes | Long chains, production volumes, capable stable processes |
| Main risk | Over-engineering: cost and lead time for no functional gain | Process drift breaks the assumptions and real fallout climbs |
The catch sits in the assumptions. RSS is only as honest as the process data behind it: if a supplier’s process drifts off center, or two dimensions come off the same setup and vary together, the statistical comfort evaporates. That is why most engineering teams run both numbers — worst case as the absolute ceiling, RSS as the production planning figure — and require process capability evidence (typically Cpk ≥ 1.33 on the contributors) before shipping a design that depends on the RSS result.
Worked Example: A Five-Part Chain in One Dimension
Five parts stack inside a housing bore, and the assembly needs a gap at the end — enough that a retaining ring always fits, but not so much that the stack rattles. The bore depth is 50.00 ±0.05 mm. The parts, in order, are a spacer, a sleeve, a gear stack, a collar, and a shim pack, and the chain closes along the bore axis. Every part tolerance subtracts from the gap; the bore adds to it.
| Element | Nominal (mm) | Tolerance (±mm) | Chain Direction |
|---|---|---|---|
| Housing bore depth | 50.00 | 0.05 | Positive (+) |
| Part A — spacer | 12.00 | 0.03 | Negative (−) |
| Part B — sleeve | 8.00 | 0.02 | Negative (−) |
| Part C — gear stack | 20.00 | 0.04 | Negative (−) |
| Part D — collar | 6.00 | 0.02 | Negative (−) |
| Part E — shim pack | 3.00 | 0.01 | Negative (−) |
The nominal gap is 50.00 − (12.00 + 8.00 + 20.00 + 6.00 + 3.00) = 1.00 mm. Now the two methods diverge. Worst case sums every tolerance: 0.05 + 0.03 + 0.02 + 0.04 + 0.02 + 0.01 = ±0.17 mm, giving a gap of 0.83 to 1.17 mm. RSS takes the root sum square: √(0.05² + 0.03² + 0.02² + 0.04² + 0.02² + 0.01²) = √0.0059 ≈ ±0.077 mm, giving 0.923 to 1.077 mm.
| Method | Stack Tolerance (±mm) | Gap Range (mm) | Outcome vs 0.90 mm Minimum Gap |
|---|---|---|---|
| Nominal | — | 1.00 | — |
| Worst case | 0.17 | 0.83 – 1.17 | Fails — minimum gap can close to 0.83 |
| RSS | 0.077 | 0.923 – 1.077 | Passes at ±3σ with ~0.023 margin |

Now apply the functional requirement: the retaining ring needs a minimum gap of 0.90 mm. Under worst case the design fails — the gap can close to 0.83 mm — so you would have to tighten part tolerances until the arithmetic sum clears 0.90. Under RSS the design passes with margin, provided the suppliers can demonstrate centered, capable processes on all six dimensions. That is the whole trade in one number: worst case buys certainty with tolerance budget; RSS buys budget with process control. Notice also how the direction of each tolerance matters — a unilateral callout shifts the mean as well as the spread, which is why the choice between unilateral and bilateral tolerancing belongs in the same conversation.
How GD&T Tightens the Stack: Position and MMC Bonus
Coordinate tolerancing locates a hole with two ± dimensions from two edges — and each of those dimensions is a link in a stack. GD&T position tolerancing locates the hole’s axis directly within a cylindrical zone referenced to a datum frame, replacing a rectangular ±/± zone with a round one that is about 57% larger for the same worst-case edge distance, while removing the edge dimensions from the chain entirely. For the underlying notation, see our GD&T basics for CNC machining.
The bigger lever is the MMC modifier and its bonus tolerance. Call out position ⌀0.10 at MMC on a pin sized ⌀10.00/9.95: the ⌀0.10 zone applies when the pin is made at its maximum material condition, ⌀10.00. A pin actually produced at ⌀9.96 has departed 0.04 from MMC, so it earns 0.04 of bonus — its allowable position zone grows to ⌀0.14. Because real parts almost never land exactly on MMC, the bonus absorbs variation that a fixed ± scheme would have to budget for, and it does it while guaranteeing assembly: a pin at MMC with position error inside the stated zone always fits its mating hole at MMC.
In stack terms, MMC lets you write the analysis around the guaranteed worst boundary — the virtual condition — and let manufacturing variation refund itself as bonus rather than consume the budget. This is routinely the difference between a drawing that needs ±0.01 mm everywhere and one that machines comfortably at standard shop tolerances.
Design Techniques That Shrink the Stack
The cheapest tolerance is the one you never need. Before tightening any dimension, attack the chain’s structure:
- Shorten the dimension chain. Every link you delete removes its full tolerance from the worst-case sum and its square from the RSS. If a gap depends on five parts, ask whether two of them can be one part, or whether the gap can be measured from a different face that skips three links.
- Unify datums. When mating features are dimensioned from the same datum on each part, their errors share a reference instead of accumulating across independent references. Datum discipline is half of any good stack.
- Tolerance the critical feature directly. If the gap between face A and face B is what matters, dimension A-to-B — not A-to-C plus C-to-B. Indirect dimensioning manufactures stack-ups out of thin air.
- Design in an adjustment. A shim pack, a slotted hole, or a set-screw take-up converts a stack problem into a one-time assembly operation. The shim pack in the worked example exists for exactly this reason.
- Use fits where the standard already did the math. For shafts in holes, the ISO limits-and-fits system pre-computes clearance and interference ranges; our engineering fits guide covers the common classes and when each applies.
A useful mindset: tighten the chain, not the tolerances. A structural change removes variation permanently and costs nothing per piece; a tightened tolerance just pays more to constrain what remains, on every part, forever.
When a Formal Stack Up Analysis Is Worth Doing
Not every assembly needs the exercise. A two-part slip fit with generous clearances answers itself. The analysis earns its hours when the consequences or the uncertainty are real: safety-critical interfaces where an interference or a lost preload can injure someone; chains of four or more contributors, where intuition consistently underestimates the stack; gap specs with little margin over the worst-case sum; and any design moving to a new supplier or a new process, where the old tribal knowledge about what actually comes off the machine no longer applies.
Scale the tool to the problem. A spreadsheet handles one-dimensional chains — most gaps, stack heights, and axial clearances — with two formulas and a signed column of tolerances, and it is the right place to start and often to finish. Escalate to variation-analysis software with Monte Carlo simulation when variation propagates through angles and pivots in three dimensions. Whatever the tool, close the loop: measure real parts and compare the actual distributions against the model’s assumptions.
Finally, put the result on the drawing: if the design only works with a centered process at Cpk 1.33, that requirement travels with the RFQ. Send the assembly drawing through the instant quote page and an engineer will flag the chains worth analyzing before production starts.
FAQ: Tolerance Stack Up Analysis
What is a tolerance stack-up in CNC machining?
A tolerance stack-up is the accumulated dimensional variation that appears at an assembly-level feature — a gap, a clearance, or an alignment — when several machined parts are fitted together. Every part in the chain carries its own manufacturing tolerance, and those tolerances add up along a direction. A stack-up analysis is the calculation that predicts how large that combined variation can get. It matters because parts that are all individually in spec can still produce an assembly that binds, rattles, or leaks. The analysis tells you whether the design’s tolerance budget is actually achievable before you cut metal.
What is the difference between worst-case and RSS tolerance analysis?
Worst-case analysis adds every tolerance in the chain arithmetically, assuming all parts land on their extremes simultaneously. It guarantees 100% assembly but produces a very conservative — and expensive — tolerance budget. RSS (root sum square) takes the square root of the sum of the squared tolerances, treating each dimension as independent, centered, and roughly normally distributed. RSS predicts about 99.73% conformance at ±3σ and typically shrinks the stack by a factor near √n, where n is the number of contributors. Most production designs use worst case for short, safety-critical chains and RSS for longer production chains.
When is worst-case analysis the right choice?
Choose worst case when the chain is short — two or three contributors — because the penalty is small and the guarantee is absolute. Choose it for safety-critical interfaces where a one-in-a-million interference is unacceptable, such as a braking component or a pressure boundary. It is also the honest choice when you do not trust the process data: prototype runs, a new supplier without capability studies, or features from different machines and setups, where the independence and normality assumptions behind RSS simply do not hold. When those conditions apply, the conservatism is insurance, not waste.
How does GD&T reduce tolerance stack-up?
GD&T helps in two ways. First, geometric controls such as position locate features relative to a datum frame instead of stacking ± coordinate dimensions across a part, removing links from the chain. Second, a position tolerance modified at MMC gains bonus tolerance as the actual feature departs from its maximum material condition — a pin made smaller, or a hole made larger, earns extra positional allowance equal to that departure. Because real parts rarely sit exactly at MMC, the bonus absorbs variation that a fixed ± tolerance must budget for explicitly, often letting the size tolerance itself relax.
What are the limits of the RSS method?
RSS rests on three assumptions: the contributors vary independently, their means sit at nominal, and their distributions are roughly normal. Real processes break all three. A tool-wear trend biases the mean; a shared fixture couples two dimensions; a skewed process inflates the tails. The practical fixes are to verify process capability (Cpk at or above 1.33) on the contributors before trusting RSS numbers, to shift the nominal if the measured mean is offset — a modified RSS or mean-shifted analysis — and to fall back to worst case or Monte Carlo simulation when the data will not support the assumptions.
Do I need tolerance analysis software, or is a spreadsheet enough?
A spreadsheet is enough for the large majority of machined assemblies. One-dimensional chains — gaps, stack heights, coaxial clearances — reduce to a column of signed tolerances and two formulas, and both worst case and RSS fit in a few cells. Dedicated tools earn their cost when the problem is genuinely three-dimensional: variation propagating through pivots, angles, and clearances that amplify over distance, or large assemblies needing sensitivity ranking across hundreds of contributors. Monte Carlo simulation also handles non-normal processes. Start with the spreadsheet; escalate when the geometry stops being one-dimensional.
Related Resources

CNC Machining Surface Finish: The Ra Chart, Explained
The CNC machining surface finish chart: Ra values in μm and μin, N1–N12 grades, what each process achieves, what…

Passivation of Stainless Steel: Process, Specs, and When Parts Need It
Passivation of stainless steel explained for machined parts: the chemistry, ASTM A967 and AMS 2700 methods, nitric…

GD&T Basics for CNC Machined Parts: The Symbols That Matter
GD&T basics for machined parts: the 14 symbols explained, feature control frames, datums, MMC bonus tolerance, true…

How to Outsource CNC Machining to China, Step by Step
How to outsource CNC machining to China, step by step: vet suppliers, compare landed cost, control quality remotely,…
Tolerance-Critical Assembly? Send the Drawing.
IsoCNC machines tolerance-critical parts in aluminum, steel, stainless, titanium, and engineering plastics — with process capability data, CMM inspection reports, and stack-up review on request. An engineer reads every drawing and flags risky tolerance chains before quoting, typically within 1–2 business days.