TopN Analytics
Success Story

Cross-Source Vehicle Efficiency & Data-Quality Reconciliation

An EV fleet operator (a distinct fleet brand on the eMSP platform) needing reliable per-vehicle efficiency and cost tracking.

Challenge

Where things stood

Calculating a vehicle's efficiency (km per kWh consumed) sounds simple, but the underlying telemetry often isn't reliable enough to trust at face value.

Charging sessions can be logged through more than one protocol pathway, and these sources don't always agree on how much energy was actually delivered — naively picking one source risks producing numbers that are quietly wrong.

Architecture

What we built

Charge transaction records and telematics odometer data (PostgreSQL) plus OCPI session logs (Timescale) feed a Python reconciliation pipeline.

The pipeline matches sessions to telematics readings via time-window joins, cross-validates the energy-delivered figure against an independent protocol log by matching on battery-charge proximity, and computes an adjusted, reconciled energy figure where sources disagree meaningfully.

IQR-based outlier detection flags anomalous cost-per-kilometer sessions at the per-vehicle level, before results land in a BigQuery dashboard table and Google Sheets.

Solution

How it works

TopN Analytics built a pipeline that computes vehicle efficiency and cost-per-kilometer while explicitly accounting for cross-source data-quality problems, rather than trusting a single telemetry source at face value.

Efficiency (km per kWh) is calculated from odometer deltas between sessions, with cost-per-kilometer outliers flagged using per-vehicle IQR thresholds.

Key Takeaways

What we delivered and learned

The reconciliation step is the differentiator: rather than assuming any single telemetry source is correct, the pipeline treats energy-delivered as something to be cross-validated, not taken at face value — a meaningfully more rigorous approach than a simple metrics calculator.

Tech Stack

What it's built on

PythonPostgreSQLBigQueryTimescalepandasGoogle Sheets API

Want the full picture?

We're happy to walk through the details, numbers, and trade-offs directly.