Skip to content

Compliance and audits

Tolerance Stack-Up Analysis: Worst Case and RSS

11 min read Published

A tolerance stack-up answers a question every assembly drawing raises and few of them answer: given what each part is allowed to be, how much can this gap actually vary? The arithmetic is not hard. Getting it right depends on closing the loop properly, rebasing tolerances that are not symmetric, and being honest about which method you are entitled to use. This guide covers the linear case, which is most of the work in practice.

Close the loop first

Before any arithmetic, define the loop. It runs from one face of the gap you care about, through every part that touches on the way, and back to the other face. Every contributor between those two faces appears exactly once. Nothing outside the loop is allowed to move the gap.

Give each contributor a direction. Use plus when growing that dimension opens the gap and minus when it closes it. Use a fraction when only part of a dimension enters the loop, for example 0.5 for a radius taken off a diameter.

An incomplete loop is the failure that no amount of careful arithmetic recovers. If thermal growth, clamp-up, plating thickness or gasket crush moves your gap, those are contributors and they need to be in the list.

Rebase every contributor, including the awkward ones

Both methods need each contributor expressed as a mean and an equal half tolerance. The mean is the midpoint of the printed limits. The half tolerance is half the span between them.

For a symmetric dimension this changes nothing. For an unequal or unilateral one it changes everything. A dimension of 50.000 +0.200 / -0.000 has a mean of 50.100 and a half tolerance of 0.100. Treating it as 50.000 plus or minus 0.200 gets both numbers wrong and shifts the whole stack in one direction.

This is the step hand calculations skip most often, and because it shifts rather than widens the result, it produces an answer that looks reasonable and is not.

Tip: Repeated identical parts are separate terms. Five spacers at plus or minus 0.050 are five contributors, not one contributor of 0.250. It matters enormously for RSS, where five terms of 0.050 give 0.112 rather than 0.250.

Worst case, the arithmetic method

The mean gap is the signed sum of the means. The worst case half width is the sum of the absolute sensitivities times the half tolerances. The gap runs from the mean minus that half width to the mean plus it.

Worst case is a genuine bound. It assumes only that every part stays inside its stated limits and that your loop is complete and correctly signed. It makes no assumption about distributions and none about independence, which is why correlation between parts cannot break it. A bound stays a bound whether the contributors move together or not.

What worst case does not tell you is how likely the extreme is. In a five part stack of centred, independent parts the chance of reaching the worst case is vanishingly small. The method never claims otherwise, so it should never be quoted with a percentage attached.

Root sum square, the statistical method

The RSS half width is the square root of the sum of the squared, sensitivity-weighted half tolerances. Signs drop out of the tolerance term because of the squaring, though they still govern the mean gap.

It works in two steps and only one of them is an assumption. Step one is exact: for independent random variables the variance of a weighted sum is the weighted sum of the variances. Step two is the assumption: if every tolerance is the same multiple of its own standard deviation, that common multiplier cancels and you may root sum square the tolerances directly. If the sigma levels differ between contributors, the plain formula is wrong.

Do not tell anyone the arithmetic fails without normality. It does not. Normality is needed for the percentage claim, not for the algebra.

What RSS assumes, and how each assumption breaks

None of these are technicalities. They are the difference between a number you can put on a drawing and a number that will be contradicted by the first production run.

  • Independence. No shared cause between contributors. This fails for two features cut in one setup, parts from one mould cavity, parts from one bar of stock, one fixture, or anything driven by a common temperature.
  • Centred processes. Each process mean sits at the middle of its tolerance. Tool wear, machine warm-up and a supplier biasing toward the safe material condition all break this, and a known mean offset adds arithmetically rather than in quadrature.
  • A common sigma level. Every tolerance is the same multiple of its own standard deviation, and you state which. Plus or minus 0.1 at three sigma and plus or minus 0.1 at six sigma are different claims about the same number.
  • Roughly normal contributors, or enough of them that the sum is. Sorted or fully inspected parts are truncated. Multi-cavity and multi-spindle output is multi-modal. Parts made to a go gauge pile up against one limit.
  • No single dominant term. If the largest squared term is more than half the sum of squares, the assembly inherits that one part and the normal argument is weak.

