Reverse Tolerance Allocation & Synthesis
Tolerance analysis answers "will these tolerances work?" Reverse tolerance allocation answers the harder question: "what tolerances should I specify to guarantee this assembly requirement?" This guide covers practical methods for budgeting and distributing tolerances from requirements down to component features.
Forward Analysis vs. Reverse Allocation
Forward (Analysis): Given component tolerances → calculate assembly variation
Reverse (Allocation/Synthesis): Given assembly requirement → calculate component tolerances
What is Reverse Tolerance Allocation?
Reverse tolerance allocation (also called tolerance synthesis or tolerance budgeting) is the process of working backward from an assembly requirement to determine individual component tolerances. Instead of adding up known tolerances, you start with a target tolerance budget and distribute it across contributors.
This "reverse" approach is essential when:
- Designing a new product where tolerances haven't been specified yet
- A design review reveals your assembly requirement is at risk
- Manufacturing feedback shows certain tolerances are too tight
- Optimizing cost by relaxing non-critical tolerances
The Tolerance Budget
Start with the assembly requirement—the gap, clearance, or interference that must be maintained. This is your tolerance budget. Every component in the stack-up chain consumes part of this budget.
Assembly Requirement = ±Ttotal
This is the maximum acceptable variation in the critical dimension
If your assembly needs a clearance of 0.5mm minimum and 1.5mm maximum, your tolerance budget is ±0.5mm around the 1.0mm nominal. Every contributor in the loop must share this budget.
Allocation Methods
There's no single "correct" way to distribute tolerances. The right method depends on your constraints: manufacturing capability, cost, and which dimensions are easier to control.
1. Equal Allocation
Divide the budget equally among all contributors. Simple, but often impractical—it ignores that some features are harder (more expensive) to hold tight than others.
Ti = Ttotal / n
Where n = number of contributors
Worst-case: If you have 5 contributors and ±0.5mm budget, each gets ±0.1mm.
RSS: The math changes. For RSS, tolerances combine as root-sum-square:
Ti = Ttotal / √n
RSS allows larger individual tolerances for the same assembly result
With 5 contributors and ±0.5mm RSS budget, each gets ±0.224mm—more than double the worst-case allocation.
2. Proportional Allocation
Allocate tolerances proportional to nominal dimension. Larger features get larger tolerances, which often aligns with manufacturing capability—it's easier to hold ±0.1mm on a 100mm dimension than on a 5mm dimension.
Ti = Ttotal × (Li / ΣL)
Where Li = nominal dimension of contributor i
This often produces more manufacturable designs than equal allocation, especially when feature sizes vary significantly.
3. Sensitivity-Weighted Allocation
Not all contributors affect the assembly equally. A contributor with sensitivity factor 2 has twice the impact on the result as one with sensitivity 1. Sensitivity-weighted allocation accounts for this by allocating smaller tolerances to high-sensitivity features.
Ti ∝ 1 / |Si|
Where Si = sensitivity coefficient of contributor i
High-sensitivity features (those that strongly affect the result) need tighter tolerances. Low-sensitivity features can be looser without significantly impacting assembly variation.
This is why sensitivity analysis is so valuable—it tells you where to spend your tolerance budget for maximum effect.
| Method | Best When | Drawback |
|---|---|---|
| Equal | Quick estimate, similar features | Ignores manufacturability |
| Proportional | Varied feature sizes, general machining | Doesn't account for process differences |
| Sensitivity-Weighted | Complex assemblies, critical gaps | Requires sensitivity analysis first |
TolReport Allocation Tool
Automatic Tolerance Allocation
TolReport includes a built-in Tolerance Allocation panel that automates reverse allocation. Enter your target tolerance, select a method (Equal, Proportional, or Sensitivity-Weighted), preview the results, then apply with one click.
- Support for WC and RSS target methods
- Lock specific dimensions to exclude from allocation
- Before/after tolerance comparison
- Export allocation details in PDF reports
Worked Example: Shaft-Housing Gap
A shaft passes through two housings with a spacer between them. The assembly requires 0.2–0.8mm end clearance (nominal 0.5mm, tolerance ±0.3mm).
| Contributor | Nominal | Sensitivity | Direction |
|---|---|---|---|
| Housing A depth | 25.0 mm | +1 | Positive |
| Spacer thickness | 10.0 mm | +1 | Positive |
| Housing B depth | 25.0 mm | +1 | Positive |
| Shaft length | 59.5 mm | −1 | Negative |
Stack-up: (25 + 10 + 25) − 59.5 = 0.5mm nominal gap ✓
Equal Allocation (Worst-Case)
Budget: ±0.3mm across 4 contributors
Ti = 0.3 / 4 = ±0.075mm per feature
Very tight! The 59.5mm shaft at ±0.075mm is challenging.
Equal Allocation (RSS)
Ti = 0.3 / √4 = 0.3 / 2 = ±0.15mm per feature
More reasonable. RSS assumes statistical distribution of errors.
Proportional Allocation (RSS)
Total nominal length in chain: 25 + 10 + 25 + 59.5 = 119.5mm
Housing A: 0.3 × (25/119.5) × √4 = ±0.126mm
Spacer: 0.3 × (10/119.5) × √4 = ±0.050mm
Housing B: 0.3 × (25/119.5) × √4 = ±0.126mm
Shaft: 0.3 × (59.5/119.5) × √4 = ±0.299mm
The long shaft gets more tolerance; the thin spacer gets less.
Verification
Always verify your allocation by running the stack-up analysis with the allocated tolerances:
RSS check: √(0.126² + 0.050² + 0.126² + 0.299²) = √0.0896 = ±0.299mm
Result is within ±0.3mm budget ✓
Locking Dimensions
Sometimes certain dimensions can't be changed—they're fixed by a vendor part, a standard component, or a previously approved drawing. In these cases, you lock those dimensions and allocate only among the remaining contributors.
Locked Dimension Example
If the spacer is a purchased part with fixed ±0.1mm tolerance, lock it and redistribute the remaining budget (0.3² - 0.1² = 0.08, √0.08 = ±0.283mm) among the other 3 features.
Iterative Refinement
Allocation is rarely one-and-done. The typical workflow:
- Start with equal or proportional allocation as a baseline
- Check manufacturability — can your processes actually hold these tolerances?
- Identify problem features — which tolerances are too tight for available processes?
- Reallocate — loosen problem features, tighten others to compensate
- Verify — run the stack-up analysis to confirm the assembly still meets requirements
- Iterate until you have a manufacturable design that meets requirements
This is where what-if analysis becomes invaluable. Quickly test "what if I loosen this tolerance and tighten that one?" to find the optimal balance.
Process Capability Constraints
Allocation must respect what your manufacturing processes can actually achieve. Common capability limits:
| Process | Typical Capability | Notes |
|---|---|---|
| CNC Milling | ±0.025–0.1mm | Depends on size, setup |
| CNC Turning | ±0.013–0.05mm | Diameters easier than lengths |
| Grinding | ±0.005–0.025mm | Expensive, adds operation |
| Sheet Metal | ±0.1–0.5mm | Bend locations vary more |
| Injection Molding | ±0.05–0.2mm | Material and part size dependent |
| Die Casting | ±0.1–0.3mm | Draft and parting line effects |
If your allocation demands ±0.01mm from a sheet metal part, you need to reallocate—or change the design.
Connecting Allocation to Cpk
When you allocate tolerances, you're implicitly setting quality targets. A tolerance that matches process capability (3σ = tolerance) gives Cpk ≈ 1.0 and about 2,700 PPM defects. Tighter tolerance relative to capability means higher Cpk and fewer defects.
See Cpk and PPM in Tolerance Analysis for the full relationship between tolerance, process capability, and defect rates.
Common Allocation Mistakes
- Ignoring the loop — allocating tolerances without first identifying all contributors in the tolerance loop
- Forgetting assembly variation — fixtures, fastener clearances, and assembly methods add variation too
- Over-optimistic RSS — RSS assumes independent, normal distributions; correlated or skewed processes need margin
- Single-iteration allocation — not verifying allocations against actual process capability
- Ignoring cost — equal allocation often results in expensive tight tolerances where they're not needed
Summary
- Reverse allocation is the inverse of analysis — start with the assembly requirement, work backward to component tolerances
- Equal allocation is simple but ignores manufacturability
- Proportional allocation scales with feature size, often more practical
- Sensitivity-weighted allocation puts tight tolerances where they matter most
- Lock fixed dimensions and reallocate among adjustable features
- Always verify by running the stack-up analysis with allocated tolerances
- Iterate to balance requirements, capability, and cost