Hey @RReye-10434
Great use case! Thanks for bringing it up here in our community fuel theft detection is something a lot of fleet managers ask about. Let me walk through what's possible in MyGeotab today and where the limitations are.
Can you create a rule for this?
You can get close, but not exactly what you're describing. The MyGeotab exception rule engine supports combining a Stop condition (vehicle is stationary) with a FilterStatusDataByDiagnostic condition targeting the fuel level diagnostic from your engine, paired with a IsValueLessThan threshold. This may or maty not work depending on the type of vehicle and what diagnostics we get from that particular make and model.
So a rule like "alert when fuel level is below X% while stopped" is possible. The gap is that the rule engine compares point-in-time values against a fixed threshold — it has no native rate-of-change or delta drop operator. There's no condition that says "fuel dropped by more than 1% since the last reading." This means you can't directly detect an abrupt drop; you can only catch when the level crosses a floor you've defined.
Practical challenge with a 1% threshold
Even if you set up the threshold rule, a couple of real-world factors make 1% drops tricky to detect reliably:
- Sensor resolution varies by vehicle. Many vehicles only report fuel level in coarse increments (e.g. 12.5% steps on 1/8-tank sensors). On those vehicles,
a 1% drop isn't even representable in the data the reading won't change until the tank drops by a larger step.
- Sensor noise and slosh. The fuel level sensor fluctuates slightly due to fuel movement, slopes, and temperature. This can cause small apparent drops that aren't real, especially right after the vehicle stops.
What actually works well today
The most reliable approaches for detecting fuel theft in MyGeotab currently are:
1. Fuel Report + manual review — pull the fuel level history chart for a vehicle and look for sudden step-drops on the timeline while no trip was active. This is visual but effective for spot-checking.
2. Cross-reference with fill-up events — MyGeotab records fuel fill-up events (large increases in fuel level). If you see a significant drop in fuel level that is not preceded by a fill-up, that's a strong signal worth investigating.
3. Custom SDK analytics — pull StatusData for the fuel level diagnostic via the API, compare consecutive readings during stop periods, and flag any drop exceeding your threshold (e.g. >5% in under 10 minutes while speed = 0). This gives you the rate-of-change logic the rule engine doesn't natively support. It requires building outside MyGeotab, but it's the most precise approach.
What's coming
Geotab is actively developing a more sophisticated fuel siphoning detection capability that uses stabilized fuel readings (filtering out slosh and noise) and a post-event verification window before flagging an event. This isn't available as a standard product feature yet, but it's on the roadmap — worth keeping an eye on release notes.
In the meantime, a practical rule setup
If you want something running today, I'd suggest:
- Create a rule: vehicle stopped + fuel level below [your low threshold, e.g. 20%]
- Pair it with a review of the fuel level chart on any vehicle that triggers it
- Set the notification to log the event rather than send an immediate alert, so you can batch-review at the end of each day
This won't catch every siphoning event, but it creates an audit trail you can cross-reference against your vehicle's expected fuel consumption.
Hope that helps! there are some other options I didn't mention that include using additional hardware such as IOX-AUXM and additional sensors to read fuel levels. If you are interested in those options I am happy to discuss further.
Feel free to reach out if you have any other questions. We are always happy to help.
Have a good one!
Eishi FUN