Skip to main content

How is fuel consumption calculated?

Updated today

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.

Did this answer your question?