{"id":5251,"date":"2026-06-29T20:09:42","date_gmt":"2026-06-29T10:09:42","guid":{"rendered":"https:\/\/www.hashmicro.com\/au\/blog\/?p=5251"},"modified":"2026-06-29T20:09:42","modified_gmt":"2026-06-29T10:09:42","slug":"oee-manufacturing","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/","title":{"rendered":"What Is OEE in Manufacturing? Definition and Formulas"},"content":{"rendered":"<p>Manufacturing teams can lose significant output even when equipment appears to be running. A machine may stay active all shift, but downtime, speed loss, and defects quietly erode usable production.<\/p>\n<p>OEE stands for overall equipment effectiveness. It measures how well planned production time converts into good output, combining availability, performance, and quality into one score.<\/p>\n<p>For Australian manufacturers, OEE identifies production waste before committing to new equipment. This article covers the formula, causes of low OEE, and how software supports more accurate tracking.<\/p>\n<style>\r\n\t.takeaways-container {\r\n\t\tmargin: 20px 0;\r\n\t\tfont-family: sans-serif;\r\n\t}\r\n\t.box-content {\r\n\t\tbackground-color: #fffacd;\r\n\t\tbox-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n\t\tborder-radius: 25px;\r\n\t\tpadding: 25px;\r\n\t}\r\n\t.title {\r\n\t\tmargin-bottom: 20px;\r\n\t}\r\n\t.title p {\r\n\t\tdisplay: inline-block;\r\n\t\tbackground-color: #8A0E19;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 8px 15px;\r\n\t\tborder-radius: 8px;\r\n\t\tfont-size: 22px;\r\n\t\tfont-weight: bold;\r\n\t\tmargin: 0;\r\n\t}\r\n\t.item {\r\n\t\tdisplay: flex;\r\n\t\talign-items: flex-start;\r\n\t\tmargin-bottom: 12px;\r\n\t}\r\n\t.item .circle {\r\n\t\twidth: 8px;\r\n\t\theight: 8px;\r\n\t\tbackground-color: #000000;\r\n\t\tborder-radius: 50%;\r\n\t\tmargin-right: 12px;\r\n\t\tflex-shrink: 0;\r\n\t\tmargin-top: 8px;\r\n\t}\r\n\t.item p {\r\n\t\tmargin: 0;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1.6;\r\n\t}\r\n\t.item p a {\r\n\t\tcolor: #8A0E19;\r\n\t\tfont-weight: normal;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.item p a:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n\t.button-wrapper {\r\n\t\tmargin-top: 25px;\r\n\t}\r\n\t.submit-button {\r\n\t\tbackground-color: #8a0e19;\r\n\t\tcolor: #fff !important;\r\n\t\ttransition: all .3s ease;\r\n\t\tpadding: 12px 28px;\r\n\t\tdisplay: inline-block;\r\n\t\tborder-radius: 12px;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.submit-button:hover {\r\n\t\tbackground-color: #991b26;\r\n\t}\r\n\t@media (max-width: 767px) {\r\n\t\t.takeaways-container {\r\n\t\t\theight: auto;\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t\t.box-content {\r\n\t\t\tpadding: 24px;\r\n\t\t}\r\n\t\t.content,\r\n\t\t.main-content,\r\n\t\t.list-item {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<div class=\"takeaways-container\">\r\n\t<div class=\"box-content\">\r\n\t\t<div class=\"content\">\r\n\t\t\t<div class=\"title\">\r\n\t\t\t\t<p>Key Takeaways<\/p>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"main-content\">\r\n\t\t\t\t<div class=\"list-item\">\r\n\t\t\t\t\t<div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#what-is-oee-in-manufacturing\">OEE measures<\/a> how much planned production time becomes good output by combining availability, performance, and quality.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#how-to-calculate-oee-in-manufacturing\">OEE is calculated<\/a> by multiplying availability, performance, and quality, with each component identifying a different type of production loss.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#how-to-improve-oee-in-manufacturing\">Improving OEE<\/a> means targeting the weakest component first, whether that is downtime, cycle speed, or defect rate.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#manual-oee-tracking-vs-manufacturing-software\">Manual OEE tracking<\/a> suits simple operations, but manufacturing software captures data faster and links losses to maintenance and inventory causes.<\/p><\/div>\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/div>\r\n<\/div>\n<!-- <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tTable of Content:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div> -->\r\n\r\n<!-- <div class=\"dropdown-fixed-top\" id=\"dropdown-fixed-top\">\r\n\t<div class=\"row\">\r\n\t\t<p id=\"pilihDaftarIsi\">Table of Content<\/p>\r\n\t\t<p><i class=\"td-icon-menu-down\"><\/i><\/p>\r\n\t<\/div>\r\n\t\r\n\t<div>\r\n\t\t<ul id=\"list_toc_top\" class='list_toc'><\/ul>\r\n\t<\/div>\r\n<\/div> -->\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Table of Content<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_top li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor: #000;\r\n\t\tmargin-bottom: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\r\n<\/style>\r\n\r\n<!-- ToC styling  -->\r\n<style>\r\n\t\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 700;\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\tconst panel2 = document.querySelector(\"#toc .list\");\r\n\tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n  let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n  \/\/ Function to handle scroll and add\/remove .sticky class\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Highlight user progress as the heading comes\r\n    headers.forEach(header => {\r\n\t\tconst headerTop = header.offsetTop;\r\n\t\tconst headerHeight = header.clientHeight;\r\n\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\t\t\ttocTitle.textContent = currentHeaderText;\r\n\t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\ttocTitle.textContent = 'Table of Content';\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader != '') {\r\n\t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\t\t\t  link.classList.add('active');\r\n\t\t  }\r\n\t  }\r\n    });\r\n\/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/         toc.style.display = 'block';\r\n\/\/ \t}else{\r\n\/\/         toc.style.display = 'none';\r\n\/\/ \t}\r\n    \/\/ Update TOC title if sticky\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n        toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n        toc.style.backgroundColor = \"#FFF\";\r\n\t\tpanel2.style.height = '0px';\r\n\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t  if(window.innerWidth < 767){\r\n\/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n       \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\t\t  }\r\n      }\r\n      if (currentHeader) {\r\n\/\/         console.log(\"activeLink:\", activeLink);\r\n        if (activeLink) {\r\n\/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n          tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n        }\r\n      }\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset'; \/\/ Reset to original width\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\t\ticon.style.transform = \"rotate(180deg)\";\r\n    }\r\n  }\r\n\r\n    \/\/ Attach the scroll event listener to the window\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    \/\/ Initial call to handleScroll to set the correct state on load\r\n    handleScroll();\r\n});\r\n\t\r\n\t\/\/ Open toggle TOC\r\n\t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\t\tvar toc = document.querySelector(\"#toc\");\r\n\t\tvar icon = document.querySelector(\".toc-icon\");\r\n\t\tconst tocTitle = document.querySelector('#toc-title');\r\n\t\tconst tocs = document.querySelector('#toc.sticky');\r\n \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\t\t  tocHeader.addEventListener(\"click\", function() {\r\n\t\t\tvar panel = this.nextElementSibling;\r\n\t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\t\t\t\tif(window.innerWidth > 768){\r\n\t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\t\t\t\t}\r\n\t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\t\t\t} else {\r\n\t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\t\t\ttoc.style.paddingBottom = '24px';\r\n\t\t\t \tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t  });\r\n\r\n\t\t  \/\/ Close TOC when a link inside it is clicked\r\n\t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\t\t  tocLinks.forEach(function(link) {\r\n\t\t\tlink.addEventListener(\"click\", function() {\r\n\t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t});\r\n\t\t  });\r\n\t\t});\r\n\r\n\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<!-- START script lama -->\r\n<!-- <script>\r\n\/\/ \tvar pilihDaftarIsi = document.getElementById('pilihDaftarIsi');\r\n\t\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/ \t\tvar dropdownFixedTop = document.querySelector('.dropdown-fixed-top');\r\n\r\n\/\/ \t\tdropdownFixedTop.addEventListener('click', function() {\r\n\/\/ \t\t\tvar dropdownContent = this.querySelector('.list_toc');\r\n\/\/ \t\t\tdropdownContent.classList.toggle('show');\r\n\/\/ \t\t});\r\n\r\n\/\/ \t\twindow.addEventListener('click', function(event) {\r\n\/\/ \t\t\tvar listTocTop = document.getElementById('list_toc_top');\r\n\r\n\/\/ \t\t\tif (!dropdownFixedTop.contains(event.target)) {\r\n\/\/ \t\t\t\tlistTocTop.classList.remove('show');\r\n\/\/ \t\t\t}\r\n\/\/ \t\t});\r\n\/\/ \t});\r\n\t\r\n\/\/ \tvar daftarIsiContainer = document.getElementById('toc_group_article');\r\n\/\/ \tvar dropdownFixedTop = document.getElementById('dropdown-fixed-top');\r\n\/\/     var triggered = false; \/\/ Flag to keep track of whether the function has been triggered\r\n\r\n\/\/     window.addEventListener('scroll', function() {\r\n\/\/         if (!triggered && isCompletelyScrolledPast(daftarIsiContainer)) {\r\n\/\/             showSectionDropdownFixedTop(false);\r\n\/\/             triggered = true;\r\n\/\/         } else if (triggered && !isCompletelyScrolledPast(daftarIsiContainer)) {\r\n\/\/             showSectionDropdownFixedTop(true);\r\n\/\/             triggered = false;\r\n\/\/         }\r\n\/\/     });\r\n\r\n\/\/     function isCompletelyScrolledPast(element) {\r\n\/\/         var elementTop = element.getBoundingClientRect().top;\r\n\/\/         var elementBottom = element.getBoundingClientRect().bottom;\r\n\/\/         return elementTop < 0 && elementBottom < 0;\r\n\/\/     }\r\n\r\n\/\/     function showSectionDropdownFixedTop(show) {\r\n\/\/ \t\tif (show) {\r\n\/\/ \t\t\tdropdownFixedTop.classList.remove(\"show\");\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tdropdownFixedTop.classList.add(\"show\");\r\n\/\/ \t\t}\r\n\/\/     }\r\n<\/script> -->\r\n<!-- <script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n\t\t  pilihDaftarIsi.innerHTML = a.textContent;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float', 'list_toc_top']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script> -->\r\n<!-- END script lama -->\r\n\t\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\t\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!--  <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\nToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\"\r\n        Fungsi untuk mengubah teks menjadi format id\r\n        function formatId(text) {\r\n            return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n        }\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        const elements = document.querySelectorAll('.td-post-content h2');\r\n\t\t\t\/\/, .td-post-content h3\r\n\r\n        elements.forEach(element => {\r\n            if (element.tagName === 'H2') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n                headings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n            } else if (element.tagName === 'H3') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n                if (headings.length > 0) {\r\n                    headings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Membuat list HTML dari objek headings\r\n        const ul = document.getElementById('list_toc');\r\n        let currentUl = ul;\r\n        headings.forEach(heading => {\r\n            const li = document.createElement('li');\r\n            const a = document.createElement('a');\r\n            a.textContent = heading.title;\r\n            a.href = `#${heading.id}`;\r\n            li.appendChild(a);\r\n\r\n            if (heading.level === 'h2') {\r\n                \/\/ Menyimpan ul saat ini untuk menambahkan nested ul\r\n                currentUl = li;\r\n                ul.appendChild(li);\r\n            } else if (heading.level === 'h3') {\r\n                if (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n                    \/\/ Jika belum ada nested ul, buat satu\r\n                    const nestedUl = document.createElement('ul');\r\n                    currentUl.appendChild(nestedUl);\r\n                    currentUl = nestedUl;\r\n                }\r\n                currentUl.appendChild(li);\r\n            }\r\n\r\n            createNestedList(li, heading.children);\r\n        });\r\n\t\tDapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\nDapatkan isi (child elements) dari ul dengan id 'list_toc_float'\r\n\tif (ulFloat !== null) {\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\t\tconst ulTocTop = document.getElementById('list_toc_top');\r\n\t\tif ((ulToc !== null || ulToc !== undefined) && window.innerWidth > 1018){\r\n\t\t\tulToc.append(...clonedChildren);\r\n\t\t} else {\r\n\t\t\tulTocTop.append(...clonedChildren);\r\n\t\t}\r\n\t} \r\n\r\n\tif (ulJourney !== null) {\r\n\t\tconst clonedChildrenJourney = ulJourney.cloneNode(true).children;\r\n\t\tconst ulTocJourney = document.getElementById('list_toc_journey');\r\n\t\tulTocJourney.append(...clonedChildrenJourney);\r\n\t} \r\n\t\r\n        Fungsi untuk mengambil tinggi navbar\r\n        function getNavbarHeight() {\r\n            const navbar = document.getElementById('tdi_34');\r\n            return navbar ? navbar.offsetHeight : 0;\r\n        }\r\n\r\n        \/\/ Fungsi untuk menambahkan offset posisi scroll\r\n        function scrollToElementWithOffset(elementId) {\r\n            const element = document.getElementById(elementId);\r\n            if (element) {\r\n                const offset = getNavbarHeight();\r\n                const elementPosition = element.getBoundingClientRect().top;\r\n                const offsetPosition = elementPosition - offset-40;\r\n\r\n                window.scrollBy({\r\n                    top: offsetPosition,\r\n                    behavior: 'smooth'\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Fungsi untuk menangani klik pada tautan judul\r\n        function handleTitleClick(event) {\r\n            event.preventDefault();\r\n            const href = event.target.getAttribute('href').substr(1);\r\n            scrollToElementWithOffset(href);\r\n        }\r\n\r\n        \/\/ Tambahkan event listener untuk semua tautan judul\r\n        const titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n        titleLinks.forEach(link => {\r\n            link.addEventListener('click', handleTitleClick);\r\n        });\r\n\t});\r\n    <\/script> -->\r\n\n<a href=\"https:\/\/www.hashmicro.com\/au\/free-product-tour\/?medium=free-product-tour\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" width=\"712\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/11\/Free-Product-Tour-resized.webp\" alt=\"Free Demo\"><\/a>\n<h2><strong>What is OEE in manufacturing?<\/strong><\/h2>\n<p>OEE in manufacturing measures how effectively equipment converts planned production time into good products. It combines three factors, availability, performance, and quality, into a single percentage score.<\/p>\n<p>In simple terms, OEE answers one question: how much planned production time actually became good output? A score of 100% means equipment ran without interruption, at full speed, with no defects.<\/p>\n<p>A production line with a low OEE score may suffer from breakdowns, slow cycle times, material delays, or rejected products. OEE does not only show that production fell short. It shows which type of loss caused the shortfall.<\/p>\n<p>Two factories can both miss their production targets for entirely different reasons. One may lose output because machines stop frequently. The other may run continuously but produce too many defective units.<\/p>\n<p>Without OEE, both problems look identical in a standard output report. The score identifies which problem is actually present, so teams can focus on the right fix.<\/p>\n<p><style>\r\n    #custom-quote {\r\n        background-color: #f0f0f0;\r\n        padding: 20px;\r\n        border-radius: 12px;\r\n        margin: 20px;\r\n        display: flex;\r\n        flex-direction: column;\r\n    }\r\n\r\n    #custom-quote .quote-body {\r\n        display: flex;\r\n        flex-direction: row;\r\n        align-items: flex-start;\r\n        gap: 15px;\r\n        font-size: 16px;\r\n        line-height: 1.5;\r\n        font-style: italic;\r\n    }\r\n\r\n    #custom-quote .quote-icon {\r\n        width: 40px;\r\n        height: 40px;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    #custom-quote .quote-author-wrapper {\r\n        margin-top: 15px;\r\n        align-self: flex-start;\r\n        margin-left: 55px; \r\n\t\tmargin-bottom: 0px;\r\n    }\r\n\r\n    #custom-quote em {\r\n        font-family: 'Roboto Serif', serif !important;\r\n        font-size: 12px;\r\n        font-weight: bold;\r\n        font-style: normal;\r\n    }\r\n\r\n    @media screen and (max-width: 768px) {\r\n        #custom-quote {\r\n            margin: 15px 0;\r\n            padding: 15px;\r\n        }\r\n        \r\n        #custom-quote .quote-body {\r\n            gap: 12px;\r\n        }\r\n\r\n        #custom-quote .quote-author-wrapper {\r\n            margin-left: 52px;\r\n        }\r\n    }\r\n\r\n    @media screen and (max-width: 480px) {\r\n        #custom-quote {\r\n            margin: 10px 0;\r\n            padding: 12px;\r\n        }\r\n\r\n        #custom-quote .quote-body {\r\n            font-size: 14px;\r\n            gap: 10px;\r\n        }\r\n\r\n        #custom-quote .quote-icon {\r\n            width: 32px;\r\n            height: 32px;\r\n        }\r\n\r\n        #custom-quote .quote-author-wrapper {\r\n            margin-top: 10px;\r\n            margin-left: 42px;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div id=\"custom-quote\">\r\n    <div class=\"quote-body\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/12\/quote.webp\" alt=\"Quote Icon\" class=\"quote-icon\">\r\n        <div>\r\n            \u201cOEE is the metric that tells manufacturers not just how much production was lost, but why. For Australian businesses running multi-shift operations, it separates downtime, speed, and quality losses so teams fix the right problem first.        <\/div>\r\n    <\/div>\r\n    <p class=\"quote-author-wrapper\">\r\n        <em><\/em>\r\n    <\/p>\r\n<\/div><!-- notionvc: 1a7458b7-c932-44c4-afb1-7a3bc1034949 --><\/p>\n<h2><strong>Why OEE matters for manufacturing businesses<\/strong><\/h2>\n<p>OEE matters because it turns production losses into measurable categories. Manufacturers can see whether capacity was lost to downtime, slow equipment speed, or quality failures, rather than guessing from output numbers alone.<\/p>\n<h3>1. It reveals hidden production capacity losses<\/h3>\n<p>Factories often lose capacity in small, difficult-to-notice increments. A few minutes of stoppage, a slower cycle, or a brief changeover delay may not appear serious in isolation.<\/p>\n<p>Across a full shift or a working week, those losses can reduce total output significantly. OEE surfaces these hidden losses by showing whether equipment ran as planned and whether output met the required standard.<\/p>\n<p>This is especially valuable before a business invests in new machines. Existing equipment may still hold unused capacity that better planning and real-time monitoring can recover without capital expenditure.<\/p>\n<h3>2. It shows whether losses come from availability, performance, or quality<\/h3>\n<p>OEE breaks production losses into three clear categories. Availability shows whether equipment ran during planned production time. Performance shows whether it reached its expected speed. Quality shows whether output met production standards.<\/p>\n<p>This breakdown gives managers something an output report cannot provide: a diagnosis. If availability is weak, the team should investigate downtime patterns and maintenance planning.<\/p>\n<p>If performance is weak, cycle time targets or minor stops are more likely the cause. If quality is weak, the focus should shift to defect rates and rework processes. Without this breakdown, teams risk applying the wrong solution to the wrong problem.<\/p>\n<h3>3. It helps managers prioritise improvement actions<\/h3>\n<p>OEE helps production managers avoid guessing. Instead of launching broad improvement efforts, they can focus on the largest loss factor first and measure whether results improve over time.<\/p>\n<p>If performance is the weakest component, additional maintenance may not address the actual problem. The better action might be reviewing cycle time targets, machine settings, or changeover procedures on that specific line.<\/p>\n<p>OEE narrows the focus so improvement efforts are tied to actual loss data, rather than general assumptions about what needs fixing. This keeps resources directed where they will have the most impact.<\/p>\n<h3>4. It supports better visibility across shifts, lines, and sites<\/h3>\n<p>Manufacturers with multiple shifts, lines, or locations need consistent performance data. A single averaged production report can mask wide differences between teams, machines, or facilities.<\/p>\n<p>Tracking OEE by line, shift, product, and site helps managers identify where losses occur most often. It also creates a shared performance language across operations, maintenance, inventory, and quality teams.<\/p>\n<p>For Australian manufacturers running 24-hour production schedules or operating across multiple states, this level of visibility is difficult to achieve without a structured, measurable metric like OEE.<\/p>\n<h2><strong>OEE formula: availability x performance x quality<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-5322 size-full\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273.webp\" alt=\"oee-formula-availability-x-performance-x-quality\" width=\"2560\" height=\"1404\" srcset=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273.webp 2560w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-300x165.webp 300w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-1024x562.webp 1024w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-768x421.webp 768w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-1536x842.webp 1536w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-2048x1123.webp 2048w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-766x420.webp 766w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-150x82.webp 150w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-696x382.webp 696w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-1068x586.webp 1068w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Mastering_OEE_Diagnostic_Framework-scaled-e1781515953273-1920x1053.webp 1920w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/p>\n<p>The preferred OEE formula multiplies availability by performance by quality. This method is widely used because it produces both the final OEE score and a diagnostic breakdown of where losses occur.<\/p>\n<p style=\"font-size: 1.15em; background-color: #ffe5e5; padding: 6px 12px; border-radius: 4px; display: block;\"><strong>OEE <\/strong>= Availability \u00d7 Performance \u00d7 Quality<\/p>\n<h3>1. Availability: how much planned production time is actually used<\/h3>\n<p>Availability measures how much of the planned production time the equipment actually runs. Planned production time excludes scheduled breaks and any planned non-production periods.<\/p>\n<p style=\"font-size: 1.15em; background-color: #ffe5e5; padding: 6px 12px; border-radius: 4px; display: block;\"><strong>Availability<\/strong> = Run Time \/ Planned Production Time<\/p>\n<p>Run time is planned production time minus unplanned stop time. If a line is scheduled for 420 minutes and loses 60 minutes to downtime, run time is 360 minutes, giving an availability of 85.7%.<\/p>\n<p>Availability losses include machine breakdowns, emergency repairs, material shortages that halt the line, and delays related to operator availability or tooling changes. Each of these reduces the time equipment is actually producing.<\/p>\n<h3>2. Performance: how close equipment runs to ideal speed<\/h3>\n<p>Performance measures whether equipment runs at its expected speed during run time. A machine may be active but still produce fewer units than expected because of minor stops, speed reductions, or process inconsistencies.<\/p>\n<p style=\"font-size: 1.15em; background-color: #ffe5e5; padding: 6px 12px; border-radius: 4px; display: block;\"><strong>Performance<\/strong> = (Ideal Cycle Time x Total Count) \/ Run Time<\/p>\n<p>Ideal cycle time is the fastest rate the equipment can produce one unit under optimal conditions. When actual output falls below that rate, performance drops below 100%.<\/p>\n<p>Performance losses are among the most commonly underestimated in OEE. Machines appear to be working normally while producing well below their potential output rate.<\/p>\n<h3>3. Quality: how much output meets the required standard<\/h3>\n<p>Quality measures how much of the total output is accepted as good product and plays an important role in <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/quality-control\/\">maintaining production standards <\/a>across manufacturing operations<\/p>\n<p style=\"font-size: 1.15em; background-color: #ffe5e5; padding: 6px 12px; border-radius: 4px; display: block;\"><strong>Quality<\/strong> = Good Count \/ Total Count<\/p>\n<p>If a line produces 900 units but 45 are defective, only 855 count as good output. Quality losses include scrap, rejected parts, and units that require rework before shipping or use.<\/p>\n<p>Each defective unit represents wasted material, labour, and machine time. Quality losses affect more than output volume. They reduce margin and add pressure to delivery schedules.<\/p>\n<h3>4. Complete OEE formula<\/h3>\n<p>After calculating each factor separately, multiply the three percentages together. The result shows how much planned production time converted into good output at the expected speed.<\/p>\n<p style=\"font-size: 1.15em; background-color: #ffe5e5; padding: 6px 12px; border-radius: 4px; display: block;\"><strong>OEE = <\/strong>Availability \u00d7 Performance \u00d7 Quality<\/p>\n<p>A low final score not only indicates poor overall performance. It also points to the specific factor driving most of the loss, which makes the formula more useful than a single output target.<\/p>\n<p>Managers can use the component scores to act on a clear diagnosis rather than guessing where to start. This is the core advantage of the preferred formula over a simpler single-calculation approach.<\/p>\n<h3>5. Simple OEE formula vs preferred OEE formula<\/h3>\n<p>Two versions of the OEE formula are commonly used in manufacturing environments.<\/p>\n<p style=\"font-size: 1.15em; background-color: #ffe5e5; padding: 6px 12px; border-radius: 4px; display: block;\"><strong>Simple formula<\/strong>: (Good Count x Ideal Cycle Time)\/Planned Production Time<\/p>\n<p><strong>Preferred formula<\/strong>: Availability x Performance x Quality<\/p>\n<p>The simple formula gives a result quickly when detailed production data is limited. However, it does not separate the loss by cause.<\/p>\n<p>The preferred formula is more useful for improvement because it shows whether the loss came from downtime, slow speed, or defects. Teams need this breakdown to take the right corrective action.<\/p>\n<h2><strong>How to calculate OEE in manufacturing<\/strong><\/h2>\n<p>To calculate OEE, define planned production time, work out actual run time, record total and good output counts, calculate each factor individually, then multiply them together.<\/p>\n<h3>1. Define planned production time<\/h3>\n<p>Start with the total scheduled shift time and subtract any planned downtime, including scheduled breaks and planned maintenance periods.<\/p>\n<p>Scheduled shift time: 480 minutes. Planned break: 60 minutes. Planned production time: 420 minutes.<\/p>\n<h3>2. Calculate run time<\/h3>\n<p>Subtract unplanned stop time from planned production time to find actual run time.<\/p>\n<p>Planned production time: 420 minutes. Unplanned downtime: 60 minutes. Run time: 360 minutes.<\/p>\n<h3>3. Identify total count and good count<\/h3>\n<p>Record all units produced during the shift, then separate good units from defective or rejected units.<\/p>\n<p>Total units produced: 900. Defective units: 45. Good units: 855.<\/p>\n<h3>4. Calculate availability<\/h3>\n<p>Divide run time by planned production time.<\/p>\n<p>Availability = 360 \/ 420 = 85.7%<\/p>\n<h3>5. Calculate performance<\/h3>\n<p>Multiply the ideal cycle time by the total count, then divide by run time. Assume the ideal cycle time is 0.35 minutes per unit.<\/p>\n<p>Performance = (0.35 x 900) \/ 360 = 87.5%<\/p>\n<h3>6. Calculate quality<\/h3>\n<p>Divide the good unit count by the total unit count.<\/p>\n<p>Quality = 855 \/ 900 = 95%<\/p>\n<h3>7. Multiply the three OEE factors<\/h3>\n<p>Multiply availability, performance, and quality together to get the final OEE score.<\/p>\n<p>OEE = 85.7% x 87.5% x 95% = 71.2%<\/p>\n<p>The result shows the line is operating at 71.2% of its potential. Availability and performance show the largest improvement opportunities. Even a modest gain in either factor would meaningfully increase the final OEE score.<\/p>\n<h3>8. Example OEE calculation table<\/h3>\n<p>This is an example of each OEE calculation component to simply demonstrate how to calculate them.<\/p>\n<table>\n<thead>\n<tr>\n<td style=\"background-color: #990000; color: #ffffff; padding: 5px; text-align: center;\"><b>Component<\/b><\/td>\n<td style=\"background-color: #990000; color: #ffffff; padding: 5px; text-align: center;\"><b>Calculation<\/b><\/td>\n<td style=\"background-color: #990000; color: #ffffff; padding: 5px; text-align: center;\"><b>Result<\/b><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Planned production time<\/td>\n<td>480 &#8211; 60<\/td>\n<td>420 minutes<\/td>\n<\/tr>\n<tr>\n<td>Run time<\/td>\n<td>420 &#8211; 60<\/td>\n<td>360 minutes<\/td>\n<\/tr>\n<tr>\n<td>Availability<\/td>\n<td>360 \/ 420<\/td>\n<td>85.7%<\/td>\n<\/tr>\n<tr>\n<td>Performance<\/td>\n<td>(0.35 x 900) \/ 360<\/td>\n<td>87.5%<\/td>\n<\/tr>\n<tr>\n<td>Quality<\/td>\n<td>855 \/ 900<\/td>\n<td>95%<\/td>\n<\/tr>\n<tr>\n<td>Final OEE<\/td>\n<td>85.7% x 87.5% x 95%<\/td>\n<td>71.2%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><strong>Common causes of low OEE in manufacturing<\/strong><\/h2>\n<p>Low OEE usually results from losses across availability, performance, or quality. The most common causes include unplanned downtime, slow cycles, changeover delays, material shortages, defects, and delayed reporting.<\/p>\n<h3>1. Unplanned equipment downtime<\/h3>\n<p>Downtime reduces availability directly. It can occur because of machine breakdowns, emergency repairs, missing spare parts, or insufficient maintenance planning.<\/p>\n<p>When downtime is not tracked by reason, teams may only know the machine stopped without identifying whether the cause was a mechanical failure, an operator delay, or a material shortage.<\/p>\n<p>Accurate downtime records allow maintenance teams to detect patterns. Repeated failures on the same equipment or the same shift point to a root cause that targeted action can resolve.<\/p>\n<h3>2. Slow cycles and minor stops<\/h3>\n<p>Slow cycles reduce performance without triggering a formal downtime event. A machine may run throughout the shift but produce fewer units than its ideal cycle time allows.<\/p>\n<p>Minor stops are brief pauses that each appear insignificant. Repeated across a shift, they can reduce total output by a meaningful percentage without ever appearing in a downtime log.<\/p>\n<p>Both losses are among the most underreported in manual OEE tracking. They often fall below the threshold operators choose to record, which makes performance data less reliable over time.<\/p>\n<h3>3. Changeover delays and inconsistent setup times<\/h3>\n<p>Changeovers reduce both availability and performance when setup time varies between operators, products, or shifts. A procedure that takes 20 minutes on one shift may take 45 minutes on another.<\/p>\n<p>This variation makes the production schedule harder to control and OEE comparisons less meaningful. Standardising changeover steps reduces lost time and helps teams track performance consistently across shifts.<\/p>\n<h3>4. Material shortages and poor production scheduling<\/h3>\n<p>Production can stop even when equipment is fully operational. If raw materials, packaging, or components are unavailable, the line waits rather than produces.<\/p>\n<p>OEE captures this loss under availability, but identifying the cause requires visibility into inventory and procurement.<\/p>\n<p>Poor scheduling and inaccurate stock data are common contributors that sit outside the maintenance team&#8217;s direct control. For Australian manufacturers managing lead times or delays, material-related availability losses are significant.<\/p>\n<h3>5. Scrap, defects, and rework<\/h3>\n<p>Defects reduce quality and increase production cost at the same time. A line may produce high unit volumes but deliver fewer saleable products than the output count suggests.<\/p>\n<p>Each rejected unit represents wasted machine time, material, and labour. Rework adds further cost and can delay downstream production or delivery schedules.<\/p>\n<p>OEE surfaces this loss through the quality factor. When quality falls consistently below target, the team has a measurable signal to investigate materials, tooling, process settings, or operator handling.<\/p>\n<h3>6. Manual data entry and delayed reporting<\/h3>\n<p>Manual OEE tracking depends on consistent data entry. When operators record downtime after the shift ends, short stops are missed, and reason codes become less accurate.<\/p>\n<p>Delayed reporting also slows response. If a performance issue only appears in a report the following morning, the same problem may affect multiple shifts before anyone investigates.<\/p>\n<p>Inconsistent reason codes create a further problem. Aggregated data becomes harder to analyse across shifts or lines, which limits how useful OEE trends are for improvement planning.<\/p>\n<h2><strong>Key benefits of OEE in manufacturing<\/strong><\/h2>\n<p>OEE gives manufacturers a structured way to measure equipment performance and identify where improvement will have the most impact. Its benefits extend from the production floor to financial and operational reporting.<\/p>\n<h3>1. Reduces unplanned downtime<\/h3>\n<p>OEE tracks availability loss, making downtime visible and measurable. Teams can identify recurring failures on specific machines or shifts and build maintenance plans around actual performance patterns.<\/p>\n<p>Moving from reactive repairs to planned interventions reduces the frequency and duration of unplanned stops. For high-volume production environments, even modest improvements in availability translate to meaningful output gains.<\/p>\n<h3>2. Improves machine utilisation<\/h3>\n<p>OEE shows whether existing equipment is being used effectively. A machine running at 65% OEE still has significant capacity available before a capital investment becomes necessary.<\/p>\n<p>For Australian manufacturers managing the cost of imported or specialised machinery, improving utilisation is often a faster and lower-risk path to increased output than purchasing additional assets.<\/p>\n<h3>3. Increases output without adding new equipment<\/h3>\n<p>Small improvements in availability, performance, or quality can increase total good output meaningfully. A line that moves from 70% to 80% OEE produces significantly more usable units from the same equipment and labour budget.<\/p>\n<p>This is especially valuable when demand increases, but capital budgets are constrained. OEE improvement is one of the few ways manufacturers can grow output without expanding headcount or adding production lines.<\/p>\n<h3>4. Improves quality control and reduces rework<\/h3>\n<p>OEE connects quality performance to production performance. Instead of reviewing quality and output as separate reports, the quality factor ties defect rates directly to the overall OEE score.<\/p>\n<p>This alignment helps quality and production teams work from the same data. When quality losses increase, both teams can see the impact on OEE, which makes the case for corrective action clearer and faster.<\/p>\n<h3>5. Helps lower production costs<\/h3>\n<p>Downtime, slow cycles, and defects each create cost. They increase labour waste, material usage, maintenance pressure, and the risk of missed delivery commitments to customers.<\/p>\n<p>By identifying the largest loss factor first, OEE helps manufacturers direct improvement effort where it will have the most measurable impact, rather than spreading attention across the full operation.<\/p>\n<h3>6. Gives leaders clearer production visibility<\/h3>\n<p>OEE provides a single score that senior leaders can track, supported by three component metrics that operations teams can act on directly. This structure creates clearer reporting between different levels of the business.<\/p>\n<p>Plant managers, supervisors, maintenance teams, and finance can all work from the same production data without needing separate reports for each function. This reduces reporting overhead and improves decision speed.<\/p>\n<h2><strong>How to improve OEE in manufacturing<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-5326 size-full\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545.webp\" alt=\"how-to-improve-oee-in-manufacturing\" width=\"2466\" height=\"1365\" srcset=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545.webp 2466w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-300x166.webp 300w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-1024x567.webp 1024w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-768x425.webp 768w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-1536x850.webp 1536w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-2048x1134.webp 2048w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-759x420.webp 759w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-150x83.webp 150w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-696x385.webp 696w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-1068x591.webp 1068w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/6_Strategies_for_OEE_Optimization-scaled-e1781516060545-1920x1063.webp 1920w\" sizes=\"(max-width: 2466px) 100vw, 2466px\" \/><\/p>\n<p>Improving OEE requires consistent data, targeted action, and regular review. The most effective efforts focus on one loss factor at a time, using actual performance data rather than broad assumptions about what needs fixing.<\/p>\n<h3>1. Track downtime reasons consistently<\/h3>\n<p>Downtime data is only actionable when it is consistent. Use clear reason categories: breakdown, setup delay, material shortage, operator issue, quality failure, or planned maintenance.<\/p>\n<p>Consistent reason codes make recurring losses easier to identify and allow reliable comparison across shifts and lines.<\/p>\n<p>Without them, aggregated downtime data reflects recording habits more than actual equipment behaviour.<\/p>\n<h3>2. Monitor production data in real time<\/h3>\n<p>Real-time data allows managers to respond while the issue is still affecting production. Reviewing OEE only after the shift ends means the same problem may run for hours before it is visible.<\/p>\n<p>Live dashboards that surface downtime alerts, slow cycle warnings, and quality flags give supervisors the information they need to intervene during the shift, not after it.<\/p>\n<h3>3. Standardise changeover procedures<\/h3>\n<p>Documented changeover steps reduce variation between operators and shifts. When the process is defined and consistently followed, setup time becomes predictable and easier to compare across lines.<\/p>\n<p>Review changeover time by product, line, and operator. Where setup duration varies significantly, investigate whether the procedure is followed correctly or whether the documentation needs updating.<\/p>\n<h3>4. Use preventive maintenance schedules<\/h3>\n<p>Preventive maintenance reduces the frequency and duration of unplanned stops. Instead of waiting for equipment to fail, teams schedule inspections and servicing around planned production windows.<\/p>\n<p>Maintenance planning should connect to the production schedule. When upcoming jobs are visible to the maintenance team, servicing can be timed to avoid disrupting planned production runs.<\/p>\n<h3>5. Reduce material and inventory delays<\/h3>\n<p>Material delays lower OEE even when equipment is fully functional. Production teams need accurate inventory data before the shift starts to avoid avoidable waiting time on the line.<\/p>\n<p>Better coordination between inventory, procurement, and production reduces the gap between demand and material availability. This is especially relevant for Australian manufacturers managing extended supplier lead times or import delays.<\/p>\n<h3>6. Review OEE by line, shift, product, and site<\/h3>\n<p>A single aggregate OEE score can hide significant variation. One line may show persistent downtime while another has a quality problem. One shift may average longer changeovers while another runs close to target speed.<\/p>\n<p>Segmenting OEE data by line, shift, product type, and site reveals where losses actually concentrate. This makes improvement targets more specific and easier to act on than a site-wide average.<\/p>\n<h3>7. Set improvement targets based on the biggest loss factor<\/h3>\n<p>OEE targets are most effective when tied to the weakest component and aligned with the broader <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/production-planning\/\">production strategy <\/a>of the business. If availability is the largest loss, focus on downtime. If performance is lowest, address cycle speed. If quality lags, investigate defects.<\/p>\n<p>Spreading improvement effort across all three factors simultaneously tends to dilute focus and delay results. Acting on one factor at a time keeps teams accountable and progress measurable.<\/p>\n<h2><strong>Manual OEE tracking vs manufacturing software<\/strong><\/h2>\n<p>Manual OEE tracking can work in simple environments with one line and a small team. Spreadsheets allow a business to start measuring OEE without a major system change, provided data entry is disciplined and consistent.<\/p>\n<p>As production grows more complex, manual tracking becomes harder to sustain, which is why many businesses adopt <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/manufacturing-software\/\">digital tools for manufacturers<\/a> to improve visibility and reporting accuracy.<\/p>\n<p>Without a <a href=\"https:\/\/www.hashmicro.com\/au\/hash-manufacturing-software\" target=\"_blank\" rel=\"noopener\">connected manufacturing system<\/a>, there is also no visible link between an OEE loss and its operational cause in inventory, procurement, or maintenance. This limits how useful the data is for root cause analysis.<\/p>\n<p>A platform that centralises downtime logs, output records, quality results, and maintenance data gives managers a clearer view of what happened and why.<\/p>\n<p>For manufacturers with broader operational needs, ERP software connects OEE data with production planning, inventory, procurement, and maintenance.<\/p>\n<p>HashMicro&#8217;s manufacturing software connects production planning, inventory, maintenance, and reporting in one system, making it a comprehensive <a href=\"https:\/\/www.hashmicro.com\/au\/hash-manufacturing-software\">system for improving production efficiency<\/a> while helping teams track OEE and act on performance issues faster<\/p>\n<p>The platform also functions as <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/manufacturing-systems\/\">production workflows integration software<\/a>, helping manufacturers connect operational data across departments and reduce delays caused by disconnected systems.<\/p>\n<h2><strong>OEE in Australian manufacturing<\/strong><\/h2>\n<p>Australian manufacturing spans food production, metal fabrication, industrial machinery, and construction materials, making equipment effectiveness a priority across a wide range of production environments.<\/p>\n<p>According to the <a href=\"https:\/\/www.abs.gov.au\/statistics\/industry\/industry-overview\/australian-industry\/latest-release\" target=\"_blank\" rel=\"noopener noreferrer\">Australian Bureau of Statistics<\/a>, the manufacturing industry employed over 860,000 people in Australia in 2023-24, with wages and salaries growing 5.8% over the same period.<\/p>\n<p>For businesses operating in this environment, production efficiency is not a theoretical goal. Labour costs, energy prices, and <a href=\"https:\/\/www.industry.gov.au\/manufacturing\" target=\"_blank\" rel=\"noopener noreferrer\">supply chain pressures<\/a> mean every unit of lost capacity carries a real cost.<\/p>\n<p>OEE gives local manufacturers a practical way to improve output visibility before expanding capacity. This is especially valuable for multi-site operations managing import delays, seasonal demand shifts, or workforce constraints.<\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\">OEE measures how effectively planned production time converts into good output. The three-factor score shows whether losses came from downtime, slow cycles, or defects.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\">For Australian manufacturers, OEE is most useful when it leads to action. Manufacturing software centralises production, inventory, and reporting so teams can act before losses reach the next shift.<\/p>\n<p>If you are interested in learning further, you can book <a href=\"https:\/\/www.hashmicro.com\/au\/free-product-tour\/?medium=free-product-tour\">a free consultation<\/a> with us anytime. Start today and scale your business.<\/p>\n<a href=\"https:\/\/www.hashmicro.com\/au\/hash-manufacturing-software?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" width=\"712\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Manufacturing.webp\" alt=\"Hash Manufacturing Automation\"><\/a>\n<h2><strong>Frequently Asked Questions<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>What are the biggest factors that reduce OEE in manufacturing?<\/strong><\/summary>\n<p>The most common factors are unplanned downtime, slow cycle times, and defective output. Downtime reduces availability, speed losses reduce performance, and defects or rework reduce quality. Changeover delays, material shortages, and inconsistent maintenance planning also contribute to lower OEE scores.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>How often should manufacturers measure OEE?<\/strong><\/summary>\n<p>OEE should be measured every shift at minimum. Real-time tracking gives teams the ability to respond to downtime or quality issues during production rather than after the shift ends. Weekly and monthly reviews help identify longer-term trends across lines, products, and sites.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Can a machine have high availability but low OEE?<\/strong><\/summary>\n<p>Yes. A machine can run throughout the entire planned production window but still produce a low OEE score if it operates below its ideal speed or generates a high number of defective units. Availability only measures whether the machine was running, not how well it performed during that time.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Should OEE be measured by machine, line, shift, or site?<\/strong><\/summary>\n<p>Ideally, all four. A single site-level OEE score can hide significant differences between machines, lines, or shifts. Measuring at each level helps managers pinpoint exactly where production losses are occurring and compare performance more accurately across the operation.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What data is needed to track OEE accurately?<\/strong><\/summary>\n<p>Accurate OEE tracking requires planned production time, actual run time, downtime events with reason codes, total units produced, good units accepted, and the ideal cycle time for each product. Without consistent reason codes and real-time capture, downtime and short stops are often missed or misclassified.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What are the biggest factors that reduce OEE in manufacturing?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The most common factors are unplanned downtime, slow cycle times, and defective output. Downtime reduces availability, speed losses reduce performance, and defects or rework reduce quality. Changeover delays, material shortages, and inconsistent maintenance planning also contribute to lower OEE scores.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How often should manufacturers measure OEE?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"OEE should be measured every shift at minimum. Real-time tracking gives teams the ability to respond to downtime or quality issues during production rather than after the shift ends. Weekly and monthly reviews help identify longer-term trends across lines, products, and sites.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can a machine have high availability but low OEE?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. A machine can run throughout the entire planned production window but still produce a low OEE score if it operates below its ideal speed or generates a high number of defective units. Availability only measures whether the machine was running, not how well it performed during that time.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Should OEE be measured by machine, line, shift, or site?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Ideally all four. A single site-level OEE score can hide significant differences between machines, lines, or shifts. Measuring at each level helps managers pinpoint exactly where production losses are occurring and compare performance more accurately across the operation.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What data is needed to track OEE accurately?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Accurate OEE tracking requires planned production time, actual run time, downtime events with reason codes, total units produced, good units accepted, and the ideal cycle time for each product. Without consistent reason codes and real-time capture, downtime and short stops are often missed or misclassified.\"\n      }\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manufacturing teams can lose significant output even when equipment appears to be running. A machine may stay active all shift, but downtime, speed loss, and defects quietly erode usable production. OEE stands for overall equipment effectiveness. It measures how well planned production time converts into good output, combining availability, performance, and quality into one score. [&hellip;]<\/p>\n","protected":false},"author":60,"featured_media":5320,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[85],"tags":[],"class_list":{"0":"post-5251","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-manufacture"},"acf":{"post_reviewer":36},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>OEE in Manufacturing: Formula, Benefits, and How to Improve It<\/title>\n<meta name=\"description\" content=\"Learn what OEE, how to calculate it, and what causes low scores. Know how software helps Australian manufacturers improve performance.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Is OEE in Manufacturing? Definition and Formulas\" \/>\n<meta property=\"og:description\" content=\"Learn what OEE, how to calculate it, and what causes low scores. Know how software helps Australian manufacturers improve performance.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Australia\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-29T10:09:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T092044.644.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Afresti Fahiratunnisa\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Afresti Fahiratunnisa\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/\"},\"author\":{\"name\":\"Afresti Fahiratunnisa\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#\\\/schema\\\/person\\\/6c91393af5d13aad3fbbc15decd2e492\"},\"headline\":\"What Is OEE in Manufacturing? Definition and Formulas\",\"datePublished\":\"2026-06-29T10:09:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/\"},\"wordCount\":3696,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Untitled-design-2026-06-15T092044.644.png\",\"articleSection\":[\"Manufacture\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/\",\"name\":\"OEE in Manufacturing: Formula, Benefits, and How to Improve It\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Untitled-design-2026-06-15T092044.644.png\",\"datePublished\":\"2026-06-29T10:09:42+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#\\\/schema\\\/person\\\/6c91393af5d13aad3fbbc15decd2e492\"},\"description\":\"Learn what OEE, how to calculate it, and what causes low scores. Know how software helps Australian manufacturers improve performance.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Untitled-design-2026-06-15T092044.644.png\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Untitled-design-2026-06-15T092044.644.png\",\"width\":800,\"height\":400,\"caption\":\"oee-manufacturing\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/oee-manufacturing\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What Is OEE in Manufacturing? Definition and Formulas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/\",\"name\":\"HashMicro Australia\",\"description\":\"Business Management Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#\\\/schema\\\/person\\\/6c91393af5d13aad3fbbc15decd2e492\",\"name\":\"Afresti Fahiratunnisa\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/394a17f676a9c2244615401967cea3ac3588d5a462af5766cd5ea2bb3333007c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/394a17f676a9c2244615401967cea3ac3588d5a462af5766cd5ea2bb3333007c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/394a17f676a9c2244615401967cea3ac3588d5a462af5766cd5ea2bb3333007c?s=96&d=mm&r=g\",\"caption\":\"Afresti Fahiratunnisa\"},\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/author\\\/afresti-fahiratunnisahashmicro-com-sg\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OEE in Manufacturing: Formula, Benefits, and How to Improve It","description":"Learn what OEE, how to calculate it, and what causes low scores. Know how software helps Australian manufacturers improve performance.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/","og_locale":"en_US","og_type":"article","og_title":"What Is OEE in Manufacturing? Definition and Formulas","og_description":"Learn what OEE, how to calculate it, and what causes low scores. Know how software helps Australian manufacturers improve performance.","og_url":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/","og_site_name":"HashMicro Australia","article_published_time":"2026-06-29T10:09:42+00:00","og_image":[{"width":800,"height":400,"url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T092044.644.png","type":"image\/png"}],"author":"Afresti Fahiratunnisa","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Afresti Fahiratunnisa","Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/"},"author":{"name":"Afresti Fahiratunnisa","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/6c91393af5d13aad3fbbc15decd2e492"},"headline":"What Is OEE in Manufacturing? Definition and Formulas","datePublished":"2026-06-29T10:09:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/"},"wordCount":3696,"commentCount":0,"image":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T092044.644.png","articleSection":["Manufacture"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/","url":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/","name":"OEE in Manufacturing: Formula, Benefits, and How to Improve It","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T092044.644.png","datePublished":"2026-06-29T10:09:42+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/6c91393af5d13aad3fbbc15decd2e492"},"description":"Learn what OEE, how to calculate it, and what causes low scores. Know how software helps Australian manufacturers improve performance.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/#primaryimage","url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T092044.644.png","contentUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T092044.644.png","width":800,"height":400,"caption":"oee-manufacturing"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/au\/blog\/oee-manufacturing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/au\/blog\/"},{"@type":"ListItem","position":2,"name":"What Is OEE in Manufacturing? Definition and Formulas"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#website","url":"https:\/\/www.hashmicro.com\/au\/blog\/","name":"HashMicro Australia","description":"Business Management Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/au\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/6c91393af5d13aad3fbbc15decd2e492","name":"Afresti Fahiratunnisa","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/394a17f676a9c2244615401967cea3ac3588d5a462af5766cd5ea2bb3333007c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/394a17f676a9c2244615401967cea3ac3588d5a462af5766cd5ea2bb3333007c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/394a17f676a9c2244615401967cea3ac3588d5a462af5766cd5ea2bb3333007c?s=96&d=mm&r=g","caption":"Afresti Fahiratunnisa"},"url":"https:\/\/www.hashmicro.com\/au\/blog\/author\/afresti-fahiratunnisahashmicro-com-sg\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/5251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/comments?post=5251"}],"version-history":[{"count":7,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/5251\/revisions"}],"predecessor-version":[{"id":5521,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/5251\/revisions\/5521"}],"acf:user":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/users\/36"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/media\/5320"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/media?parent=5251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/categories?post=5251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/tags?post=5251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}