Predictive battery maintenance
Our client is an internet of things (IoT) company that designs devices which generate signal-based services, one of them a location-based service for vehicles. The client has roughly 600,000 devices across services.
Client challenge
This client had not been able to tell customers the current-state of their device batteries. This made it difficult for customers to understand which devices were ready to be deployed and used – as well as when batteries were likely to die. The client’s key goal was to solve these issues to help both internal and external customers save time, as well as maximize their devices’ usability. To make the problem even more complex, the client had not kept records of which devices had historically had batteries fail, and when. Without an existing set of observations and timelines to represent failed devices, we knew approximating normal battery life and failure rates based on patterns in the data had to be part of the solution.
Our solution
We learned our client had attempted to solve this problem before, but with inconsistent and inaccurate results, so we started by understanding the client’s historical challenges. Next, we developed an architecture to extract necessary fields from the raw data, which contained a super-set of the fields needed to solve the problem. (Part of the complexity in this problem was the data size: Terabytes.)
From there, we built a multi-step aggregation inside of Google BigQuery to structure the data and perform all calculations efficiently, as well as optimize the amounts of disk read and CPU used.
We then developed a “warning” vs. “normal” designation for various statistical points observed from device messages over time, which fed a “state” designation methodology – effectively classifying each device within a single state at a point in time. Next, we used Google Cloud Platform (GCP) to schedule the daily pipelines, which populate the structures and refresh each morning. This generated a final presentation table to feed a visual dashboard and provide predictive analysis. From here, we were able to create:
- A Power BI dashboard that shows the current state of the device population within various windows (percent dead, replaced, normal, etc.), which was used to replace ad-hoc analyses and monitor daily operations.
- A single-stress survival model based on the approximated times to fail, and groupings based on messages per day using a reliability engineering framework within Python. This allowed us to approximate the number of failures at a future point and inform customers how things would look in months, a year, two years, or more – and plan accordingly.
This solution provided our client much easier and better analysis, improved decision-making abilities, and rapid progress toward a new initiative.
Results
Internal:
- Forecasted roughly 60,000 devices that will fail over the next two years. This equates to approximately $600,000 conservatively, with additional value as the process is deployed to more devices and the organization grows.
- Integrated battery health with warehouse testing to improve replacement process
- Used a predictive model to forecast quantity of batteries needed in the future and optimize supply
- Integrated battery health statistics with future system health consolidation
- Provided a key input to operations/engineering to evaluate if future failures reach a point to justify further automation
External
- Partnered with customers to advise on counts needed for replacement to reduce redundant orders
- Integrated models within the platform to make progress toward a future entirely self-service functionality.