ML OBD-II Diagnostics: Accuracy and Failure Prediction

Unplanned equipment downtime almost always begins with an unnoticed deviation in telemetry. We develop turnkey ML OBD-II diagnostics: we set up data collection from the fleet, train models on your history, and hand over a ready operating procedure to the dispatcher. Threshold rules give way to prediction — a failure is visible in advance, not at the moment of breakdown.
Frequently Asked Questions

AI OBD-II diagnostics: where prediction accuracy is lost

Factory onboard diagnostics triggers after the fact: a sensor crosses a threshold — the control unit logs an error code. Precursors appear earlier — lambda sensor drift, rising fuel trims, falling intake vacuum — but they are not caught by thresholds.

AI OBD-II diagnostics is needed exactly here: to catch a shift in the behavior of a component before it becomes a failure. The cost of error is two-sided — a missed failure and a false alarm on a healthy component equally undermine trust in the system.

The first source of losses is noise in sensor data. Channels are polled at different rates and quantized differently, and ignition interference mixes into the signal.

A raw series produces false triggers, while a rigid filter erases exactly the slow precursors that the model needs to see.

The second is heterogeneity of buses and gaps in telemetry records. One electronic control unit provides some parameters, another provides the rest, and individual frames are lost when communication drops or the ignition is turned off. At gaps, a model trained on dense series loses confidence and shifts its prediction.

Failure prediction accuracy rests on three pillars: aligning channels to a single time scale, filtering noise while preserving slow trends, and explicit labeling of gaps — so the model distinguishes “no signal” from “normal.” Below we break down how this is addressed at the level of data preparation and the model itself.

What changes across the fleet: measurable effects of implementation

Failures found before breakdown

The model compares current sensor readings with the history for each component and identifies a deviation that has not yet turned into an error in the OBD-II log.

Across the fleet, this is visible in the share of faults found before equipment stops: repairs move into a planned window instead of happening on route.

Fewer false positives

Rigid thresholds trigger on a one-off voltage spike and send a healthy vehicle to service. Fleet predictive diagnostics takes context into account — driving mode, heating, load — and cuts off single outliers.

The share of false alarms falls, and a signal again means a real repair, not a check for the sake of checking.

Equipment downtime

Early failure detection moves repairs from emergency to planned: the component is replaced in the yard, not on route.

Equipment downtime is reduced, and the work itself goes faster — the defect is already localized, and the mechanic does not need to search for the cause by symptoms.

Repeat visits for the same component

Each event is tied to a component and its service history, so the engineer sees the return of a defect and eliminates the cause, not the consequence. Repeat visits for the same component decrease: the part’s service life stops being wasted.

OBD-II diagnostic modes: streaming, snapshots, hybrid

The data acquisition mode determines what actually reaches the model: some failures manifest only in continuous recording, others only when comparing identical engine operating modes.

If you train on one mode and deploy on another, prediction quality drops to the level of threshold rules.

Option When it fits Limitations
Streaming telemetry processing detection of fast events: boost pressure drops, misfires, jerks under load requires a stable channel and a buffer on the control unit side; poor at seeing slow degradation over months
Batch parsing of snapshots analysis of operating points: idle, acceleration, warm-up, engine braking events between snapshots are lost; highly dependent on matching external conditions between measurements
Hybrid diagnostic scheme continuous fleet monitoring with remaining useful life prediction more expensive in labeling; requires time stamp alignment between two channels

What the modes do not cover

Snapshots do not show how a defect developed between measurements, so they cannot distinguish a one-off fault from growing degradation.

Streaming, conversely, does not provide comparable conditions: comparing vehicles with each other by continuous recording is almost impossible, and it is precisely fleet-wide comparison that provides early warning.

The hybrid scheme removes this limitation: streaming captures transient processes, while snapshots bring the fleet to a common denominator.

We check compatibility on live control units — some of them provide streaming only in certain operating modes, and this becomes clear before, not after, launch.

The mode is selected based on the class of failures that need to be caught — we break down how this translates into prediction.

Implementation stages for a fleet: from audit to handover

