How to Write a Tolerance Stack-Up Report
This step-by-step guide walks you through creating a complete tolerance stack-up report—from identifying inputs to documenting results. Follow this process for any 1D tolerance analysis.
Step 1: Define the Critical Dimension
Every stack-up answers one question: What is the acceptable range for this dimension?
Start by identifying:
- What you're measuring — A gap, clearance, interference, or fit
- Minimum acceptable value — Below this, function fails (binding, interference)
- Maximum acceptable value — Above this, function degrades (slop, leakage, misalignment)
- Why these limits matter — The functional reason behind each limit
Example
Critical dimension: Clearance between piston and cylinder wall
Min: 0.02mm (below this, piston binds)
Max: 0.08mm (above this, excessive blow-by)
Step 2: Build the Dimension Chain
List every dimension that contributes to your critical dimension. Start at one reference surface and trace the path to the other.
For each dimension, record:
| Field | Description |
|---|---|
| Name | Descriptive label (e.g., "Housing bore diameter") |
| Nominal | The target dimension from the drawing |
| Tolerance | The allowed variation (±X or +Y/-Z) |
| Direction | + if it adds to the gap, − if it subtracts |
| Source | Drawing number, vendor spec, or measured data |
Direction is Critical
Getting signs wrong is the most common stack-up error. Ask: "If this dimension gets bigger, does my gap get bigger (+) or smaller (−)?"
Step 3: Calculate the Nominal Result
Sum all positive dimensions and subtract all negative dimensions:
Nominal = Σ(positive dims) − Σ(negative dims)
The result is your expected gap/clearance under nominal conditions. It should fall within your target specification. If the nominal itself is out of spec, you have a design problem before even considering tolerances.
Step 4: Calculate Worst-Case (WC)
Worst-case analysis assumes all dimensions simultaneously hit their worst limits. It's conservative but guarantees 100% assembly success.
WC Tolerance = Σ|all tolerances|
WC Min = Nominal − WC Tolerance
WC Max = Nominal + WC Tolerance
Pass criteria: WC Min ≥ Target Min AND WC Max ≤ Target Max
Step 5: Calculate RSS (Statistical)
RSS (Root Sum of Squares) uses statistical averaging. It assumes tolerances follow normal distributions and won't all hit extremes simultaneously.
RSS Tolerance = √(Σ tolerance²)
RSS Min = Nominal − RSS Tolerance
RSS Max = Nominal + RSS Tolerance
RSS typically yields 30–50% tighter results than WC. Use it when:
- Production volume is high (1000+ units)
- Processes are in statistical control (Cpk ≥ 1.33)
- Some fallout is acceptable and manageable
Step 6: Perform Sensitivity Analysis
Sensitivity shows which dimensions contribute most to variation. It guides tolerance improvement efforts.
% Contribution = (tolerance_i)² / Σ(all tolerances)² × 100
Focus on high-contribution dimensions. Tightening a 5% contributor won't move the needle; tightening a 40% contributor will.
Step 7: Document Assumptions
Every stack-up depends on assumptions. Document them so future engineers understand the analysis context:
- Temperature — Analysis assumes room temperature, or specific thermal condition
- Material — No thermal expansion coefficient applied, or specific CTE used
- Process capability — Tolerances assumed centered, or specific Cpk expected
- Excluded factors — Deflection, wear, form error, etc. not considered
- Drawing revision — Which drawing version the dimensions came from
Step 8: Make a Recommendation
A report without a conclusion is incomplete. State your recommendation clearly:
Quick Reference: Report Checklist
- ☐ Assembly name and description
- ☐ Critical dimension with min/max specification
- ☐ Complete dimension chain table
- ☐ Nominal result
- ☐ WC calculation and pass/fail
- ☐ RSS calculation and pass/fail
- ☐ Sensitivity analysis (top contributors)
- ☐ Assumptions documented
- ☐ Recommendation stated
- ☐ Date and author