We calculate fuel consumption differently depending on the type of data available for each vehicle.
There are two fundamentally different approaches:
Absolute measurement (CAN Flow)
Relative measurement (CAN Level, fuel level sensor).
Understanding the difference helps explain why consumption figures may vary across vehicles and what affects their accuracy.
Absolute measurement
This approach uses the CAN Flow data which comes directly from the vehicle’s engine computer (ECU), which keeps a running total of fuel injected into the engine — similar to a lifetime odometer, but for fuel. Our system reads this counter at the start and end of each day and subtracts one from the other.
The calculation
Consumption = counter end value − counter start value
Example
ECU counter at start of day: 45,230 L
ECU counter at end of day: 45,480 L
45,480 - 45,230 = 250 L consumed that day
📘The day is measured from 00:00 to 00:00 (midnight to midnight).
Because the engine’s own computer is doing the measuring, this approach is not affected by tank shape, sensor calibration, vehicle tilt, or fuel sloshing.
This is the most accurate source for consumption averages.
🔔 Important limitation
CAN Flow only tells you how much fuel the engine burned.
It has no visibility into the tank itself — it cannot show fill-ups, current tank level, or fuel that disappeared while the engine was off. For drain detection and theft monitoring, a tank-level data source is still needed alongside CAN Flow.
Relative measurement
This approach uses both CAN Level and fuel level sensors to measure the fuel level inside the tank.
Consumption is then calculated by comparing the level at the start and end of the day, accounting for any fill-ups or drains in between.
1. What the sensor sends
CAN Level reads the factory level sensor built into the vehicle via the CAN bus. Depending on the vehicle, it sends the tank level as:
A percentage (e.g. 72%) — most common
A liter value (e.g. 288 L) — less common, depends on the manufacturer
Fuel level sensor (DUT sensor) is an installed probe placed directly inside the tank.
It sends a voltage reading (e.g. 1.8 V). This is converted to liters using a calibration table created during installation, where a technician physically maps voltage readings to fill levels across the full range of the tank.
2. Converting to liters (when needed)
If the sensor sends a percentage, the platform needs the tank capacity to convert:
Liters = (% ÷ 100) × tank capacity
Example
72% in a 400 L tank = 288 L
This is why tank capacity must be configured in vehicle settings for all vehicles using CAN Level (%) or fuel sensor data. Without it, the platform cannot convert the readings and consumption will not display.
For CAN Level data in liters (absolute), tank capacity is still recommended — without it, fill-ups under 40 L will not be detected.
3. The daily consumption calculation
Once levels are in liters, the platform runs a daily calculation:
Consumption = opening level + fill-ups − drain events − closing level
Example — standard day
Opening level: 300 L
Fill-up during the day: +150 L
Closing level: 200 L
Consumption = 300 + 150 − 200 = 250 L
Example — day with a detected drain
Opening level: 300 L
Fill-up: +150 L
Drain event detected (sudden drop while parked): −40 L
Closing level: 160 L
Consumption = 300 + 150 − 40 − 160 = 250 L
The 40 L drain is extracted from the consumption figure and recorded as a separate event. This keeps the reported driving consumption accurate — the drain is not treated as fuel the engine burned.
Fill-ups and drains are detected by identifying level changes that don’t match the gradual decrease of normal driving. A 40 L drop in 5 minutes while the vehicle is parked is not consumption — it is flagged as a separate event.
How daily consumption total handles anomalies
Because consumption is calculated once per day using the opening and closing levels, short-lived anomalies during the day do not affect the final figure.
If a vehicle parks on a slope for an hour and the sensor reads 5 L lower than actual, the level corrects itself once the vehicle is on flat ground again. By the time the closing level is recorded, the reading is accurate and the daily total reflects reality.
This also means that unusual events — trailer transport, steep terrain, a brief power interruption — may show up as noise on the intra-day graph but typically will not distort the daily consumption total.
CAN Level vs fuel sensor
Both use the same calculation method. The difference is in how precisely they measure the tank level.
| CAN Level | Fuel sensor |
Data source | Factory sensor via CAN bus | Probe installed in the tank |
Typical accuracy | Up to 15% measurement error | ~1% measurement error |
Dead zones | Factory sensor may not cover upper and lower extremes of the tank — up to 10% of total volume | None, full tank range calibrated at installation |
Setup required | Tank capacity in vehicle settings | Physical installation + calibration by technician |
Recalibration | Not required | Periodic — sensor drift, seasonal fuel changes, tank condition |
The dead zone issue with CAN Level is a hardware limitation of the factory sensor, not a platform issue. Factory sensors are designed to warn the driver when fuel is low — not for precise fleet measurement.
The top and bottom of the tank often fall outside what the sensor can detect, which is why a full tank may read as 90% on the graph, and readings can appear erratic near empty.