How far wrong RSS goes when the assumptions fail

A worked case makes it concrete. Take two contributors of equal half tolerance whose values are spread uniformly across their limits, which is roughly what a sorted or loosely controlled process produces. Their sum is triangular rather than normal.

Classic RSS puts the three sigma half width at 1.414 times the tolerance. The true central 99.73 percent half width of that triangle is 1.896 times it. And the fraction of assemblies falling outside the RSS band is 8.58 percent, not the 0.27 percent the normal assumption implies.

That is a factor of about thirty on the fallout rate, in the direction that costs money. The arithmetic was correct throughout. The distribution assumption was not.

Running a stack-up

  1. Define the loop. Start at one face of the gap, walk through every part that touches, and finish at the other face. List each contributor once.
  2. Give each contributor a direction: plus if growing it opens the gap, minus if it closes it, and a fraction when only part of the dimension enters the loop.
  3. Rebase every contributor to a mean and an equal half tolerance from its printed limits. Do this even when the tolerance looks symmetric, so the unequal ones cannot slip through.
  4. Compute the mean gap as the signed sum of the means.
  5. Compute the worst case half width as the sum of the absolute sensitivities times the half tolerances. This is your bound.
  6. Check your signs. Recompute the maximum and minimum gap straight from the printed limits, with no rebasing, and confirm both routes agree. If they do not, a sign or a conversion is wrong.
  7. Decide whether you are entitled to a statistical result. Check the number of contributors, whether any one dominates the variance, and whether you have capability evidence for every part.
  8. If you are, compute the RSS half width and state the sigma level it assumes. If you are not, stop at worst case and say so.

Choosing between them

Use worst case by default, and always when a single non-conforming assembly is unacceptable. That covers safety-critical fits, sealing, prototypes, single builds, low volume, spares that must interchange, and anything you cannot rework or select-fit. Use it whenever you have no process data, and whenever the loop has fewer than about four contributors.

Use RSS for volume production where a small, quantified and detectable fallout is acceptable, and where you have capability evidence on every contributor or a supplier commitment to a stated capability. It pays when several contributors are of similar size. It pays almost nothing when one term dominates.

Never use RSS silently. If the design depends on it, the drawing has to carry the statistical tolerancing requirement, because a supplier shipping every part at one limit is fully conforming and your RSS number was never true.

On standards, plainly

There is no standard that gives a general tolerance stack-up procedure. It is worth knowing that, because plenty of material implies otherwise.

ISO 286-1 computes fit clearances arithmetically from the limits, where maximum clearance is the hole upper limit minus the shaft lower limit. That is a worst case stack on a two part loop, and it is the only standardised piece of this arithmetic. Do not stretch it further than two parts.

ASME Y14.5 defines the dimensioning and tolerancing language and what limits mean. It gives no stack-up formulas. The methods here come from engineering practice and from textbooks, notably Fischer's Mechanical Tolerance Stackup and Analysis and Drake's Dimensioning and Tolerancing Handbook.

If someone cites a standard for RSS stack-up, ask which clause. The honest answer is that the practice is conventional rather than specified.

A stack-up is not an uncertainty budget

The two are easy to conflate because both combine contributors in root sum square, and quality engineers meet both.

A tolerance stack-up combines the permitted variation of parts to predict how an assembly will vary. A measurement uncertainty budget combines sources of doubt about a measurement to state how well you know a value, then expands the result by a coverage factor to a stated confidence.

A tolerance is a permission granted to a process. An uncertainty is a statement about knowledge. They answer different questions and a number from one does not transfer into the other without saying which you mean.

Where Axiospec fits

Axiospec does not run stack-ups. It is calibration management software, and the tolerance stack-up calculator on this site is a free standalone tool with no account behind it.

