HomeCalculatorsEngineeringMonte Carlo Tolerance Calculator
Tolerance Analysis Workspace

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.

Shareable result
Monte Carlo stack
σ=0.082079

center=0 · analytic σ=0.08165 · Δ +0.53% vs analytic · spearman(T2)=0.803 · N=5000.

Inputsseed=1 · k=3
Mode1-D Gaussian MC
Formulay=Σ c(nom+shift+ε)
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
seed=1 · k=3
Result
Monte Carlo stack: σ=0.082079
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 — ui-ssr is query-result HTML, not a live browser session.
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
Sources
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
This calculator CURRENT · Public schema 1.12.0 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

Stacky = Σ c_i · (nom_i + shift_i + ε_i)
Analytic σσ² = Σ (cσ_ε)² + 2 Σ ρ c_i c_j σ_i σ_j
Simulated capabilityCp*=(USL−LSL)/(6σ); Cpk*=min(Cpl,Cpu) — design-stage MC, not SPC
iSEO title remains Monte Carlo Tolerance Calculator. Product layer: 1-D Tolerance Analysis Workspace.

How to use

1

Enter dimensions

Nominal, +Tol/−Tol, sense (+ Add / − Subtract), optional shift and distribution.

2

Optional ρ and limits

Structured correlation rows; LSL/USL for yield. Mismatch vs stack center raises a warning.

3

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

MC
σ ≈ 0.07431
ϟ

Gap A−B with specs

A=10±0.1, B=5±0.2, LSL/USL 4.8–5.2

yield
yield ≈ 99.3%

Monte Carlo Tolerance calculator specification

Version 1.12.0 · Engine tested · Supplemental domain review · Internal · 2026-08-12

Calculation status
  • 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
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
}
}

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.