Predictive diagnostics breaks not on the algorithm but on the input data. Before calculating thresholds, we analyze what the fleet provides today: which control units are read via OBD-II, at what interval, where the repair log is, and how it is linked to telemetry. Then the work proceeds in stages.

  1. Fleet data audit. We check the completeness and stability of the stream for each vehicle: gaps, time stamp desynchronization, trips without records. The output is a source map with an honest assessment of what is missing in the data.

  2. Feature schema. From raw signals, we build derivatives with physical meaning: temperature trends, cylinder-to-cylinder variation, boost pressure dynamics, frequency of repeat error codes. Such features are more robust on rare failures than abstract combinations.

  3. Failure labeling. We link replacements and service visits to telemetry windows before them — this gives the warning horizon that operations actually needs.

  4. Training and tuning of trigger thresholds. We select the threshold not by a metric on paper but by the cost of a miss: in some cases an extra alarm is acceptable, in others it breaks the maintenance schedule.

  5. Validation on holdout periods. We validate on mileage and time segments the model has not seen, including vehicles of different configurations and routes.

  6. Handover to the customer’s team. Alarm response procedure, retraining on new data, review of disputed triggers together with the service department.

Project artifacts: models, labeling, procedures

We deliver not a report but a working loop that continues to live without us. Everything listed remains with the customer in open form and is accepted by a run on their data — via OBD-II and service history — not by a presentation.

  • Trained model — weights, a fixed version, and the wrapper for running it in your environment: both on accumulated history and on new records, without contacting us.
  • Historical failure labeling — a labeled dataset: which code, which sensor values, how it ended. Separately, labeling rules for false positives, so that new material is labeled the same way.
  • Feature dictionary — for each signal: where it comes from, how it is cleaned, which averaging window is applied, what is considered an outlier.
  • Signal processing rules — thresholds and debounce suppression conditions; changed in a settings file, without rebuilding the model.
  • Warning response procedure — for each alarm level: who receives it, within what timeframe, what they check, and how they close it. We coordinate it with the service department rather than writing it “for the drawer.”
  • Diagnostics documentation — a “feature → likely fault” map and honest model limitations: operating modes and vehicle types where it does not apply.
  • Metrics and acceptance protocol — missed failure rate, false positives, time to warning; a reproducible run on a holdout sample.
  • Retraining instructions — how to accumulate new labeled data and update the model so quality does not decline when the fleet changes.

Acceptance is based on a run: we set up the loop on your side, compare metrics against agreed thresholds, and only after that close the stage.

Case study: how unplanned fleet downtime was reduced

Starting point: schedule instead of condition

A mixed fleet — long-haul tractors, delivery vans, special-purpose equipment — was maintained according to schedule: component life was calculated by mileage, not by actual condition.

A failure that was maturing between two scheduled services manifested already on route — the vehicle lost mobility on the route, followed by towing, a replacement unit, and a shifted delivery window.

This was the predictive diagnostics case: a stream of parameters was captured from the OBD-II port — fuel rail pressure, exhaust temperatures, fuel trims, remaining oil life — and a degradation model was built for each component type on the history of these signals.

The decisive factor was not the prediction itself but the threshold at which a repair request goes into the plan in advance, before loss of mobility.

Metrics before and after

  • Share of failures caught before a stop on route: from ~13% to ~76%.
  • Unplanned repair crew callouts: −41% vs. baseline.
  • Average downtime per incident: 2.4 times shorter.

The bottleneck turned out to be not the model but the data. Different manufacturers provide a different set of parameters, and on some routes communication drops — the telemetry window breaks.

We addressed this with signal normalization on the onboard gateway side and an accumulation buffer: the vehicle sends the missing segment as soon as it returns to coverage.

False positives — one per twelve confirmed warnings, so diagnostics did not turn into noise for the service department.

How threshold logic differs from a machine learning model

Threshold diagnostics works by the rule “a signal crossed the boundary — we log a fault.” Such a rule is transparent: you can see which channel triggered and at what value, so review does not require explanations from the model.

The weakness is elsewhere — the threshold looks at one channel and does not describe the joint behavior of signals, and it is precisely that which first reveals a developing failure.