The connection is the gauge doing the measuring. A stack-up tells you how much your assembly can vary. It says nothing about whether the instrument checking it is still reading true. Axiospec keeps that side: calibration status on every instrument, as-found and as-left readings, and per-instrument uncertainty budgets that feed a test uncertainty ratio.

If your stack-up says a feature has 0.05 mm of room and the gauge measuring it carries an uncertainty of 0.02 mm, the stack-up was only half the analysis.

Common questions

What is tolerance stack-up analysis?
It is the arithmetic that tells you how much a gap or a fit can vary once you add up the tolerances of every part between its two faces. You define a loop from one face of the gap, through every part that touches, and back to the other face. Each contributor gets a direction, plus if growing it opens the gap and minus if it closes it. Then you combine the tolerances, either arithmetically for a bound or in quadrature for a statistical prediction.
What is the difference between worst case and RSS tolerance analysis?
Worst case adds the tolerances arithmetically. It is the widest the gap can be if every part sits at its worst limit at once, so it is a genuine bound and it needs no assumption about distributions or independence. RSS adds them in quadrature, giving a narrower band that describes a population of assemblies rather than a bound. RSS rests on assumptions worst case does not need, and real parts do fall outside an RSS band.
What does RSS stand for in tolerance analysis?
Root sum square. You square each sensitivity-weighted half tolerance, add the squares, and take the square root. It is sometimes written RMS, root mean square, in the same context. Adding variances in quadrature is exact for independent random variables, so the arithmetic itself is not in question. The assumption is in going from variances to tolerances, which works only when every tolerance is the same multiple of its own standard deviation.
Why do I have to rebase unequal tolerances before adding them?
Because both methods need a mean and an equal half tolerance for every contributor. A dimension of 50.000 +0.200 / -0.000 is centred on 50.100 with a half tolerance of 0.100, not on 50.000. Skipping this shifts the answer rather than widening it, so the stack-up comes out confidently wrong in one direction. It is the single most common error in a hand calculation.
How many contributors do I need before RSS is reasonable?
About four as a rough floor, and that is a judgment rather than a rule. Below that there is no central limit argument, so the sum keeps whatever shape the individual parts have and the normal percentages do not apply. Also check whether one contributor dominates. If the largest squared term is more than half the sum of squares, the assembly inherits that one part's behaviour and the statistical argument is weak no matter how many terms you have.
How wrong can RSS be when its assumptions fail?
Materially wrong, and in the unsafe direction. Take two contributors of equal tolerance whose values spread uniformly across their limits, which is what a loosely controlled or sorted process looks like. Their sum is triangular. Classic RSS puts the three sigma half width at 1.414 times the tolerance, but the true central 99.73 percent half width is 1.896 times it, and the fraction falling outside the RSS band is 8.58 percent rather than 0.27 percent. The arithmetic did not fail. The distribution assumption did.
Is there an ISO or ASME standard for tolerance stack-up?
Not for the general procedure. ISO 286-1 computes fit clearances arithmetically from the limits, which is a worst case stack on a two part loop, and that is the only standardised piece of this arithmetic. ASME Y14.5 defines what the tolerances mean and gives no stack-up formulas. The methods come from engineering practice and textbooks rather than from a clause, so anyone citing a standard for RSS stack-up should be asked which clause.
Is a tolerance stack-up the same as a measurement uncertainty budget?
No, though the arithmetic rhymes and both use root sum square. A stack-up combines the permitted variation of parts to predict how an assembly will vary. An uncertainty budget combines sources of doubt about a measurement to state how well you know a value, then expands the result by a coverage factor to a stated confidence. A tolerance is a permission granted to a process. An uncertainty is a statement about knowledge. Do not carry a number from one into the other without saying which you mean.

Put it into practice

Got a gage list? Send it over and we load it for you, usually in a couple of business days. Free on every plan. Then log every calibration to a tamper-evident audit trail and produce records on demand.

Axiospec is a documentation and workflow tool. It helps you keep clean, traceable, audit-ready records; certification depends on your own processes, scope, and assessor.

More like this, by email

A short series of practical calibration guides like this one. No spam, unsubscribe with one click.