Monte Carlo Tolerance Calculator
1-D Tolerance Analysis Workspace: dimensional Monte Carlo with asymmetric ±tol, correlations, sensitivity ranking, σ convergence, LSL/USL yield, simulated capability, and immutable Freeze snapshots.
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · O2-A analytic σ/moments/Cp* and O2-B seeded mulberry32+Box-Muller replay of mean/std/percentiles/yield + O3 mpmath tabulated analytic σ. NORTA sampling and Sobol/Shapley remain Evidence regression.
- Input interpretation
- Enter values to calculate.
- Result
- —
- Verified scope
- O2-A analytic σ/moments/Cp* and O2-B seeded mulberry32+Box-Muller replay of mean/std/percentiles/yield + O3 mpmath tabulated analytic σ. NORTA sampling and Sobol/Shapley remain Evidence regression.
- Assurance
- Engineering
- Declared partition coverage
- PASS · 13/13 declared partitions (normal-independent, normal-correlated, non-normal, norta-correlated, asymmetric, mean-shift, yield-capability, sensitivity-ranking, sobol, shapley, reproducibility, large-N, invalid-domain) · Matrix
- Deferred
- NORTA sampling, Sobol, and Shapley remain Evidence regression. O3 does not cover seeded MC statistics, Gaussian copula, or GD&T/3-D chains.
- Numerical scope
- O2-A: analytic σ / moments / Cp* Cpk* vs separate-module identities (≤2 ULP). O2-B: seeded mulberry32+Box-Muller replay of mean/std/percentiles/yield (≤2 ULP). Not measured SPC. NORTA Pearson ≠ latent ρ; NORTA sampling remains Evidence regression. ≤2 ULP vs O3 applies only to the published tabulated analytic σ / moments / stack_center vectors (independent normal, correlated normal, gap, uniform, asymmetric uniform, triangular, k=1 3-4-5, single). Seeded MC statistics, NORTA, Sobol, and Shapley are not O3-compared.
- Known limitations
- Core CVP does not include live graph, viewport, or pointer interaction.
- Model
- 1-D Tolerance Analysis Workspace — Monte Carlo stack, yield, sensitivity ranking, convergence, fingerprint, export/snapshot.
- Scope
- Independent unless correlations provided
- Verification
- Engine tested · Source checked · v1.12.0 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · O2-A analytic σ/moments/Cp* and O2-B seeded mulberry32+Box-Muller replay of mean/std/percentiles/yield + O3 mpmath tabulated analytic σ. NORTA sampling and Sobol/Shapley remain Evidence regression.· View Manifest · CVP overview · Specification
- Versions
- Calculation 1.12.0 · CVP protocol 1.0.0-proposed · Evidence 2026-09-16.o3-analytic
- Verification revision
- 2026-09-16.o3-analytic · 40/40 property · digest 964fa4df8516
- Legacy regression
- 71/71 tests · Production surface contract 8/8
- Trust layers
- Verification VERIFIED · Production CURRENT · overall VERIFIED
- Reference
- O1 model · O3 expected_values · O3 numerical_behavior · O2 expected_values · O2 numerical_behavior
- Interfaces
- PASS · UI (SSR) / REST / MCP
- Supplemental domain review
- Internal · Pass · tolerance-engineer
- Named expert review
- Not performed
- CVP suite
- 5/5 golden · 25/25 CVP boundary · 13/13 invalid · 40/40 property · 8/8 O3 · 12/12 cross-interface · 8/8 CVP contract · Manifest
- Sources
- NIST IR 6223 — Design for Tolerance of Electro-Mechanical Assemblies
- ASME Y14.5 — Dimensioning and Tolerancing
- NIST Engineering Statistics Handbook — Process Capability
- Statistical tolerance analysis practice
- Evidence
- 5 legacy golden · 26 legacy boundary · legacy regression suite · 5/5 oracle-backed golden · 13/13 invalid · Artifact integrity PASS · CalculatorX tolerance / mechanical engineering review
- Semantic contract
- PASS
Full verification
Formulas
Core equations used by this calculator.
How to use
Enter dimensions
Nominal, +Tol/−Tol, sense (+ Add / − Subtract), optional shift and distribution.
Optional ρ and limits
Structured correlation rows; LSL/USL for yield. Mismatch vs stack center raises a warning.
Interpret, export, freeze
Check analytic σ, sensitivity ranking, convergence; Freeze snapshot for audit, or use the result-panel Download for CSV.
Example calculations
Common configurations with formula and result.
±0.1 · ±0.2
N=2000 seed=42
Gap A−B with specs
A=10±0.1, B=5±0.2, LSL/USL 4.8–5.2
Monte Carlo Tolerance calculator specification
Version 1.12.0 · Engine tested · Supplemental domain review · Internal · 2026-08-12
- Engine tested 71/71 tests · Production surface contract 8/8
- Supplemental domain review Internal · Pass · tolerance-engineer · 2026-08-12
- Named expert review Not performed
- Calculation version 1.12.0
Review policy · Evidence · Reviewed by CalculatorX tolerance / mechanical engineering review (tolerance-engineer)
- Definition
- 1-D Tolerance Analysis Workspace. Each dimension contributes c·(nominal + mean_shift + ε). Reports analytic σ cross-check, Spearman/Pearson/Sobol/Shapley sensitivity, NORTA correlations, convergence, optional LSL/USL yield, simulated design-stage capability, calculation_fingerprint, and Freeze snapshot.
- What it calculates
- 1-D Tolerance Analysis Workspace — Monte Carlo stack, yield, sensitivity ranking, convergence, fingerprint, export/snapshot.
- Inputs
- tolerances[{nominal?, half_tolerance|tol_plus/tol_minus, coefficient?, distribution?, mean_shift?}]
- correlations?, sensitivity_method?, LSL?, USL?, unit?, N, seed, k_sigma
- Outputs
- stack_*, mean, std, std_analytic, contributors, convergence
- yield, simulated_Cp/Cpk, warnings[], yield_sampling, calculation_fingerprint, calculation_short_id, histogram, rng
- Formula
y=Σ c(nom+shift+ε)- Assumptions
- Independent unless correlations provided
- Correlated all-normal: joint two-piece normal via Cholesky
- Correlated non-normal: Gaussian-copula NORTA; entered ρ is latent Gaussian correlation, not Pearson of the finished marginals
- Cp*/Cpk* are design-stage simulated indices
- Units
- same as dimensions
- Boundary conditions
- N∉100…1e5 → VALUE_OUT_OF_RANGE
- stack center outside LSL/USL → SPEC_CENTER_MISMATCH
- observed yield 0 or 1 → YIELD_SAMPLING_EXTREME
- sobol + correlations → SOBOL_REQUIRES_INDEPENDENT_INPUTS
- non-normal + correlations → Gaussian-copula NORTA (CORRELATED_NORTA)
- shapley works with correlations (exact d≤12)
- Example
- A=10 +0.1/−0.05, B=5±0.2, LSL=4.8, USL=5.2
- Validation cases
1 published on this page · 71/71 tests · Production surface contract 8/8 · View evidence
- tol1=0.1 tol2=0.2 N=2000 seed=42 → std≈0.074314 · short_id fnv1a32:becf725e · fingerprint sha256:…
- Sources
- NIST IR 6223 — Design for Tolerance of Electro-Mechanical Assemblies — Monte Carlo for assembly tolerance analysisSupports: Monte Carlo for assembly tolerance and functional requirements
- ASME Y14.5 — Dimensioning and Tolerancing — Dimensional tolerancing semanticsSupports: ± and limit tolerancing language background
- NIST Engineering Statistics Handbook — Process Capability — 6.1.6 What is Process Capability?Supports: Distinguishes simulated design indices from measured SPC Cp/Cpk
- Statistical tolerance analysis practice — RSS, correlation, sensitivity, capabilitySupports: Stack-up, Spearman ranking, design-stage capability
- NIST IR 6223 — Design for Tolerance of Electro-Mechanical Assemblies — Monte Carlo for assembly tolerance analysis
- Last reviewed
- 2026-08-12
- Reviewed by
- CalculatorX tolerance / mechanical engineering review (tolerance-engineer)
- Calculation version
- 1.12.0
Background
Interpretation and common distinctions.
v1.12.0 freezes the Agent contract: correlations are named {a,b,rho} only; tolerances are half_tolerance or both tol_plus+tol_minus; histogram shows off-scale LSL/USL callouts instead of edge stubs; output_summary / output_full are first-class schema links; Evidence adds fingerprint parity.
v1.11.0 adds MCP detail_level=summary|full (default summary) and elevates Frozen /s/… as the professional immutable share path (Query URL remains editable re-run).
v1.10.0 upgrades calculation_fingerprint to SHA-256 (FNV stays as calculation_short_id). Adds histogram LSL/USL markers, dynamic latent ρ column label, and a canonical agent input schema (no legacy aliases) for MCP/inspect.
v1.9.0 fixes P0 share URL parity: query state fully determines the run (noms/sense/tol{i}). Client no longer invents A=10/B=5− when the URL omits them. Shared URLs now write nom{i} / sense{i} / dist{i}. Adds Wilson 95% sampling interval on yield and titles results as Simulated yield.
v1.8.0 added NORTA / Gaussian-copula correlation for uniform & triangular (and mixed) marginals — removes CORRELATED_NON_NORMAL_MC_NOT_SUPPORTED. Emits correlation_model + CORRELATED_NORTA when applicable.
v1.7.0 added Shapley sensitivity (sensitivity_method: shapley) — variance attribution that works with correlations (exact for d≤12; optional shapley_N permutations for d>12). Independent stacks match Sobol/variance shares.
v1.6.0 added Sobol sensitivity (sensitivity_method: sobol) — exact first-order Si (=STi) for independent linear stacks, optional Saltelli MC cross-check via sobol_N.
Supported and not supported
Supported — Dimensional stack · asymmetric +Tol/−Tol · ρ / latent ρ (NORTA) · mean shift · LSL/USL yield · Simulated Cp*/Cpk* · Spearman/Pearson/Sobol/Shapley · σ convergence · Wilson yield CI · SHA-256 fingerprint · Freeze snapshot · result-panel CSV
Not supported — Arbitrary copulas beyond Gaussian · subgroup SPC · full GD&T / 3-D
Share modes
- Query URL (
/calc/...?nom1=…) — editable, re-executes from query state. - Frozen URL (
/s/cx_…) — immutable audit share: full inputs + version + seed + frozen result. Prefer this for citation / Agent handoff.
Agent / API notes
Pin calculation_version: 1.12.0.
MCP inspect_capability / execute_calculation default to detail_level=summary (compact yield/σ/warnings; pass full for histogram/Sobol/Shapley). MCP/inspect uses the canonical agent input schema (no nom/tol/sense aliases). REST still accepts legacy aliases via schemas.input_rest.
Shared query must include the full stack when yield depends on nominals, e.g. nom1=10&nom2=5&sense2=-&tol1=0.1&tol2=0.2&LSL=4.8&USL=5.2. Legacy tol1/tol2 alone means error-only stack (nominals 0).
Capability id: engineering.tolerance.monte_carlo · tool id: monte-carlo-tolerance.
{
"tolerances": [
{ "name": "A", "nominal": 10, "tol_plus": 0.1, "tol_minus": 0.05 },
{ "name": "B", "nominal": 5, "half_tolerance": 0.2, "coefficient": -1 }
],
"sensitivity_method": "spearman",
"LSL": 4.8,
"USL": 5.2,
"unit": "mm",
"N": 20000,
"seed": 42
}
Related tools
Other calculators in this family: Tolerance / Uncertainty Workspace, Worst-case analysis, Tolerance stack-up, Uncertainty propagation, Process capability (Cp/Cpk) .
Frequently asked questions
Key distinctions behind the calculation.
Is this a calculator or a workspace?
The public H1 stays Monte Carlo Tolerance Calculator for SEO. The product capability is a 1-D Tolerance Analysis Workspace — dimensions, yield, sensitivity, convergence, export, and immutable snapshots.
What is calculation_fingerprint?
An audit SHA-256 hash of the canonical inputs, calculation/PRNG lock, seed, and N. The UI also shows calculation_short_id (FNV-1a32) for cache/display only — do not use the short id as an audit fingerprint.
Is Cp/Cpk real process capability?
No. Simulated Cp*/Cpk* come from the modeled Monte Carlo distribution, not measured in-control SPC. For stated μ and σ (not this sample), use Process Capability. On non-normal stacks the UI de-emphasizes simulated indices in favor of yield and percentiles.
What is SPEC_CENTER_MISMATCH?
A warning when the simulated stack center lies outside LSL–USL — often missing nominals or wrong sense.
Sobol vs Shapley?
Sobol (Si) is exact variance shares for independent linear stacks only. Shapley attributes Var(y) and works with correlations; when inputs are independent it matches Sobol.
Can I correlate uniform or triangular dimensions?
Yes (v1.8+). Non-normal + ρ uses a Gaussian-copula NORTA model. The ρ you enter is the latent Gaussian correlation — it is not in general equal to the Pearson correlation of the finished uniform/triangular variables. The correlation column shows latent ρ when Dist ≠ Normal. Analytic σ uses Cov≈ρσiσj (latent ρ) and is approximate — prefer Monte Carlo σ.
Query URL vs Freeze snapshot?
Query URL re-runs from encoded inputs (editable). Freeze copies an immutable /s/… link with inputs, calculation_version, seed, and result — prefer Freeze for audit and citation.
Why does my shared link show Yield 0%?
Legacy ?tol1&tol2 with LSL/USL but without nom1/nom2 means an error-only stack (nominals 0). Include nom1/nom2 and sense2=- for the A−B gap example, or use Freeze snapshot for an immutable share.