Tolerance Stack-Up Calculator (Worst Case, RSS, Monte Carlo)

Enter each dimension in a one-dimensional loop with its nominal, tolerance and direction. The calculator gives the gap by worst case, RSS and Monte Carlo, in mm or inches.

Length unit

Inputs

  1. Bonus

    Position only

  2. Bonus

    Position only

  3. Bonus

    Position only

Results

Worst case

Nominal gap
10.000 mm
Min
9.800 mm
Max
10.200 mm
Half width
± 0.200 mm

RSS

Min
9.878 mm
Max
10.122 mm
Half width
± 0.122 mm
Sigma
0.041 mm

Bender factor 1.0

Monte Carlo running…

Monte Carlo histogram

Simulating…

Loop diagram

Dim 1 (+25.000)Dim 2 (-10.000)Dim 3 (-5.000)Gap (10.000)
Loop diagram in mm. Blue bars are positive contributors, orange are negative; each starts where the previous one ends. The green bar is the nominal gap.

Method

What it returns. For the stack entered, the calculator gives the nominal gap, the worst case limits, the RSS limits and a seeded Monte Carlo distribution with the yield against an optional target. Values are in millimetres by default, with an inch toggle. The stack is stored in the page URL so it can be shared, exported as CSV or printed as a report.

Equal-bilateral conversion. Each contributor is first converted to a mean and an equal-bilateral half width. For a plus/minus tolerance, mean = nominal + (plus - minus) / 2 and half width = (plus + minus) / 2, so 10 +0.2/-0.1 becomes 10.05 ± 0.15. A GD&T position tolerance of zone T with bonus B at MMC (maximum material condition) becomes nominal ± (T + B) / 2. A profile tolerance of zone T becomes nominal ± T / 2 (Fischer 2011, ASME Y14.5-2018).

Worst case. The nominal gap is the signed sum of the contributor means, with positive contributors in the loop direction and negative ones against it. The worst case half width is the plain sum of all half widths, and the limits are the nominal gap minus and plus that sum. It assumes every part is at its limit at the same time, so the result is conservative.

Root sum square (RSS). The RSS half width is the square root of the sum of the squared half widths, multiplied by the Bender factor. A factor of 1.0 gives the textbook RSS. A factor of 1.5 is the inflation Bender proposed to cover mean shifts and non-normal processes seen in production (Bender, Graphic Science, 1962). The reported sigma is the root sum square of the contributor sigmas.

Monte Carlo. Each sample draws every contributor from its distribution and adds the draws with their signs. A normal contributor has sigma = half width / k, where k is the sigma multiplier (default 3, so the tolerance equals 3 sigma). A uniform contributor is drawn evenly across its full tolerance, with sigma = half width / √3. The generator is seeded (mulberry32, Box-Muller), so the same inputs and seed always give the same result. Percentiles use linear interpolation on the sorted samples (Creveling 1997).

Assumptions

  • The stack is one-dimensional and linear: every contributor adds or subtracts directly along one axis, with a sensitivity of +1 or -1.
  • Contributors are statistically independent.
  • A normal tolerance equals k sigma of the process, with k = 3 by default.
  • GD&T position and profile tolerances are converted to equal-bilateral values on the nominal. Datum shift, datum simulation and form variation are not modelled.
  • No thermal expansion, deflection under load or assembly shift is included.
  • All lengths in one stack use one unit.

Standards and references

StandardNote
ASME Y14.5-2018, Dimensioning and TolerancingGD&T terms, position and profile zones, bonus tolerance at MMC.
Bender, A., Benderizing tolerances: a simple practical probability method of handling tolerances for limit stack-ups, Graphic Science, December 1962Source of the 1.5 inflation factor on the RSS result.
Bender, A., Statistical tolerancing as it relates to quality control and the designer, SAE Technical Paper 680490, 1968Later paper by the same author on statistical tolerancing for the designer.
Fischer, B. R., Mechanical Tolerance Stackup and Analysis, 2nd ed., CRC Press, 2011Loop diagram, sign convention, equal-bilateral conversion, worst case and RSS method.
Creveling, C. M., Tolerance Design, Addison-Wesley, 1997Statistical tolerancing and Monte Carlo simulation of assemblies.

Worked example: tolerance stack-up for a three-part linear stack

A 25 ± 0.1 mm housing bore contains a 10 ± 0.05 mm spacer and a 5 ± 0.05 mm bush. The gap is 25 - 10 - 5. All three are normal with k = 3, Bender factor 1.0. This is the default stack loaded in the calculator.

ResultValue
Nominal gap10.000 mm
Worst case9.800 to 10.200 mm (± 0.200)
RSS9.878 to 10.122 mm (± 0.122), sigma 0.041 mm
Monte Carlo, seed 1, 20,000 samplesmean 10.000 mm, sigma 0.041 mm

Frequently asked questions

When should I use RSS instead of worst case?

Use worst case when every assembly must fit, the part count is small, or failure is safety critical. Use RSS when there are several independent contributors from capable processes and a small reject rate is acceptable. RSS gives a tighter band because all parts rarely sit at their limits together.

What is the Bender factor?

It is a multiplier on the RSS half width. Bender (Graphic Science, December 1962) proposed 1.5 to allow for process mean shifts and distributions that are not centred normals. Use 1.0 for textbook RSS and 1.5 for a more conservative statistical result.

How is bonus tolerance at MMC applied?

For a position tolerance, set the zone T and the bonus you expect from the feature departing from MMC. The contributor becomes nominal ± (T + bonus) / 2. For example T 0.2 mm with 0.1 mm bonus gives ± 0.15 mm. Bonus is only offered for position.

Why does the Monte Carlo sigma differ slightly from the RSS sigma?

Monte Carlo estimates sigma from a finite random sample, so it carries sampling error of roughly 1 percent at 20,000 samples. The default stack gives 0.041 mm from both methods. Larger sample counts reduce the difference. A different seed gives a slightly different estimate.

Can I mix millimetres and inches in one stack?

No. One stack uses one unit. The toggle converts every displayed value between mm and inches. The calculation itself is the same.

How do I share or save a stack?

The whole stack is encoded in the page URL after #s=. Use Copy link and send the address. Opening it restores every row and setting. Export CSV saves the contributor table, and Download report prints the inputs, results and method.

What sign should each contributor have?

Draw the loop from one side of the gap to the other. Dimensions that go in the positive direction are +, those that come back are -. The nominal gap is the signed sum.

Changelog

DateChange
Corrected the Bender citation: the 1.5 factor is from Graphic Science, December 1962, not an SAE paper of that year. Added the 1968 SAE paper 680490. Shortened the introduction.
First published.