Manufacturing
Predictive maintenance
A predictive-maintenance pipeline that reads sensor telemetry, flags the machines drifting toward failure, and hands the maintenance team a ranked worklist with weeks of lead time instead of a surprise stoppage.
- Python
- Postgres
- Docker
- Grafana
unplanned downtime
median early warning
In short
- Failures are caught as drift in the telemetry, days before the line stops.
- Maintenance gets a ranked worklist, not an alarm storm.
- The model is backtested against real historical failures, so the lead time is measured.
The engagement
- Sector
- Manufacturing
- Company shape
- Multi-line plant operator
- Engagement
- Telemetry pipeline + model + worklist, ~14 weeks
Anonymised by policy
The challenge
Maintenance was reactive: a machine failed, the line stopped, and the team scrambled. The telemetry to see it coming existed but sat unread in historians, and the few threshold alarms that were configured either fired too late or cried wolf.
The hard part wasn't a model — it was trust. A prediction the team can't act on is noise, so the system had to earn its lead time against real historical failures and hand over a worklist the floor would actually use.
The approach
- 1Backtest against real failures
We reconstructed historical failures from the telemetry and measured how early the signal was detectable, so the lead-time claim is grounded in real events.
- 2Drift, not thresholds
The model watches for the drift pattern that precedes failure rather than a fixed threshold, cutting the false alarms that trained the team to ignore alerts.
- 3Rank, don't alarm
Predictions become a ranked worklist — which machine, how urgent, and why — instead of an alert stream.
- 4Deliver to the floor
The worklist lands in the maintenance team's existing tools and dashboards, so it drives the schedule instead of sitting in a model.
The solution
Telemetry streams into a reproducible pipeline that scores each machine for failure risk from its drift pattern, backtested against reconstructed historical failures so the lead time is a measured number. The output is a ranked maintenance worklist — machine, urgency, and the signal behind it — delivered into the tools the floor already uses.
Because it ranks by risk instead of firing thresholds, the team gets a short, trustworthy list rather than an alarm storm, and downtime moves from surprise to schedule.
The system we built
- Ingestsensor telemetry
- Feature builddrift signals
- Score + backtestagainst real failures
- Rankrisk-ordered worklist
- Serveinto maintenance tools
The results
unplanned downtime
vs. the reactive baseline
median early warning
before failure, on backtest
false alarms
vs. the prior threshold alerts
Data & safety
- Evaluation
- Backtested against reconstructed historical failures, so lead time and false-alarm rate are measured, not assumed.
- Reproducibility
- A reproducible pipeline retrains on a schedule as machines and conditions change.
- Delivery
- The ranked worklist is delivered into the maintenance team's existing tools, not a separate dashboard.
The stack
- Python
- Postgres
- Docker
- Grafana