Field-service organisations measure first-time fix rate because the alternative is expensive: a second visit is a second travel day, a second customer downtime, and a technician who has lost the morning. The causes of second visits are boring and repetitive, which is good news — boring and repetitive is what software is for.
The three usual causes
Wrong part. The technician quoted the part number from the manual; it has been superseded twice and the current one has a different connector. Or the number was right for the base model and this unit has an option code that takes a different variant.
Wrong diagnosis order. The technician replaced the component the alarm named; the alarm was a consequence of something upstream. The cascade — coolant low, spindle hot, drive fault — pointed at the drive, and the drive was fine.
Missed bulletin. The procedure was followed from the manual; a bulletin changed the spec last year; the result is a correctly-performed wrong repair.
Two checks before departure
The pre-visit kit. From the symptom, any alarm, and the model's closed-work-order history: the top three probable causes ranked, and the parts for each with supersession followed and variant checked against the unit's options. The technician carries the kit for all three. One of them is usually right.
The option-code check. Every part proposed is checked against the installed-base record's options and revision. "0811-404-603 — requires adapter kit 1834-484-066 for rev C connector" is a line in the checklist, not a discovery at the machine.
And one at the machine
Cascading alarms are ordered by timestamp before the checklist is built, so the probable root is checked first. The drive gets replaced only after the coolant pump has been proven good.
The number we do not quote
We are not going to claim a first-time-fix improvement on this site; we do not have the data yet, and design partners will tell us. What we can say is that the three causes above are the ones every service manager names, and each has a mechanical check that the agent runs by default.