What FPY measures
FPY = Good parts on the first attempt ÷ Total parts started, expressed as a percentage. A part that needed rework, even if it eventually passed inspection, does not count as a first-pass good part — FPY is specifically about getting it right once, not eventually.
That distinction is the whole point of tracking it separately from a plain scrap rate. Scrap rate only sees parts thrown away. A batch where every reject gets reworked and ships can show 0% scrap and still be burning hours on rework that nobody is measuring — FPY is what surfaces that hidden cost.
A worked example
One batch, one CNC operation:
Total parts started
- Value
- 150
Passed inspection first time
- Value
- 141
Reworked or scrapped on first pass
- Value
- 9
| Input | Value |
|---|---|
| Total parts started | 150 |
| Passed inspection first time | 141 |
| Reworked or scrapped on first pass | 9 |
FPY = 141 ÷ 150 = 94.0%. If all 9 were eventually reworked and shipped, the final yield would read 100% — a number that hides the rework hours entirely. FPY is the one that would have flagged it.
Run your own batch numbers in the FPY calculator, or see how FPY sits inside the full Quality component in the OEE guide.
