| name | statistical-tolerancing |
| description | Statistical tolerancing — worst-case vs. RSS (root sum of squares) tolerancing, normal distribution tolerancing, process capability (Cp, Cpk), Six Sigma tolerance design, Monte Carlo simulation for tolerance stackup, assembly tolerance loops, mean shift allowance, ASME Y14.5 GD&T, bilateral vs. unilateral tolerances, design for manufacture and assembly (DFMA), and tolerance allocation optimization. |
| metadata | {"priority":7,"promptSignals":{"phrases":["statistical tolerancing","tolerance stackup","RSS tolerancing","Monte Carlo tolerancing","process capability","tolerance analysis"],"minScore":3}} |
Statistical Tolerancing — Complete Skill
Tolerancing Fundamentals
Worst-Case vs. Statistical Tolerancing
Worst-case (WC) tolerancing:
T_assembly = Σ |t_i| [arithmetic sum of all component tolerances]
Guarantees 100% of assemblies meet specification — regardless of component distributions
Over-engineered: requires tight individual tolerances → high cost
Statistical (RSS) tolerancing:
T_assembly = √(Σ t_i²) [root sum of squares; assumes normal distributions centered at nominal]
Reduces required component tolerances (or widens them for same assembly tolerance)
Risk: some assemblies (typically < 0.27% for 3σ design) fail to meet spec — accept with process control
Example comparison:
5-component chain: each WC tolerance t_i = 0.1 mm
WC: T_assembly = 5 × 0.1 = 0.5 mm
RSS: T_assembly = √(5 × 0.01) = 0.224 mm
→ For same assembly tolerance 0.5 mm: RSS allows t_i = 0.5/√5 = 0.224 mm per component (2.24× wider!)
Statistical Tolerance Stackup (Linear Chains)
Assembly Tolerance Model
Tolerance loop:
Gap = Σ aᵢ × Xᵢ [assembly gap; aᵢ = ±1 (sensitivity coefficient — direction in loop); Xᵢ = component dimension]
Nominal gap: G₀ = Σ aᵢ × X_nominal_i
Component dimensions as random variables:
Xᵢ ~ N(μᵢ, σᵢ²) [normal distribution; μᵢ = nominal; σᵢ = standard deviation]
Tolerance tᵢ = ±zσᵢ [z = number of sigma; z = 3 for 99.73% containment = ±3σ design]
Assembly gap distribution:
G ~ N(G₀, σ_G²) [sum of normals is normal]
σ_G² = Σ aᵢ² × σᵢ² [variance adds; sensitivities squared]
σ_G = √(Σ σᵢ²) [for aᵢ = ±1; standard RSS formula]
Assembly tolerance at same z-level:
T_assembly = z × σ_G = z × √(Σ (tᵢ/z)²) = √(Σ tᵢ²) [RSS result; z cancels]
Assembly yield (normal distribution):
Y_assembly = Φ(T_assembly/σ_G) - Φ(-T_assembly/σ_G) [probability gap within [−T, +T]]
For ±3σ design: Y_assembly = Φ(3) - Φ(-3) = 0.9973 (99.73%)
For ±6σ design: Y_assembly = 99.9999998%
Six Sigma Tolerance Design
Mean Shift Allowance
Real manufacturing: processes drift → mean not perfectly centered; typical drift = ±1.5σ long-term
Six Sigma incorporates ±1.5σ mean shift:
Effective process capability at 6σ nominal = 6σ - 1.5σ = 4.5σ short-term → corresponds to 3.4 DPMO long-term
Modified RSS with mean shift:
T_assembly = z_required × √(Σ tᵢ²) + Σ |δᵢ| [add mean bias terms for worst-case mean shifts]
More commonly: use Monte Carlo with realistic distributions (non-centered)
Design rule (Bender, 1962):
T_assembly = 1.5 × √(Σ tᵢ²) [empirical; adds correction for non-normality and mean shifts]
Widely used; provides ~99% yield without extreme tightening
Process Capability Integration
Cp and Cpk
Process capability index Cp:
Cp = (USL - LSL) / (6σ_process) = T_total / (6σ) [T_total = USL - LSL = 2T_bilateral]
Cp ≥ 1.0: process barely capable (0.27% nonconforming)
Cp ≥ 1.33: good capability (63 ppm nonconforming)
Cp ≥ 1.67: excellent (0.57 ppm nonconforming)
Cp ≥ 2.0: Six Sigma capable (2 ppb nonconforming)
Process capability index Cpk (accounts for centering):
Cpk = min[(USL - μ)/(3σ), (μ - LSL)/(3σ)] [measures effective capability toward nearest limit]
Cpk < Cp: process off-center
For centered process: Cpk = Cp
Relating tolerance to σ:
tᵢ (at ±3σ): σᵢ = tᵢ/3; Cp = T/6σ = 2tᵢ/(6×tᵢ/3) = 1.0
tᵢ (at ±4σ): σᵢ = tᵢ/4; Cp = 2tᵢ/(6×tᵢ/4) = 1.33
tᵢ (at ±6σ): σᵢ = tᵢ/6; Cp = 2.0
In RSS tolerancing: specify each component tolerance to achieve required Cpk at manufacturing:
σᵢ = tᵢ/3 (for Cp = 1.0) → plug into RSS → compute σ_G → compute assembly yield
Monte Carlo Simulation
Method
For complex, non-linear assemblies:
- Define probability distribution for each dimension Xi: typically N(μᵢ, σᵢ²) or uniform
- Sample N = 10,000–100,000 random values for each Xi
- Compute assembly gap G for each sample: G_j = f(X₁ⱼ, X₂ⱼ, ..., Xₙⱼ)
- Count failures: assemblies where G < G_min or G > G_max
- Estimated defect rate = failures/N; confidence interval from binomial statistics
Advantages over RSS:
- Handles non-linear geometry (not just Σaᵢ Xᵢ)
- Non-normal distributions: uniform, triangular, beta
- Correlation between dimensions
- Multiple outputs simultaneously
Convergence:
For defect rate p = 0.001 (0.1%): need N ≥ 100/p = 100,000 samples for ±30% uncertainty
For rare defects p = 10⁻⁶: N ≥ 10⁸ (importance sampling or analytical needed)
Software: DimXpert (SolidWorks), VSA (Siemens), CETOL 6σ (Sigmetrix), EZtol, MATLAB Statistics Toolbox
Tolerance Allocation Optimization
Equal Bilateral vs. Optimal Allocation
Equal bilateral allocation: each component gets same tolerance tᵢ = T_assembly/√N
Simple; may not match manufacturing process capabilities
Process-based allocation: assign tᵢ proportional to Cpk achieved at each operation
tᵢ = T_assembly × σᵢ / √(Σ σⱼ²) [weighted by natural process spread]
Feasible if process Cpk ≥ 1.0 for each; auto-allocates budget to capable processes
Cost-based optimization:
Cost = Σ C_i(tᵢ) [C_i = manufacturing cost as function of tolerance — tighter = more expensive]
Minimize: Cost = Σ Cᵢ(tᵢ) subject to: √(Σ tᵢ²) ≥ T_assembly (RSS constraint)
Using Lagrange multipliers: ∂Cᵢ/∂tᵢ = λ × tᵢ / T_assembly for all i → equi-marginal principle
Typical cost model: Cᵢ(tᵢ) = aᵢ/tᵢ^bᵢ → tighter tolerance costs more
GD&T Application to Tolerancing
ASME Y14.5-2018 Geometric Dimensioning
Statistical tolerancing note:
ASME Y14.5 allows "±t (ST)" designation: statistical tolerance; implies RSS assembly
Component must be controlled to achieve assembly yield (documented Cpk required on drawing)
Key GD&T callouts affecting stackup:
Datum reference frame: determine which features locate the assembly; sequence A, B, C
Bonus tolerance: MMC/LMC modifiers allow additional positional tolerance → change σ distribution
True position: Φ⊙|0.2|A|B|C → position tolerance zone size relative to datum
Including GD&T in RSS:
Flatness error → contributes to perpendicularity of contact planes → adds variance
True position: positional tolerance zone = circular → use diametral tolerance in X and Y separately
Design for Manufacture — Tolerance Cost
Achievable tolerances by process:
| Process | Typical tolerance [mm] | Natural Cp (±3σ) |
|---|
| CNC turning | ±0.025–0.075 | 1.0–1.3 |
| CNC milling | ±0.025–0.125 | 1.0–1.3 |
| Precision grinding | ±0.005–0.025 | 1.3–1.7 |
| Reaming | ±0.005–0.025 | 1.3 |
| Die casting | ±0.10–0.25 | 0.7–1.0 |
| Injection molding | ±0.075–0.25 | 0.7–1.0 |
| Sheet metal stamping | ±0.05–0.25 | 1.0–1.3 |
Design rule: if required tᵢ < 2× natural process spread → will need 100% inspection or tighter SPC
Standards and References
| Standard | Scope |
|---|
| ASME Y14.5-2018 | Dimensioning and Tolerancing |
| ASME Y14.5.1M | Mathematical definition of Y14.5 tolerancing |
| ISO 2768 | General tolerances for linear and angular dimensions |
| ISO 286 | ISO system of limits and fits |
| Creveling "Tolerance Design" | Statistical tolerance design textbook |
| Harry & Schroeder "Six Sigma" | Six Sigma tolerance design |
Output
Provide: assembly description (dimensions in tolerance chain [N]; nominal gap G₀ [mm]; allowable variation: G_min to G_max [mm]), component tolerances (each t_i [mm]; basis: existing drawing / process capability; confidence level z_i; Cp per component), worst-case check (T_WC = Σtᵢ [mm]; does WC exceed gap spec? If yes: must use statistical), RSS analysis (T_RSS = √Σtᵢ² [mm] vs. T_assembly_limit [mm]; yield at 3σ [%]; yield at 4σ [%]), mean shift/Bender correction (T_RSS × 1.5 or explicit bias Σ|δᵢ| [mm]; adjusted yield [%]), process capability (Cp and Cpk per component; any Cp < 1.0: flag; required manufacturing feedback), Monte Carlo (recommended if nonlinear or non-normal; N_samples; defect rate estimate [ppm]), tolerance allocation (equal: t_i = T/√N; or cost-optimized: t_i ratio; recommended per process), GD&T note (statistical tolerance note on drawing: ±t(ST); Cpk requirement stated: Cpk ≥ 1.33), and applicable standard (ASME Y14.5-2018; ISO 286 fits; Creveling "Tolerance Design").