Inputs
Derived
| Tolerance T (B9) | - |
| TUR / Cm (B17) | - |
| GB multiplier r (B15) | - |
| GB width w (B16) | - |
| Acceptance upper AL (B20) | - |
| Acceptance lower AL (B21) | - |
| Decision (B26) | - |
| pc at AL (B28) | - |
| Process Yield, ITP (B37) | - |
| Cpk (B38) | - |
| Worst-case specific risk (B39) | - |
Specific Risk Detail (at measured value)
| P(true > Tu | xm) (B71) | - |
| P(true < Tl | xm) (B72) | - |
| Total Specific PFA (B73) | - |
| Category (B74) | - |
| Usable Spec Range % (B79) | - |
Guard-Band Width by Method (k=2 U)
| Decision Rule | GB Width (w) | Accept ± |
|---|---|---|
| 1. Simple Acceptance | - | - |
| 2. Specific Risk | - | - |
| 3. ILAC G8 (95%) | - | - |
| 4. Dobbert M6 | - | - |
| 5. RSS / M5 | - | - |
| 6. Fixed 0.98xU | - | - |
| 7. k=2 Subtraction | - | - |
Worked Example - UKAS LAB 48: Why Simple Acceptance is Problematic
| Measured Value | U (k=2) | Simple Accept? | Specific PFA | Risk Level | 3-Outcome Verdict |
|---|
PFA Sensitivity by TUR
| TUR | PFA at x=0.9 T (Simple) | Max PFA | Dobbert M6 GB Width | GB vanishes? |
|---|
Conformance Probability → Guard-Band Multiplier
r = NORM.S.INV(pc) / 2, applied as AL = TL − r × U95.
| Conf. Probability (pc) | Max Risk per Side | GB Multiplier (r) |
|---|
Bias Impact Analysis
Illustrative scenario: known bias = |NV − xm|, DUT reading = NV + 0.8 T. Same equipment and TUR, with vs without correcting the bias.
| Quantity | Without Bias Correction | With Bias Correction |
|---|---|---|
| Known Bias | - | n/a |
| DUT Reading (uncorrected) | - | n/a |
| Measurement Error | - | - |
| TUR | - | - |
| LSL | - | - |
| USL | - | - |
| Corrected Measured Value | - | - |
| PFA (Lower Limit) | - | - |
| PFA (Upper Limit) | - | - |
| Total PFA | - | - |
| Decision (Simple Acceptance) | - | - |
| Decision (2.5 % Guard Banded) | - | - |
| PFA reduction from bias correction | - | n/a |
PFA Calculation for an Entire Loading Range
Instrument Readings (editable)
| Applied | Reading 1 | Reading 2 | Reading 3 | Reading 4 | Reading 5 | Avg |
|---|
Method 5 (RSS / Z540.3) - per-reading PFA & acceptance
| Applied | Avg | Req Tol | LSL | USL | U (k=2) | TUR | PFA Total | Accept ± | Pass/Fail |
|---|
Method 6 (Dobbert managed guard band)
| Applied | Avg | Dobbert M | Accept ± | Lower | Upper | Pass/Fail |
|---|
Difference in Acceptance Limits - Method 5 vs Method 6
| Applied | Avg | M6 Accept ± | M6 P/F | M5 Accept ± | M5 P/F | % Diff in AL |
|---|
Metrology Cost Model - Production Inputs
Equipment Comparison (guard band sized to the PFA target)
| Equipment | Price ($) | 1σ Unc. | TUR | Global PFR | Global PFA | Falsely Rej. | Falsely Acc. | FR Cost ($) | FA Cost ($) | Total Risk ($) |
|---|
Total Cost Analysis
| Equipment | Equip Cost | Production Cost | False Reject Cost | False Accept Cost | Total Cost | Budget vs Baseline | Payback (days) |
|---|
Cumulative Total Cost Over Time
| DMM | Annual Op. Cost | Equip. Cost | Year 1 | Year 2 | Year 3 | Year 4 | Year 5 | Year 7 | Year 10 |
|---|
Sample Size Determination
Calibration History (Clopper-Pearson exact)
Sample Size for Zero Failures (n = ⌈ln(1−conf)/ln(reliability)⌉)
| Target EOPR | 80 % Conf. | 90 % Conf. | 95 % Conf. | 99 % Conf. |
|---|
EOPR Sensitivity (point estimate = 1 − c/n)
| Failures ↓ / n → | 5 | 10 | 20 | 50 | 100 |
|---|
Coverage Factor (k) Reference - Normal Distribution
| k | Coverage Probability | Target Coverage | k for target |
|---|
Decision Rules & Statements of Conformity
Simplified guidance for calibration laboratories - ISO/IEC 17025:2017, UKAS LAB 48, ILAC-G8:09/2019, JCGM 106:2012.
1. Key Definitions
| Term | Definition | Source |
|---|---|---|
| Decision Rule | A rule describing how measurement uncertainty is accounted for when stating conformity with a specified requirement. | ISO 17025, Cl. 3.7 |
| Guard Band (w) | An interval between a tolerance limit (TL) and a corresponding acceptance limit (AL), used as a buffer for measurement uncertainty. w = |TL - AL|. | ILAC-G8:09/2019 |
| Tolerance Limit (TL) | The specified upper or lower bound of permissible values (the specification limit). | ILAC-G8:09/2019 |
| Acceptance Limit (AL) | The specified bound of permissible measured values after applying a guard band. | ILAC-G8:09/2019 |
| PFA | Probability of False Accept - a non-conforming item is accepted (consumer's risk). | JCGM 106:2012 |
| PFR | Probability of False Reject - a conforming item is rejected (producer's risk). | JCGM 106:2012 |
| TUR | Test Uncertainty Ratio = Tolerance / Expanded Measurement Uncertainty. TUR = T / (2u). | ANSI Z540.3 |
| Simple Acceptance | AL = TL (no guard band). Carries significant PFA near limits; must be paired with a TUR or U constraint to satisfy Cl. 3.7. | ILAC-G8, Def. 1.9 |
2. ISO/IEC 17025:2017 Requirements
| Clause | Requirement | Key Implication |
|---|---|---|
| 3.7 - Definition | A decision rule describes how measurement uncertainty is accounted for; any conformity statement must be accompanied by a defined decision rule. | No uncertainty = no metrological traceability |
| 7.1.3 - Customer Agreement | The specification, standard, and decision rule shall be clearly defined and, unless inherent in the specification, agreed with the customer. | Proactive communication before measurement |
| 7.8.6.1 - Documentation & Risk | Document the decision rule employed, taking into account the level of risk (PFA, PFR, statistical assumptions). | Must document risk level, not just pass/fail |
| 7.8.6.2 - Reporting | The certificate identifies: (a) which results the statement applies to, (b) which specs met/not met, (c) the decision rule applied. | All three elements on every certificate |
3. Decision Rule Comparison - Core Approaches + Variants
| Decision Rule | Guard Band Formula | Risk Framework | Target Risk | Reference |
|---|---|---|---|---|
| 1. Simple Acceptance (Shared Risk) | GB = 0 (AL = TL) | Neither - risk ignored | None (shared) | ASME B89.7.3.1; ILAC-G8 6.1 |
| 2. Specific Risk Guard Band | AL = TL - (GB_mult x U); GB_mult = NORM.S.INV(1-risk)/2 | Specific (conditional) | ≤ 2.5 % PFA per side | ILAC-G8; JCGM 106 |
| 3. ILAC G8 (95 %, bilateral) | w = u x 1.96 | Specific (conditional) | Pc ≥ 98 % | ILAC-G8; ISO 14253-1 |
| 4. Dobbert Method 6 (Z540.3) | GB = U x M(TUR); M = max(0, 1.04-e^(0.38 ln(TUR)-0.54)) | Global (unconditional) | PFA ≤ 2 % | ANSI/NCSL Z540.3 |
| 5. RSS / Method 5 (Z540.3) | GB = U x TUR x (1 - √(1 - 1/TUR²)) | Global (unconditional) | PFA ≤ 2 % | ANSI/NCSL Z540.3 |
| 6. Fixed 0.98 x U Guard Band | GB = 0.98 x U | Specific-equivalent (fixed) | Conservative (pc ≈ 0.975) | ILAC-G8 (simplified) |
| 7. k=2 Subtraction (AL = T - U) | GB = U | Producer-biased | Conservative | MIL-STD-45662A |
4. Non-Binary Decision Rules (3-Outcome Model)
| Outcome | Condition | Specific PFA | Action |
|---|---|---|---|
| PASS | Measured value within acceptance limits (AL) | ≤ agreed threshold (e.g. 2.5 %) | State conformity with confidence |
| POSSIBLE PASS | Within tolerance (TL) but outside acceptance (AL) | > threshold but < 50 % | Report MV, U, calculated PFA; customer decides |
| FAIL | Specific PFA ≥ 50 %, or outside TL by more than U | ≥ 50 % | State non-conformity |
9. Sizing Rules & Quick Math (DRG V1.42)
Rule of thumb: at shared risk (no guard band), TUR ≥ 4.6:1 keeps PFA ≤ 2 % (program-level). Required U = Tolerance / 4.6.
| Device Tolerance (T) | Required U (k=2) | Resulting TUR | Global Risk |
|---|---|---|---|
| 0.0001 | - | 4.6 : 1 | PFA ≤ 2 % |
| 0.0005 | - | 4.6 : 1 | PFA ≤ 2 % |
| 0.001 | - | 4.6 : 1 | PFA ≤ 2 % |
| 0.005 | - | 4.6 : 1 | PFA ≤ 2 % |
| 0.01 | - | 4.6 : 1 | PFA ≤ 2 % |
10. Decision Rule Selection Framework
"Start With the End in Mind" - work backward from the risk target to the equipment:
| Step | Action |
|---|---|
| A | Set the risk target and decision rule (e.g. PFA ≤ 2 %); state it on POs and calibration instructions. |
| B | Convert the risk target to required capability (TUR ≥ 4.6:1 at shared risk, or EOPR ≥ 89 %). |
| C | Translate capability to equipment and provider requirements (U_exp ≤ Tolerance / 4.6). |
| D | Validate with reliability data and control charts; see the Reliability tab for EOPR estimation. |
12. Five Rules to Reduce Measurement Risk
| # | Rule |
|---|---|
| 1 | Know the Right Requirements - engage metrology before purchase. |
| 2 | Use the Right Equipment - match CMC and traceability to tolerance; look beyond sticker price. |
| 3 | Follow the Right Processes - training, adapters, environment, SOPs. |
| 4 | Check Your Work - checklists, cross-checks, measurement assurance. |
| 5 | Stay Vigilant - SPC charts, interval review, reliability tracking. |
References: ISO/IEC 17025:2017 - UKAS LAB 48 - ILAC-G8:09/2019 - JCGM 106:2012 - ANSI/NCSL Z540.3 - ASME B89.7.3.1 / B89.7.4.1 - ISO 14253-1 - Decision Rule Guidance (Morehouse) V1.42. Morehouse Instrument Company - www.mhforce.com
JCGM 106:2012 Formula Validation
The app's engine benchmarked against JCGM 106:2012 worked examples. The full 182k-cell workbook grid (incl. 40,000 Halton NORM.S.INV samples) is validated headlessly; this tab shows the headline checks.
Table 1 - Resistor Example (Global Consumer & Producer Risk)
JCGM 106 9.5.3: TU=1500.2, TL=1499.8, u=0.04, u₀=0.12, AU=1500.18, AL=1499.82.
| Quantity | Engine (BVN) | Exact analytic | JCGM published | Δ (engine-exact) | Status |
|---|---|---|---|---|---|
| Global consumer risk RC (PFA) | - | - | 1.0 % | - | - |
| Global producer risk RP (PFR) | - | - | 6.9 % | - | - |
Identity Checks (closed form)
| Quantity | Computed | Δ | Status |
|---|---|---|---|
| Cm = (TU-TL)/(4u) | - | - | - |
| Cp = (TU-TL)/(6u₀) | - | - | - |
| Guard-band mult r = (TU-AU)/(2u) | - | - | - |
| Specific-risk Pc (eq.14, two-sided) | - | - | - |
Engine Identity vs Risk Calc & Curves
| Quantity | Engine value | Recomputed | Δ | Status |
|---|---|---|---|---|
| Half-width T = (TU-TL)/2 | - | - | - | - |
| TUR = T/(2u) | - | - | - | - |
| 1-ITP at xm | - | - | - | - |
Guard-Band Width vs TUR (T=10 reference)
| TUR | u = T/(2·TUR) | U = 2u | 0.98·U | Acceptance frac. | Spec PFA @ AU |
|---|
About This Tool
Standalone, single-file web port of the Decision Rules Guidance Worksheets For Web workbook. Every shown value matches the workbook cell to the IEEE-754 floor (HARD ≤ 1e-12 relative; exact for integer/rational; character-identical for TEXT). One math engine on window.DRG; the UI computes nothing.
Explore Further
Workbook Metadata
| Reference workbook | Decision Rules Guidance Worksheets For Web .xlsx |
| App version | V1.3 |
| Authors | Henry Zumbrun - Morehouse Instrument Company · Greg Cenker - IndySoft |
| Web port | Harrison Zumbrun - Morehouse Instrument Company |
| Standards | ISO/IEC 17025:2017 · ILAC-G8:09/2019 · JCGM 106:2012 · ANSI/NCSL Z540.3 |
Changes Log
| Rev | Date | Author | Sections | Summary |
|---|---|---|---|---|
| V1.3 | 2026-06-10 | Harrison Zumbrun | About; resources; guide banner | About This Tool: removed the EndInMind cross-reference and added an Explore Further section (Start With the End in Mind guide, the Quality Magazine decision-rules article, the free Force Calibration eBook, and the Morehouse technical blog). Added a site-wide banner in the toolbar linking the Start With the End in Mind guide. No calculation changes. |
| V1.2 | 2026-06-10 | Harrison Zumbrun | UI; authorship | Moved the title and subtitle into the letterhead, centered between the Morehouse and IndySoft logos; the navigation is now a full-width green strip. Fixed table header/column misalignment on all results tables (the table class name collided with Tailwind's .grid utility, which set display:grid; display:table restored). Workbook authorship corrected: authors Henry Zumbrun (Morehouse Instrument Company) and Greg Cenker (IndySoft); web port by Harrison Zumbrun (Morehouse Instrument Company). No calculation changes. |
| V1.1 | 2026-06-10 | Harrison Zumbrun | Risk Calc sheet complete; tab scenario gates | Ported the last Risk Calc regions: the specific-risk chart scaffolding (D2:E82 measurement-pdf grid, R/S product pdfs, TL/TU/NV/AL markers, P/Q TEXT labels) rendered as a new Specific Risk chart, and the UKAS LAB 48 worked-example table (exact strings incl. the workbook's verdict glyphs). Risk Calc Layer 2 now 957 cells, 593 bit-identical. Added Excel-COM alternate-input scenario gates for Method/Cost/Reliability (layer2_excel_scenarios_tabs.py): 11 scenarios, 2,588 cells, zero failures. |
| V1.0.1 | 2026-06-10 | Harrison Zumbrun | Single-sourcing; verifier pass | Two-independent-verifier adversarial pass (both PASS; each tab's gate confirmed to catch a 1 % corruption). Routed the two UI Dobbert-M sites that match the engine formula through E.dobbertM() (bit-identical; Method 6 keeps its distinct clamped-TUR/no-max variant, documented). Tightened the check_engine.js smoke floor to 1e-12. |
| V1.0 | 2026-06-09 | Harrison Zumbrun | IO layer; all tabs complete | Added the import/export/session layer: per-tab CSV export, CSV import for the Method reading grid and Cost equipment list, session JSON save/load, continuous localStorage autosave, and chart PNG export (graceful offline fallback). Validated by validators/test_io.py (12/12). All six workbook tabs now ported and exactly validated. |
| V0.9 | 2026-06-09 | Harrison Zumbrun | JCGM 106 Validation | Ported the JCGM 106 Validation report tab: the resistor worked-example global risk (PFA_L/PFR_L vs exact analytic vs JCGM published), identity checks, specific-risk example, engine-vs-Risk-Calc identity, and the guard-band-width-vs-TUR risk-curve table. Layer 2 (layer2_jcgm.py): 81 cells, 70 numeric within 1e-12 + 11 string-exact, 69 bit-identical. The 40,000 Halton NORM.S.INV grid samples are covered by Layer 0. |
| V0.8 | 2026-06-09 | Harrison Zumbrun | Guidance Summary | Ported the Guidance Summary reference tab: definitions, ISO 17025 requirements, the 7-method decision-rule comparison, the 3-outcome model, the sizing-rules table with the Required-U = Tolerance/4.6 formulas + custom-sizing input, the selection framework, and the five rules. Layer 2 (layer2_guidance.py): 6/6 sizing cells bit-exact. |
| V0.7 | 2026-06-09 | Harrison Zumbrun | Reliability | Ported the Reliability tab: zero-failure sample size (CEILING(ln(1-conf)/ln(reliability))), Clopper-Pearson exact bounds (BETA.INV), observed EOPR / failure rate, additional-samples-needed (AdditionalSamplesNeeded), the zero-failure reference grid, the EOPR sensitivity grid, and the coverage-factor k table. Layer 2 (layer2_reliability.py): 74 cells, all within 1e-12, 65 bit-identical. |
| V0.6 | 2026-06-09 | Harrison Zumbrun | Cost Model | Ported the Cost Model tab: production inputs, the 7-DMM equipment comparison (guard band sized by PFA_GB_SOLVER_ASYM to the PFA target, global PFA/PFR via PFA_L/PFR_L, ROUND-based false-reject/accept costs), total-cost analysis with budget-vs-baseline and payback, key-insight figures, and cumulative-cost projections. Layer 2 (layer2_cost.py): 192 cells, 173 numeric within 1e-12 + 19 string-exact, 161 bit-identical; the guard-band bisection solver reproduced exactly. |
| V0.5 | 2026-06-09 | Harrison Zumbrun | Method 5 & 6 & TL | Ported the full Method 5 & 6 & TL tab: config + editable 10-point reading grid, per-reading Method 5 (RSS, NORM.INV acceptance) and Method 6 (Dobbert, TUR clamped to 4) tables with summaries, the M5-vs-M6 comparison, and the inlined Method-6 acceptance-limit diagram. Layer 2 (layer2_methods.py): 429 cells, 389 numeric within 1e-12 + 40 string-exact, 374 bit-identical. |
| V0.4 | 2026-06-09 | Harrison Zumbrun | Risk Calc - methods/sensitivity/reference/bias | Added the 7-method Accept-± column, the PFA sensitivity-by-TUR table, the conformance→guard-band-multiplier reference table, and the bias-impact analysis block (all derived from the main inputs). Layer 2 extended to 592 cells, all within 1e-12, 353 bit-identical. |
| V0.3 | 2026-06-09 | Harrison Zumbrun | Risk Calc - curves & charts | Wired the distribution chart-data arrays (A92:A171 product/measurement/biased pdfs) and the Global Risk Curves (PFA vs ITP at TUR 1:1-4.6:1 via PFA_SYMMETRIC); rendered both with Chart.js (graceful offline). Layer 2 extended to 460 cells (44 scalar + 416 array), all within 1e-12, 244 bit-identical. |
| V0.2 | 2026-06-09 | Harrison Zumbrun | Branding | Added the Morehouse and IndySoft logos (extracted from the workbook) as an inlined base64 letterhead in the app header, matching the spreadsheet's top-of-sheet placement. |
| V0.1 | 2026-06-09 | Harrison Zumbrun | Engine, Risk Calc core | v1 scaffold: single-sourced engine on window.DRG (Cephes-grade normal CDF/inverse, incomplete-beta inverse, both bivariate-normal quadratures, the 11 reachable LAMBDAs, Excel-faithful ROUND/INT/CEILING/TEXT); Risk Calc & Curves scalar calculator wired with cell-keyed instrumentation. |
Web Port Notes
| Item | Web app | Workbook | Agreement |
|---|---|---|---|
| Standard normal CDF | Hart/West cumulative normal | NORM.S.DIST / NORM.DIST | ≤ 1e-12 (Excel is true-accurate; Layer 0) |
| Inverse normal | Acklam + Halley refinement | NORM.S.INV / NORM.INV | bit-identical on tested cells (Layer 0) |
| Inverse incomplete beta | Numerical-Recipes incbi | BETA.INV | bit-identical on tested cells (Layer 0) |
| Bivariate normal CDF | same Genz 6-pt & 5-term split LAMBDAs, ported op-for-op | BIVARIATE_NORMCDF / BIVAR | algorithm-identical |