{"id":100108,"date":"2026-02-15T20:16:59","date_gmt":"2026-02-15T20:16:59","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100108"},"modified":"2026-02-15T20:16:59","modified_gmt":"2026-02-15T20:16:59","slug":"gage-rr-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/bn\/calculators\/gage-rr-calculator\/","title":{"rendered":"\u0997\u09c7\u099c R&amp;R \u0995\u09cd\u09af\u09be\u09b2\u0995\u09c1\u09b2\u09c7\u099f\u09b0 | ISO 5725 | \u09aa\u09b0\u09bf\u09ae\u09be\u09aa \u09ac\u09cd\u09af\u09ac\u09b8\u09cd\u09a5\u09be \u09ac\u09bf\u09b6\u09cd\u09b2\u09c7\u09b7\u09a3"},"content":{"rendered":"\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Gage R&R Calculator\",\"description\":\"Gage R&R calculator for measurement system analysis per ISO 5725.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/gage-rr-calculator\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2024-01-01\",\"dateModified\":\"2025-02-14\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true}<\/script>\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What is Gage R&R?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Gage R&R (Repeatability and Reproducibility) evaluates a measurement system's variation. Repeatability is variation when the same operator measures the same part repeatedly. Reproducibility is variation between different operators measuring the same part.\"}},\n{\"@type\":\"Question\",\"name\":\"What is an acceptable %GRR?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Less than 10% GRR is considered excellent. 10-30% is conditionally acceptable depending on application. Greater than 30% is unacceptable \u2014 the measurement system needs improvement.\"}},\n{\"@type\":\"Question\",\"name\":\"What is ndc?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ndc (number of distinct categories) indicates how many groups of parts the measurement system can reliably distinguish. ndc \u2265 5 is acceptable. ndc = 1.41 \u00d7 (Part variation \/ GRR).\"}},\n{\"@type\":\"Question\",\"name\":\"How many parts and operators are needed?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"A typical Gage R&R study uses 10 parts, 3 operators, and 2-3 trials per combination. Minimum is 5 parts and 2 operators with 2 trials. More parts and trials improve the study's statistical power.\"}},\n{\"@type\":\"Question\",\"name\":\"What is the difference between R&R and ANOVA methods?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The Range (R&R) method uses average ranges to estimate variation \u2014 simpler but less precise. ANOVA decomposes total variation statistically and can also estimate operator-by-part interaction. ANOVA is preferred for more accurate results.\"}}\n]}<\/script>\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Gage R&R Calculator\",\"item\":\"https:\/\/vibromera.eu\/calculators\/gage-rr-calculator\/\"}]}<\/script>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.css\">\n\n<style>\n:root{--vc-bg:#f4f1ec;--vc-surface:#fff;--vc-surface-alt:#f8f6f2;--vc-ink:#1a1a1a;--vc-ink-secondary:#5a5650;--vc-ink-muted:#8a857e;--vc-accent:#c85a2a;--vc-accent-hover:#b04d22;--vc-accent-light:#fdf0ea;--vc-blue:#2a5c8c;--vc-blue-light:#eaf1f8;--vc-green:#2a7a4b;--vc-green-light:#eaf8ef;--vc-yellow:#a67c00;--vc-yellow-light:#fef9e8;--vc-red:#b91c1c;--vc-red-light:#fef2f2;--vc-border:#d9d4cc;--vc-border-light:#e8e4dd;--vc-shadow:0 1px 3px rgba(26,26,26,.06),0 4px 12px rgba(26,26,26,.04);--vc-radius:8px;--vc-radius-lg:12px;--vc-font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--vc-mono:'JetBrains Mono','Consolas',monospace;--vc-display:'Fraunces',Georgia,serif}\n.vc-calculator{font-family:var(--vc-font);font-size:15px;line-height:1.65;color:var(--vc-ink);max-width:960px;margin:0 auto;padding:20px 16px 40px;-webkit-font-smoothing:antialiased}.vc-calculator *,.vc-calculator *::before,.vc-calculator *::after{box-sizing:border-box}\n.vc-header{text-align:center;padding:48px 24px 40px;position:relative}.vc-header::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:var(--vc-accent);border-radius:2px}.vc-header-eyebrow{font-family:var(--vc-mono);font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--vc-accent);margin:0 0 12px}.vc-header-title{font-family:var(--vc-display);font-size:clamp(24px,4vw,36px);font-weight:800;line-height:1.15;color:var(--vc-ink);margin:0 0 16px;letter-spacing:-.02em}.vc-header-subtitle{font-size:15px;color:var(--vc-ink-secondary);margin:0 auto 20px;max-width:600px}\n.vc-badges{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}.vc-badge{font-family:var(--vc-mono);font-size:11px;font-weight:500;padding:4px 10px;border-radius:4px;background:var(--vc-surface);border:1px solid var(--vc-border);color:var(--vc-ink-secondary)}\n.vc-card{background:var(--vc-surface);border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);box-shadow:var(--vc-shadow);overflow:hidden;margin-top:32px}\n.vc-form{padding:24px}.vc-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}@media(max-width:600px){.vc-form-grid{grid-template-columns:1fr}}.vc-field{display:flex;flex-direction:column}.vc-field-full{grid-column:1\/-1}\n.vc-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--vc-ink-secondary);margin-bottom:6px}.vc-label-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--vc-ink-muted);font-size:11px}\n.vc-select,.vc-input{width:100%;padding:10px 12px;border:1.5px solid var(--vc-border);border-radius:6px;font-family:var(--vc-font);font-size:14px;color:var(--vc-ink);background:var(--vc-surface);transition:border-color .15s,box-shadow .15s}.vc-select{padding-right:36px;appearance:none;cursor:pointer;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:right 10px center}.vc-select:focus,.vc-input:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(200,90,42,.12)}\n.vc-data-grid{margin-top:18px;overflow-x:auto}.vc-data-grid table{width:100%;border-collapse:collapse;font-size:13px}.vc-data-grid th,.vc-data-grid td{padding:6px 8px;border:1px solid var(--vc-border-light);text-align:center}.vc-data-grid th{background:var(--vc-surface-alt);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--vc-ink-secondary)}.vc-data-grid input{width:70px;padding:4px 6px;border:1px solid var(--vc-border);border-radius:4px;font-family:var(--vc-mono);font-size:13px;text-align:center}\n.vc-results{border-top:1px solid var(--vc-border-light);background:var(--vc-surface-alt);padding:0;max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1),padding .3s}.vc-results.vc-visible{max-height:4000px;padding:24px}\n.vc-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.vc-results-title{font-family:var(--vc-display);font-size:20px;font-weight:700;color:var(--vc-ink);margin:0}\n.vc-copy-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--vc-border);border-radius:6px;background:var(--vc-surface);font-family:var(--vc-font);font-size:12px;font-weight:500;color:var(--vc-ink-secondary);cursor:pointer;transition:all .15s}.vc-copy-btn:hover{border-color:var(--vc-accent);color:var(--vc-accent)}.vc-copy-btn.vc-copied{background:var(--vc-green-light);border-color:var(--vc-green);color:var(--vc-green)}\n.vc-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}@media(max-width:500px){.vc-result-grid{grid-template-columns:1fr}}\n.vc-rcard{background:var(--vc-surface);border:1px solid var(--vc-border-light);border-radius:var(--vc-radius);padding:16px;transition:transform .2s}.vc-rcard:hover{transform:translateY(-1px)}.vc-rcard-primary{border-color:var(--vc-accent);border-width:2px;background:linear-gradient(135deg,#fdf6f2,var(--vc-surface));grid-column:1\/-1}\n.vc-rcard-label{font-family:var(--vc-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--vc-ink-muted);margin-bottom:4px}.vc-rcard-value{font-family:var(--vc-mono);font-size:22px;font-weight:600;color:var(--vc-ink);line-height:1.2}.vc-rcard-primary .vc-rcard-value{font-size:28px;color:var(--vc-accent)}.vc-rcard-unit{font-size:14px;font-weight:400;color:var(--vc-ink-secondary)}.vc-rcard-desc{font-size:13px;color:var(--vc-ink-secondary);margin-top:6px}\n.vc-status-pass{color:var(--vc-green);font-weight:700}.vc-status-warn{color:var(--vc-yellow);font-weight:700}.vc-status-fail{color:var(--vc-red);font-weight:700}\n.vc-section{margin-top:24px;border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);background:var(--vc-surface);box-shadow:var(--vc-shadow);overflow:hidden}.vc-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border:none;background:transparent;cursor:pointer;font-family:var(--vc-font);text-align:left;transition:background .15s}.vc-section-toggle:hover{background:var(--vc-surface-alt)}.vc-section-toggle-text{display:flex;align-items:center;gap:10px}.vc-section-icon{font-size:20px;line-height:1}.vc-section-title{font-family:var(--vc-display);font-size:18px;font-weight:700;color:var(--vc-ink);margin:0}.vc-section-chevron{width:20px;height:20px;color:var(--vc-ink-muted);transition:transform .3s;flex-shrink:0}.vc-section.vc-open .vc-section-chevron{transform:rotate(180deg)}.vc-section-body{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.vc-section.vc-open .vc-section-body{max-height:20000px}.vc-section-inner{padding:0 24px 24px;border-top:1px solid var(--vc-border-light)}\n.vc-theory h3{font-family:var(--vc-display);font-size:17px;font-weight:700;color:var(--vc-ink);margin:28px 0 10px}.vc-theory h3:first-child{margin-top:20px}.vc-theory p{font-size:14px;color:var(--vc-ink-secondary);margin:0 0 10px}\n.vc-formula-box{background:var(--vc-surface-alt);border:2px solid var(--vc-border);border-radius:6px;padding:14px 20px;font-family:var(--vc-mono);font-size:16px;font-weight:500;text-align:center;margin:14px 0;color:var(--vc-ink);overflow-x:auto}\n.vc-faq-list{display:flex;flex-direction:column;gap:8px;margin-top:20px}.vc-faq-item{border:1px solid var(--vc-border-light);border-radius:6px;overflow:hidden}.vc-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:none;background:var(--vc-surface-alt);cursor:pointer;font-family:var(--vc-font);font-size:15px;font-weight:600;color:var(--vc-ink);text-align:left;transition:background .15s}.vc-faq-q:hover{background:#ede9e3}.vc-faq-chevron{width:16px;height:16px;color:var(--vc-ink-muted);flex-shrink:0;transition:transform .25s}.vc-faq-item.vc-open .vc-faq-chevron{transform:rotate(180deg)}.vc-faq-a{max-height:0;overflow:hidden;transition:max-height .35s}.vc-faq-item.vc-open .vc-faq-a{max-height:1200px}.vc-faq-a-inner{padding:14px 16px;border-top:1px solid var(--vc-border-light);font-size:14px;color:var(--vc-ink-secondary)}.vc-faq-a-inner p{margin:0 0 8px}.vc-faq-a-inner p:last-child{margin-bottom:0}\n.vc-related{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vc-related-link{display:inline-block;padding:8px 16px;font-family:var(--vc-font);font-size:13px;font-weight:600;background:var(--vc-surface-alt);color:var(--vc-ink-secondary);border:1px solid var(--vc-border);border-radius:var(--vc-radius);text-decoration:none;transition:all .15s}.vc-related-link:hover{border-color:var(--vc-accent);color:var(--vc-accent);background:var(--vc-accent-light)}\n.vc-promo{margin-top:24px;padding:20px;background:linear-gradient(135deg,var(--vc-accent-light),var(--vc-surface));border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);display:flex;align-items:center;gap:16px}.vc-promo-text{flex:1;font-size:14px;color:var(--vc-ink-secondary)}.vc-promo-text strong{color:var(--vc-ink)}.vc-promo-link{padding:8px 20px;font-size:13px;font-weight:700;color:#fff;background:var(--vc-accent);border-radius:var(--vc-radius);text-decoration:none;white-space:nowrap;transition:background .15s}.vc-promo-link:hover{background:var(--vc-accent-hover)}\n.vc-footer{text-align:center;padding:32px 16px;font-size:13px;color:var(--vc-ink-muted)}.vc-footer a{color:var(--vc-accent);text-decoration:none}.vc-footer a:hover{text-decoration:underline}.vc-footer-links{margin-top:8px;font-size:12px}.vc-footer-links a{margin:0 8px}\n@media print{.vc-section-body{max-height:none!important}.vc-faq-a{max-height:none!important}.vc-results{max-height:none!important;padding:24px!important}.vc-copy-btn,.vc-section-chevron,.vc-faq-chevron,.vc-presets,.vc-promo{display:none!important}}\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-gage-rr\">\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Gage R&amp;R Calculator<\/h1>\n    <p class=\"vc-header-subtitle\">Evaluate measurement system variation per ISO 5725. Enter measurements for multiple parts, operators, and trials. Calculate repeatability, reproducibility, %GRR, and ndc.<\/p>\n    <div class=\"vc-badges\"><span class=\"vc-badge\">ISO 5725<\/span><span class=\"vc-badge\">MSA<\/span><span class=\"vc-badge\">%GRR &amp; ndc<\/span><\/div>\n<\/header>\n<div class=\"vc-card\">\n    <form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\">\n        <div class=\"vc-form-grid\">\n            <div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-parts\">Parts<\/label><select class=\"vc-select\" id=\"vc-parts\"><option value=\"5\">5<\/option><option value=\"6\">6<\/option><option value=\"7\">7<\/option><option value=\"8\">8<\/option><option value=\"9\">9<\/option><option value=\"10\" selected>10<\/option><\/select><\/div>\n            <div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-operators\">Operators<\/label><select class=\"vc-select\" id=\"vc-operators\"><option value=\"2\">2<\/option><option value=\"3\" selected>3<\/option><\/select><\/div>\n            <div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-trials\">Trials<\/label><select class=\"vc-select\" id=\"vc-trials\"><option value=\"2\" selected>2<\/option><option value=\"3\">3<\/option><\/select><\/div>\n        <\/div>\n        <div class=\"vc-data-grid\" id=\"vc-grid\"><\/div>\n        <div style=\"margin-top:16px;text-align:center\"><button type=\"button\" class=\"vc-preset-btn\" id=\"vc-load-sample\" style=\"padding:8px 20px;font-size:13px;font-weight:600\">Load Sample Data<\/button><\/div>\n    <\/form>\n    <div class=\"vc-results\" id=\"vc-results\">\n        <div class=\"vc-results-head\"><h2 class=\"vc-results-title\">Results<\/h2><button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy<\/button><\/div>\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\"><div class=\"vc-rcard-label\">%GRR (of Total Variation)<\/div><div class=\"vc-rcard-value\" id=\"vc-r-grr\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Repeatability (EV)<\/div><div class=\"vc-rcard-value\" id=\"vc-r-ev\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Reproducibility (AV)<\/div><div class=\"vc-rcard-value\" id=\"vc-r-av\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Part Variation (PV)<\/div><div class=\"vc-rcard-value\" id=\"vc-r-pv\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">ndc (Distinct Categories)<\/div><div class=\"vc-rcard-value\" id=\"vc-r-ndc\">\u2014<\/div><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udcd8<\/span><span class=\"vc-section-title\">Theory &amp; Formulas<\/span><\/span><svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button>\n    <div class=\"vc-section-body\"><div class=\"vc-section-inner vc-theory\">\n        <h3>%GRR Criteria<\/h3>\n        <p><strong>&lt; 10%<\/strong> \u2014 Excellent. Measurement system acceptable.<br><strong>10\u201330%<\/strong> \u2014 Conditionally acceptable. May be acceptable depending on application and cost.<br><strong>&gt; 30%<\/strong> \u2014 Unacceptable. Measurement system needs improvement.<\/p>\n        <h3>Number of Distinct Categories (ndc)<\/h3>\n        <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n        <p>ndc \u2265 5 indicates the measurement system can adequately distinguish between parts.<\/p>\n    <\/div><\/div>\n<\/div>\n<div class=\"vc-section\" id=\"vc-sec-related\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udd17<\/span><span class=\"vc-section-title\">Related Calculators<\/span><\/span><svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button>\n    <div class=\"vc-section-body\"><div class=\"vc-section-inner\"><div class=\"vc-related\">\n        <a class=\"vc-related-link\" href=\"\/calculators\/measurement-uncertainty\/\">Measurement Uncertainty<\/a>\n        <a class=\"vc-related-link\" href=\"\/calculators\/aql-sampling-calculator\/\">AQL Sampling<\/a>\n    <\/div><\/div><\/div>\n<\/div>\n<div class=\"vc-section\" id=\"vc-sec-faq\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\u2753<\/span><span class=\"vc-section-title\">Frequently Asked Questions<\/span><\/span><svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button>\n    <div class=\"vc-section-body\"><div class=\"vc-section-inner\"><div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div><\/div><\/div>\n<\/div>\n<div class=\"vc-promo\"><div class=\"vc-promo-text\"><strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>High-precision vibration measurement instruments for reliable MSA-compliant data collection.<\/div><a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a><\/div>\n<footer class=\"vc-footer\"><p>&copy; 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p><p style=\"font-size:12px;margin-top:4px;\">Based on ISO 5725 \/ AIAG MSA. Last updated: February 2025<\/p><div class=\"vc-footer-links\"><a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a><a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a><\/div><\/footer>\n<\/div>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.js\"><\/script>\n<script>\n(function(){\n'use strict';\nfunction $(id){return document.getElementById(id)}\nfunction fmt(n,d){if(isNaN(n))return'\u2014';return n.toFixed(d===undefined?4:d)}\n\nvar D2={2:1.128,3:1.693};\nvar d2Star={1:1.414,2:1.128,3:1.693,4:2.059,5:2.326,6:2.534,7:2.704,8:2.847,9:2.970,10:3.078,15:3.472};\n\nfunction buildGrid(){\n    var np=parseInt($('vc-parts').value),no=parseInt($('vc-operators').value),nt=parseInt($('vc-trials').value);\n    var html='<table><thead><tr><th>Part<\/th>';\n    for(var o=1;o<=no;o++)for(var t=1;t<=nt;t++)html+='<th>Op'+o+' T'+t+'<\/th>';\n    html+='<\/tr><\/thead><tbody>';\n    for(var p=1;p<=np;p++){html+='<tr><td>'+p+'<\/td>';for(var o=1;o<=no;o++)for(var t=1;t<=nt;t++)html+='<td><input type=\"number\" step=\"any\" class=\"vc-meas\" data-p=\"'+p+'\" data-o=\"'+o+'\" data-t=\"'+t+'\"><\/td>';html+='<\/tr>'}\n    html+='<\/tbody><\/table>';\n    $('vc-grid').innerHTML=html;\n    $('vc-grid').addEventListener('input',calculate);\n}\n\nfunction getData(){\n    var np=parseInt($('vc-parts').value),no=parseInt($('vc-operators').value),nt=parseInt($('vc-trials').value);\n    var data=[];\n    var inputs=$('vc-grid').querySelectorAll('.vc-meas');\n    var complete=true;\n    inputs.forEach(function(inp){\n        var v=parseFloat(inp.value);\n        if(isNaN(v))complete=false;\n        data.push({p:parseInt(inp.getAttribute('data-p')),o:parseInt(inp.getAttribute('data-o')),t:parseInt(inp.getAttribute('data-t')),v:v});\n    });\n    return{data:data,np:np,no:no,nt:nt,complete:complete};\n}\n\nfunction calculate(){\n    var d=getData();if(!d.complete){$('vc-results').classList.remove('vc-visible');return}\n    var np=d.np,no=d.no,nt=d.nt,data=d.data;\n    \/\/ Range method (Average & Range)\n    \/\/ 1. For each operator-part combo, calc range across trials\n    var ranges=[];\n    for(var o=1;o<=no;o++){\n        for(var p=1;p<=np;p++){\n            var vals=data.filter(function(x){return x.o===o&&x.p===p}).map(function(x){return x.v});\n            ranges.push(Math.max.apply(null,vals)-Math.min.apply(null,vals));\n        }\n    }\n    var Rbar=ranges.reduce(function(a,b){return a+b},0)\/ranges.length;\n    \/\/ EV = Rbar \/ d2 (for number of trials)\n    var EV=Rbar\/(D2[nt]||1.128);\n    \/\/ 2. Operator averages\n    var opAvgs=[];\n    for(var o=1;o<=no;o++){\n        var vals=data.filter(function(x){return x.o===o}).map(function(x){return x.v});\n        opAvgs.push(vals.reduce(function(a,b){return a+b},0)\/vals.length);\n    }\n    var Xdiff=Math.max.apply(null,opAvgs)-Math.min.apply(null,opAvgs);\n    var d2star_op=D2[no]||1.128;\n    var AV_sq=(Xdiff\/d2star_op)*(Xdiff\/d2star_op)-(EV*EV)\/(np*nt);\n    var AV=AV_sq>0?Math.sqrt(AV_sq):0;\n    var GRR=Math.sqrt(EV*EV+AV*AV);\n    \/\/ 3. Part variation\n    var partAvgs=[];\n    for(var p=1;p<=np;p++){\n        var vals=data.filter(function(x){return x.p===p}).map(function(x){return x.v});\n        partAvgs.push(vals.reduce(function(a,b){return a+b},0)\/vals.length);\n    }\n    var Rp=Math.max.apply(null,partAvgs)-Math.min.apply(null,partAvgs);\n    var d2star_p=d2Star[np]||3.078;\n    var PV=Rp\/d2star_p;\n    var TV=Math.sqrt(GRR*GRR+PV*PV);\n    var pctGRR=TV>0?(GRR\/TV)*100:0;\n    var ndc=PV>0?Math.floor(1.41*(PV\/GRR)):0;\n\n    var cls=pctGRR<10?'vc-status-pass':pctGRR<30?'vc-status-warn':'vc-status-fail';\n    var label=pctGRR<10?'Excellent':pctGRR<30?'Acceptable':'Unacceptable';\n    $('vc-r-grr').innerHTML='<span class=\"'+cls+'\">'+fmt(pctGRR,1)+'%<\/span> <span class=\"vc-rcard-unit\">\u2014 '+label+'<\/span>';\n    $('vc-r-ev').innerHTML=fmt(EV,4)+' <span class=\"vc-rcard-unit\">('+fmt(TV>0?EV\/TV*100:0,1)+'%)<\/span>';\n    $('vc-r-av').innerHTML=fmt(AV,4)+' <span class=\"vc-rcard-unit\">('+fmt(TV>0?AV\/TV*100:0,1)+'%)<\/span>';\n    $('vc-r-pv').innerHTML=fmt(PV,4)+' <span class=\"vc-rcard-unit\">('+fmt(TV>0?PV\/TV*100:0,1)+'%)<\/span>';\n    $('vc-r-ndc').innerHTML=ndc+(ndc>=5?' <span class=\"vc-status-pass\">\u2713<\/span>':' <span class=\"vc-status-fail\">\u2717 (need \u22655)<\/span>');\n    $('vc-results').classList.add('vc-visible');\n}\n\n$('vc-parts').addEventListener('change',buildGrid);\n$('vc-operators').addEventListener('change',buildGrid);\n$('vc-trials').addEventListener('change',buildGrid);\n\n$('vc-load-sample').addEventListener('click',function(){\n    var sample=[[10.1,10.2,10.1,10.3,10.2,10.2],[10.4,10.4,10.5,10.4,10.4,10.5],[9.8,9.9,9.8,9.9,9.9,9.8],[10.0,10.1,10.0,10.1,10.0,10.1],[10.3,10.2,10.3,10.3,10.2,10.3],[9.7,9.7,9.7,9.8,9.7,9.7],[10.5,10.6,10.5,10.5,10.6,10.5],[10.2,10.2,10.2,10.3,10.2,10.3],[9.9,10.0,9.9,10.0,10.0,9.9],[10.1,10.1,10.1,10.2,10.1,10.1]];\n    $('vc-parts').value='10';$('vc-operators').value='3';$('vc-trials').value='2';\n    buildGrid();\n    var inputs=$('vc-grid').querySelectorAll('.vc-meas');\n    var idx=0;\n    for(var p=0;p<10;p++){for(var i=0;i<6;i++){if(inputs[idx])inputs[idx].value=sample[p][i];idx++}}\n    calculate();\n});\n\n$('vc-copy-btn').addEventListener('click',function(){var text='Gage R&R Results\\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n%GRR: '+$('vc-r-grr').textContent+'\\nEV: '+$('vc-r-ev').textContent+'\\nAV: '+$('vc-r-av').textContent+'\\nPV: '+$('vc-r-pv').textContent+'\\nndc: '+$('vc-r-ndc').textContent+'\\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\nvibromera.eu\/calculators\/gage-rr-calculator\/';if(navigator.clipboard){navigator.clipboard.writeText(text).then(function(){var b=$('vc-copy-btn');b.classList.add('vc-copied');b.innerHTML='<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg> Copied!';setTimeout(function(){b.classList.remove('vc-copied');b.innerHTML='<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy'},2000)})}});\n\ndocument.querySelectorAll('.vc-section-toggle').forEach(function(btn){btn.addEventListener('click',function(){var s=this.closest('.vc-section');s.classList.toggle('vc-open');this.setAttribute('aria-expanded',s.classList.contains('vc-open'))})});\n\nvar faqData=[\n    {q:'What is Gage R&R?',a:'<p><strong>Gage R&R<\/strong> evaluates measurement system variation. <strong>Repeatability<\/strong> (EV) = variation when same operator re-measures same part. <strong>Reproducibility<\/strong> (AV) = variation between operators.<\/p>'},\n    {q:'What is an acceptable %GRR?',a:'<p><strong>&lt;10%<\/strong> = Excellent. <strong>10\u201330%<\/strong> = Conditionally acceptable. <strong>&gt;30%<\/strong> = Unacceptable \u2014 needs improvement.<\/p>'},\n    {q:'What is ndc?',a:'<p><strong>ndc<\/strong> (number of distinct categories) = how many part groups the system can distinguish. ndc \u2265 5 is acceptable. ndc = 1.41 \u00d7 (PV\/GRR).<\/p>'},\n    {q:'How many parts and operators needed?',a:'<p>Typical: <strong>10 parts, 3 operators, 2\u20133 trials<\/strong>. Minimum: 5 parts, 2 operators, 2 trials.<\/p>'},\n    {q:'Range vs ANOVA method?',a:'<p><strong>Range method<\/strong>: simpler, uses average ranges. <strong>ANOVA<\/strong>: more precise, decomposes variance statistically and captures operator\u00d7part interaction. This calculator uses the Range method.<\/p>'}\n];\nvar fl=$('vc-faq-list');faqData.forEach(function(f){fl.innerHTML+='<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>'+f.q+'<\/span><svg class=\"vc-faq-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-faq-a\"><div class=\"vc-faq-a-inner\">'+f.a+'<\/div><\/div><\/div>'});\nfl.addEventListener('click',function(e){var b=e.target.closest('.vc-faq-q');if(b)b.closest('.vc-faq-item').classList.toggle('vc-open')});\n\nfunction init(){\n    try{katex.render('ndc = 1.41 \\\\times \\\\frac{PV}{GRR}',$('vc-katex-1'),{displayMode:true,throwOnError:false})}catch(e){}\n    buildGrid();\n}\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Free Gage R&#038;R calculator per ISO 5725. Enter measurements from multiple parts, operators, and trials to calculate repeatability, reproducibility, %GRR, and number of distinct categories.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100108","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":1,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100108\/revisions"}],"predecessor-version":[{"id":100409,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100108\/revisions\/100409"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/media?parent=100108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/categories?post=100108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/tags?post=100108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}