We recently completed a project to standardize downtime reason codes across our five manufacturing sites using Resource Management in AM 2023.1. Before this initiative, each site maintained their own reason code lists in the Reason Code Administration module, which made cross-site OEE analytics nearly impossible.
The main challenge was code inconsistencies - Site A had 45 codes, Site B had 78, and there was maybe 20% overlap in terminology. “Machine Setup” at one site was “Changeover” at another. We needed a unified master list that would work for all production lines while still capturing site-specific nuances.
Our approach involved creating a three-tier hierarchy in the reason code master list: Level 1 (8 categories like Planned/Unplanned), Level 2 (operational reasons), and Level 3 (equipment-specific details). We also had to tackle operator training since workers were used to their old codes.
The implementation took about 6 weeks including operator training sessions and a 2-week parallel run period. I’m sharing our configuration approach and lessons learned for anyone facing similar standardization challenges.
Good question on historical data. We took a hybrid approach - created mapping tables for the most common codes (top 80% by frequency) and left the rest unmapped. In the Reason Code Administration module, we added a custom attribute called “LegacyCodeMap” to track the old-to-new relationships.
For reporting, we built two views in Performance Analysis: one showing data from the cutover date forward with clean codes, and another “historical” view that applied the mapping logic. It wasn’t perfect - some nuance was lost in translation - but it gave management enough trending data to be satisfied. The key was documenting which old codes mapped to which new ones and getting sign-off from site managers before going live.
Operator training was definitely our biggest challenge. Classroom sessions alone didn’t work for us either. What made the difference was three things: First, we created quick reference cards laminated and posted at every workstation showing the top 15 codes for that specific line. Second, we configured the Resource Management UI to show the old code names in parentheses during the transition period - so operators saw “Equipment Failure (was: Machine Breakdown)” which helped bridge the gap.
Third and most important - we assigned “code champions” on each shift, usually experienced operators who got extra training and were empowered to help their peers. We also ran daily reports for the first month showing code selection patterns and followed up with individual coaching when someone was consistently using wrong codes. After about 3 weeks, compliance hit 95%.
For the operator training piece, what method did you find most effective? We’ve tried classroom sessions before but operators forget within days once they’re back on the floor. The muscle memory of selecting their old familiar codes is hard to break.
This is exactly what we’re struggling with right now across our three sites. How did you handle the migration of historical data? We have 18 months of OEE data with the old inconsistent codes and our management wants to see year-over-year trending. Did you create mapping tables to translate old codes to the new standard, or did you just draw a line in the sand and start fresh?