A machine learning model evaluates a set of OBD-II channels simultaneously and over time: temperature, fuel trims, throttle position, RPM, lambda regulation dynamics.

A situation where each channel individually is normal but their combination is already atypical is missed by the threshold — the model flags it as a risk.

Aspect Threshold diagnostics Machine learning model
Input one channel and a value boundary a set of channels and their joint behavior over time
What it catches an explicit failure that crossed the boundary degradation before crossing the boundary
Tuning manually for each platform retraining on labeled data
Explainability the rule can be read by a human requires analysis of signal contributions
False positives rare, but depend on driving mode managed by a confidence threshold

The practical conclusion is not to choose one of the two. Thresholds remain protection against explicit failures, while the model works as a layer of early warning and remaining useful life prediction.

Such a hybrid provides a clear fallback: if prediction quality declines, diagnostics continues to work on thresholds until the model is retrained.

Separately about data: thresholds transfer between vehicles of the same platform almost without edits, while the model requires a representative sample across modes and seasons.

Therefore, comparison of approaches is always about how much data we have and which class of failures is more important to catch earlier.

Common technical doubts before starting

A failure prediction model works not in a laboratory but on a live fleet, so before starting, the customer asks the same questions.

Below are four technical doubts that we usually resolve before work begins on AI-based OBD-II diagnostics: they determine what can be predicted at all and with what confidence.

What to do if logs have gaps and different polling rates?

Factory control units provide parameters unevenly: some frames are lost with weak communication, and some sensors are polled less often than others. We do not discard such records — we reconstruct gaps using correlation of related parameters (load, temperature, RPM).

In sections where reconstruction is unreliable, the model does not “draw in” a conclusion but marks the interval as low-data and lowers prediction confidence.

What if some vehicles have telematics from another vendor?

Export formats and field sets differ among third-party trackers, so we parse data in any form — tables, raw bus logs — and bring it to a unified feature schema.

If a third-party unit provides fewer parameters than needed, the model is built on its subset, and we separately show which features are lost and how this narrows the list of predictable failures.

How do you deal with false positives?

A service that “calls about everything” quickly stops being read, so for the first weeks predictions go into review mode: an engineer confirms or refutes each case, and thresholds are calibrated for the specific fleet.

After that, the share of confirmed triggers grows, while noisy ones go into a separate low-priority list.

How does the model behave on new equipment in the fleet?

On newly purchased vehicles, a model trained on the current fleet responds more cautiously. For new entries, threshold rules on factory parameters are enabled first, history is accumulated in parallel, and the model is then fine-tuned on it.

Prediction appears immediately, while accuracy improves as data accumulates for the specific modification.

Let’s discuss the task and come back with an estimate and plan

For the discussion of the task to be substantive rather than a general overview, a minimum of inputs is needed.

Almost all of this already exists in accounting systems, work orders, and logs — nothing will need to be prepared separately; exports in the form they currently exist are enough.

The more items are covered, the more accurately we will name the class of tasks, timelines, and which failures can realistically be predicted on your data.

  • Fleet composition: vehicle types, engines, average mileage, distribution by regions and operating conditions — this determines which signals are available for each group.
  • Data sources: which control units are read, what equipment collects telemetry, whether there is a permanent channel or only service-bay connections.
  • Repair and failure history: work orders with dates, fault codes, and replaced components — this is the labeling on which the prediction model trains.
  • Current warning rules: what thresholds notifications currently trigger on, how many false positives and misses they produce.
  • Access and constraints: who owns the data, whether the stream can be exported rather than a single snapshot, and whether there are processing restrictions.
  • What has already been tried: in-house handlers, off-the-shelf services, pilots — and what exactly was unsatisfactory about the result.

With this set, we will come back with an estimate and work plan: which models we test on your data first, which metrics we calculate, what will be needed from your side at each stage, and where the boundary lies between diagnostics and prediction.

AI Development Areas

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1394
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1369
  • B2B Advance company logo design
    B2B Advance company logo design
    816
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1141
  • AIDER company logo development
    AIDER company logo development
    1059
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1153