Charge Transaction Success/Failure Classification
An eMSP platform processing charging transactions across its CPO and fleet partner network.
Where things stood
Not every charging session that starts ends the way it should — sessions can be interrupted by connectivity issues, hardware faults, or user behavior, but the raw transaction record doesn't distinguish a successful charge from something going wrong.
Without a reliable classification, the platform had no clean signal for revenue assurance or for identifying reliability problems.
What we built
Charge transaction records, charge point/station/connector metadata, and user/auth data (PostgreSQL) feed a SQL business-rule classification engine.
The engine branches by how a session was originally requested — fixed amount, target battery %, target energy units, or fixed duration — checking whether the transaction delivered at least 90% of what was requested, with additional handling for remote-stopped sessions and a fallback rule.
Window functions maintain running failure counts per charger and per user, refreshed daily into a BigQuery dashboard table via Apache Airflow.
How it works
TopN Analytics designed a business-rule classification engine that determines success or failure per transaction, tailored to how the session was originally requested, computed automatically every day alongside running failure counts.
What we delivered and learned
The 90%-of-requested threshold is a specific, deliberately chosen business rule reflecting genuine collaboration on defining 'success' precisely enough to automate.
Tracking running failure counts, not just a daily snapshot, surfaces patterns a day-by-day view would miss.
Want the full picture?
We're happy to walk through the details, numbers, and trade-offs directly.