Automating Annual Works Planning: How Yarra Trams Turned Rule Data into Forward Forecasts

Automating Annual Works Planning: How Yarra Trams Turned Rule Data into Forward Forecasts

Automating Annual Works Planning: How Yarra Trams Turned Rule Data into Forward Forecasts

When Yarra Trams approached SAS-AM to streamline their annual works planning process, they had a common problem: mountains of maintenance rule data sitting in their Maximo system, but no efficient way to translate that into meaningful forward forecasts. What should have been a straightforward planning exercise was consuming weeks of manual effort each year, with multiple spreadsheets, version control issues, and limited confidence in the outputs.

The solution we developed demonstrates how the right analytical approach can transform existing data into a genuine planning asset — one that saves time, reduces errors, and provides the visibility leadership needs to make informed decisions.

The Challenge: From Rules to Reality

Yarra Trams operates one of the world's largest tram networks, maintaining hundreds of vehicles across Melbourne's extensive network. Their maintenance regime, like most transport operators, follows a complex web of preventive maintenance (PM) rules stored in IBM Maximo. These rules dictate when specific tasks must occur based on time intervals, operating hours, or distance travelled.

The annual works planning process required translating these rules into a three-year forward forecast — essentially predicting when every maintenance task would fall due for every asset. Previously, this involved:

The process typically consumed 4-6 weeks of senior planner time and still left questions about accuracy and completeness.

Understanding the Data Architecture

Before automation could occur, we needed to understand what Yarra Trams actually had. Their Maximo instance contained detailed PM rule structures — the "what" and "when" of maintenance — but these rules alone don't generate forecasts. They're templates, not schedules.

The critical missing piece was connecting three data streams:

No items found.