2021 Call for Code Awards: Live from New York, with SNL’s Colin Jost! Learn more

Create predictive maintenance models to detect equipment breakdown risks


In this code pattern, we’ll investigate a method to integrate custom machine learning models with IBM Maximo. These models are trained to estimate the remaining useful life of each registered asset. If an asset is expected to fail in the near future, a work order can automatically be generated.


Instrumented, connected assets generate volumes of operational data, both structured and unstructured. This data can be used to identify equipment failure risks, if the organizations has the analytics tools to convey this insight to the personnel who are responsible for asset operations.

In this code pattern, we’ll show you how to build and apply custom machine learning models to identify risks and suggest proactive maintenance to avoid service disruption. These models will also estimate how long a mechanical asset can be used before needing maintenance or replacement.

We’ll also show you how to import the custom models into a Maximo instance. IBM Maximo is a system that is used for managing assets and workflow processes. Maximo can be used to increase efficiency by automating processes, such as work orders, notifications, anomaly detection, and so on.


architecture diagram showing implementation of machine learning models with maximo

  1. Build custom machine learning model in Watson Studio, and export the custom model as a python package.
  2. Publish sensor data from field assets to IBM Maximo.
  3. Periodically pull the asset data from Maximo to the Python server, and then generate predictions based on the packaged custom model.
  4. Publish the predicted Remaining Useful Life value to Maximo.
  5. In Maximo, create “automation scripts” to run whenever the Remaining Useful Life value is updated. If the value is below X number of days, then Maximo will create a work order to have the asset replaced or updated.


Find the detailed steps for this pattern in the README. The steps will show you how to:

  1. Clone Git Repository.
  2. Install python packages.
  3. Build and package machine learning model.
  4. Register assets in Maximo
  5. Set up script to periodically query Maximo assets and determine status