How to choose production KPIs
A KPI is useful if someone looking at it knows what to do. Fifteen indicators on one dashboard are too many for a shift leader and too few for a plant director: the practical rule is to start from four questions and give each one or two numbers. Are we producing enough? (OEE, takt time, parts per hour). Are we producing well? (first pass yield, scrap, Cpk). Do the machines hold up? (MTBF, MTTR). What does it cost in energy? (kWh per part).
Every KPI in the table draws on the same base data, so it pays to collect it once: the shift's planned time, the minutes of downtime with their reason, the parts produced and the good parts, the ideal cycle time, the failures and the energy drawn. The examples below all start from the same shift, the one in the OEE guide: 450 planned minutes, 45 of downtime, an ideal cycle time of 30 seconds, 729 parts of which 700 good.
| KPI | Formula | Unit | What it tells you | In the example shift |
|---|---|---|---|---|
| OEE | availability × performance × quality | % | How much of the planned time produces good parts at the ideal speed | 0.900 × 0.900 × 0.960 = 77.8% |
| Availability | run time ÷ planned time | % | How much time is lost to stops | 405 ÷ 450 = 90.0% |
| Performance | (ideal cycle time × parts) ÷ run time | % | How much the machine slows down against the ideal cycle | (0.5 × 729) ÷ 405 = 90.0% |
| TEEP | ideal time of the good parts ÷ calendar time | % | How much of the installed capacity is really used | 350 ÷ 1,440 = 24.3% |
| Actual cycle time | run time ÷ parts produced | s/part | The real cycle, to compare with the ideal one | 405 × 60 ÷ 729 = 33.3 s |
| Takt time | available time ÷ customer demand | s/part | How often a part is needed to meet demand | 27,000 s ÷ 720 parts = 37.5 s |
| Parts per hour | parts produced ÷ run hours | parts/h | Productivity while the machine runs | 729 ÷ 6.75 = 108 |
| First pass yield (FPY) | good parts at first pass ÷ parts produced | % | How many parts come out right without rework | 700 ÷ 729 = 96.0% |
| Scrap rate | scrapped parts ÷ parts produced | % | The share of parts lost | 29 ÷ 729 = 4.0% |
| Defective PPM | defective parts ÷ parts produced × 1,000,000 | ppm | Defects as automotive customers ask for them | 29 ÷ 729 × 10⁶ ≈ 39,781 |
| Cp and Cpk | Cp = (USL − LSL) ÷ 6σ; Cpk = min(USL − mean; mean − LSL) ÷ 3σ | pure number | Whether the process fits the tolerance and whether it is centred | Cp 1.67; Cpk 1.27 (10.00 ± 0.05 mm dimension) |
| MTBF | run time ÷ number of failures | hours | How often the machine breaks down | 340 ÷ 6 = 56.7 h |
| MTTR | total repair time ÷ number of failures | hours | How long maintenance takes to get going again | 12 ÷ 6 = 2.0 h |
| kWh per part | energy drawn ÷ parts produced | kWh/part | How much energy each part costs | 1,458 kWh ÷ 729 = 2.0 |
| On-time in-full (OTIF) | orders delivered on time and complete ÷ orders delivered | % | Whether production keeps its promises to customers | 47 ÷ 50 = 94.0% |
Efficiency: OEE, TEEP, takt and cycle time
OEE is the starting indicator because it breaks down: availability, performance and quality say at which of the three points capacity is lost. In the example shift the 450 planned minutes yield the equivalent of 350 minutes of ideal production (700 good parts × 0.5 minutes): 77.8%. The rest is 45 minutes of stops, about 40 minutes of slowdowns and 14.5 minutes spent on 29 scrapped parts. The full formula and the reference values are in the guide to calculating OEE.
TEEP divides the same ideal time by the whole calendar (1,440 minutes a day) and serves a different decision: not how to run the machine better, but whether you need another shift or another machine. A high OEE with a low TEEP means capacity that exists but is not scheduled.
Takt time is the pace the customer requires, not the machine's: 450 minutes are 27,000 seconds, and delivering 720 parts takes one part every 37.5 seconds. The shift's actual cycle time is 33.3 seconds, so the machine keeps the pace with an 11% margin (33.3 ÷ 37.5 = 89%). If the actual cycle exceeds the takt, no quality improvement will be enough: capacity is missing. The short stops that OEE hides inside performance are in the guide to the six big losses and microstops.
Quality: FPY, scrap, Cpk
First pass yield counts only the parts that are right the first time: a reworked part is not good, because it consumed time and material. The scrap rate is its complement when nothing is reworked (here 4.0%, that is 100% − 96.0%), and PPM expresses it in the unit many customers ask for: 39,781 defective parts per million, a number that shows how far it is from a target of a few tens.
The scrap rate measures the outcome, Cpk measures the cause: it says how well the process stays inside the tolerance and whether it is centred. On the 10.00 ± 0.05 mm dimension, with a mean of 10.012 mm and a standard deviation of 0.010 mm, Cp is 1.67 but Cpk is 1.27: the variability is good, the process is shifted towards the upper limit. The usual required value is 1.33. The formulas and thresholds are in the guide to Cp and Cpk; to know whether the process is stable before calculating them you need a control chart.
Maintenance: MTBF, MTTR
MTBF measures reliability, MTTR the speed of restart. A press planned for 352 hours a month with six failures and 12 hours of repair has 340 hours of run time, an MTBF of 56.7 hours and an MTTR of 2.0 hours; availability with respect to failures is 56.7 ÷ (56.7 + 2.0) = 96.6%.
Read together they say where to act: a low MTBF calls for preventive maintenance or a cause to eliminate, a high MTTR calls for spare parts within reach and procedures. The difference between repair and restore in MTTR, and the calculator, are in the guide to MTBF and MTTR.
Energy: kWh per part
Energy is a production KPI when it is measured per part, not per bill. If the line in the example shift draws 1,458 kWh to make 729 parts, the specific consumption is 2.0 kWh per part. The number becomes useful in comparison: the same item on two lines, the same shift in two months, the line standing idle at night (a base load that produces nothing).
Measuring it takes the meters of each line and the parts counted by the PLC over the same interval; how to map them and which other indicators to calculate is in the guide to energy consumption monitoring.
A production KPI dashboard (example)
A page that can carry the morning meeting has three levels, from top to bottom. At the top, yesterday's numbers for each line: OEE with its breakdown, FPY, kWh per part, compared with the day before and with the month. In the middle, the losses: yesterday's stops by reason, in minutes, in descending order, because that is where you decide where to intervene. At the bottom, the trend: OEE and scrap per shift over the last month, and MTBF and MTTR per machine, which change more slowly.
- One definition for every number, written on the page: what counts as a planned stop, which ideal cycle time, what a scrapped part is.
- The same calculation for every line, in a single query or function, so that comparing departments is valid.
- Data updated every day without copying by hand: part counts and states from the PLC, orders from the ERP, downtime reasons from the operator.
- An alarm for exceptions, not a dashboard to stare at: if a line's OEE falls below the threshold, the right person knows the same day.
With Muvia Industrial the edge node reads part counts and states from the PLCs with the drivers for Siemens S7, OPC UA and Modbus TCP, the KPI calculation is a function your team writes once and Muvia runs every morning, and the results appear in the dashboards, including on a wall screen in the department. Muvia has no ready-made KPI module: the definitions are yours. The whole path, from the line to the dashboard, is in the use case on OEE and losses on moulding lines; the others are in the collection of industrial use cases.
Frequently asked questions
It depends on what you want to know, but a common core is: OEE for efficiency, first pass yield or scrap rate for quality, MTBF and MTTR for machine reliability, kWh per part for energy. Four or five well-defined numbers are worth more than twenty indicators nobody reads.
A shift leader looks at a few, all for their own shift. The plant director adds comparisons between lines and trends. A good rule is that every KPI has a person who knows what to do when it changes.
A metric is any measure (parts counted, minutes of downtime); a KPI is a metric chosen because it is tied to an objective, with a threshold and an owner. Parts produced is a metric, first pass yield against a 98% target is a KPI.
Takt time comes from customer demand: available time divided by parts required. Cycle time comes from the machine: how long it takes to make a part. If the cycle is slower than the takt, capacity is not enough; if it is much faster, the machine is waiting and you can run fewer hours or give it other work.
You bring the base data (part counts and states from the PLC, orders from the ERP, downtime reasons) into one place and write the calculation once, in a query or a Python function run on a schedule. The result is then the same for every line and does not depend on who copies the numbers.
No: Muvia has no ready-made OEE module. Your team writes the calculation and the definitions once, in a function that Muvia runs next to the data, and the results go to dashboards, PDF reports and alarms.