Predictive Maintenance

Each day, we interact with many products that rely on the smooth operation of industrial equipment: From the U-Bahn train car we board on the way to work, to the elevator lift you take to your office, all the way down to the manufacturing quality of your MacBook’s keyboard. When this equipment has downtime, this is costly to the user experience and the business operation. How can businesses tackle this problem smartly?

Predictive maintenance aims to address this using machine learning techniques. Learn how Novoda would approach a predictive maintenance challenge.

The brief

Products that rely on equipment will always need maintenance. However, a major question to find solutions for is:

“How can a business smartly decide when to maintenance equipment to minimize the disruption of service?”

Predictive maintenance aspires to do this. Using machine learning, predictive maintenance aims to predict the optimal time to service equipment so that maintenance is performed as closely as possible before an expected need for maintenance, or, “just in time”.

Predictive maintenance is the most recent optimization approach in the evolution of approaches to servicing equipment. Before it came two other approaches in the evolution of this space: preventative maintenance and reactive maintenance.

A Case Study: BikeMe

Imagine there is a bike share system in your city called BikeMe. BikeMe’s bikes are dockless, so they allow you the convenience of renting them and leaving them anywhere within the availability zone in the city. Customers simply reserve them in the companion app, the app generates a pin code, and the customer unlocks the bike by entering the pin code on the bike’s smart lock. Simply and seamlessly, customers can ride carefree around the city and repeat the pin generation process in the app to lock the bike when they wish to return it.

You envisioned your product as a customer’s companion on their adventure around the city


But, unfortunately, it turns out that customers are complaining about how the smart locks don’t always lock when they try to return them.


The customer presses a “Report Issue” button in the app indicating that the lock isn’t working. BikeMe takes the bike out of the rental pool and schedules the bike for maintenance — something that may take a while to resolve depending on the availability of the maintenance technician. This is called reactive maintenance , the first stage in the evolution of maintenance strategy. Maintenance of the business asset — a bike — is scheduled when the asset is unusable.

This poses two problems to you as a business:

(1) Poor user experience: You have a frustrated customer.
(2) Loss of potential revenue: During the maintenance period, the bike is taken out of the rental pool when it otherwise could have been rented by a customer. Additionally, the timing may not align well with the availability of maintenance technicians, so the time the bike is out of the rental pool could be much longer.


Perhaps BikeMe’s next decision in tackling its asset maintenance issues is to decide to service the bikes at a regular interval to check for faulty parts. Every 6 weeks, a bike is taken out of service to check the lock, as well as other equipment parts, are functioning properly. This is called preventative maintenance, the second stage in the evolution of maintenance strategy.

While this may sound better, it’s still suboptimal. BikeMe may find some bikes that need maintenance on, e.g. faulty locks, but they also may send many perfectly functioning bikes for maintenance. While those perfectly functioning bikes are out of service receiving maintenance, BikeMe loses out on the potential revenue and pays the costs of maintenance — a costly endeavor.


There must be a better way. How can they improve? Using predictive maintenance, BikeMe can use historical maintenance data combined with any relevant sensor and other input data to model the problem so that they can more precisely predict when maintenance is needed. This allows for “just in time” maintenance of equipment — in this case, a bike’s smart lock.

Our approach

At a high level, our approach to this problem includes four main stages.


1. Frame the Problem

Our first step is to frame the problem of malfunctioning smart locks in a way that is conducive to using machine learning for predictive maintenance. One typical way of framing the problem for predictive maintenance is in terms of a binary classification of a clearly defined success or failure during a specific time period.

What would our clearly defined success or failure cases look like and how does this map back to a user scenario?

Success: functioning smart lock User scenario: When a user tries to return the bike, entering pin code locks the bike. Failure: smart lock needs maintenance User scenario: When a user tries to return the bike, entering pin code does not lock the bike.

"Is the smart lock going to be functioning or need maintenance during a particular time period?"

2. Collect & Explore the Data

After framing the problem as a predictive maintenance problem that has a clear 'success' and 'failure' case, it’s time to collect the data needed to make progress toward solving it.

Data for predictive maintenance is historical, time series data. The historical data will take the general form of, at each time stamp, various input values (sensor measurement values and other relevant input values) and a classification label of the state of the smart lock: "functioning” or “needs maintenance”.

How exactly does this data look like? Novoda would partner with a domain expert at BikeMe to come to an understanding of what would be the most useful data for this problem. This partnership would have the goal of collecting a critical mass of high quality data that would help with training a useful model.

Some questions that would be explored are:

  • What is the typical process involved for assessing the maintenance needed?
  • What kinds of characteristics or triggers are useful to know when diagnosing maintenance?
  • What data is available now? How much?
  • In what format is the current data?
  • How much data is necessary and for how long of a time horizon?
  • If there is a large deficiency in data available, what will be involved in collecting this data? Are there any creative solutions for collection?
  • What kind of preprocessing needs to occur on the data?

3. Train & Evaluate Model

After collecting, exploring, and preprocessing the data, we are ready to enter a period of experimentation for building a model. Building a model involves iteratively training it, evaluating it, and applying techniques for improvement (e.g. tuning parameters, adjusting architecture, etc). This process would repeat either until a target test accuracy is reached or an assessment is made that a new approach is needed to solve the problem.

Before training, Novoda's team would evaluate machine learning algorithms that are suitable for the given machine learning problem. One such algorithm that is typically used for classification from time series data is an LSTM. If several algorithms are identified as suitable, we may opt to train several different models in parallel and compare the results.

4. Integration

In the last stage, Novoda would work with BikeMe to come up with a plan for integrating the model into BikeMe's infrastructure. We would explore options for monitoring, retraining, hosting & serving the model.

Sie wollen atemberaubend gute Software? Schreiben Sie uns oder rufen Sie uns an: +49 30 827 176 49