Como detectar furto de combustível e fraude em abastecimentos com IA


Detectar furtos de combustível e fraudes em abastecimentos nos dados de telemática sempre foi um desafio interessante. Os sistemas de monitoramento modernos, a Navixy entre eles, dão conta bem do recado. Mas os modelos de IA vêm ocupando aos poucos o lugar dos algoritmos clássicos de detecção: eles conseguem classificar eventos e identificar anomalias diretamente nos dados brutos.
Testamos essa abordagem na prática. Construímos um protótipo que envia trechos de dados de telemática do IoT Query, a plataforma de análise da Navixy, ao modelo Jev, da Typesafe AI, e recebe a classificação do evento junto com pontuações que ajudam a interpretar o resultado. Vale deixar claro: o Jev não é apresentado como substituto das soluções existentes para detectar eventos de combustível. É uma ferramenta adicional e uma nova forma de construir soluções.
O principal valor dessa abordagem é a flexibilidade e a personalização. A combinação de IoT Query e Jev permite que desenvolvedores e integradores de sistemas criem seus próprios aplicativos de tomada de decisão, ajustados com precisão aos processos de negócio de cada empresa. A ideia não é substituir o que já funciona, e sim ampliar o que é possível com os modelos de IA.
Onde e por que modelos de IA como o Jev são úteis
O Jev não escreve textos nem gera código. Sua tarefa principal é devolver decisões formalizadas e probabilidades que aplicativos e sistemas de decisão podem usar de imediato. O modelo recebe dois blocos de entrada:
- O estado do sistema (parâmetros, valores, contexto em JSON).
- Um conjunto de perguntas tipadas.
O Jev avalia cada pergunta com base no estado recebido e devolve uma das opções fixas junto com uma probabilidade. O usuário ou o agente dele pode usar esses resultados depois em aplicativos, por exemplo, para tomar decisões.
Como encontrar furtos e abastecimentos com o Jev
Na gestão de frotas, as questões de combustível estão sempre entre as mais sensíveis. Hoje os furtos são menos frequentes, mas a fraude com comprovantes não acabou: o cupom diz 50 litros, e só 40 entraram no tanque.
Tradicionalmente, usam-se médias móveis e aprendizado de máquina clássico para encontrar esses eventos. Agora, um modelo de IA pode ficar no centro da detecção. Sobre os dados brutos, ele responde «isto é um abastecimento», «isto é um furto», «isto é calibração ou transferência de líquido» ou «não tenho certeza», e já acrescenta a probabilidade e o volume calculado.
Para análises personalizadas no ecossistema da Navixy, o IoT Query é uma escolha prática. Ele dá acesso a toda a gama de dados do cliente, da telemática aos dados de negócio usados em integrações e na criação de seus próprios aplicativos de análise. No nosso protótipo, usamos os dados brutos como base para analisar os eventos, e o Jev identifica o tipo de cada um.
O protótipo funciona de forma simples:
- Um algoritmo acompanha o nível de combustível e marca os eventos candidatos (variações bruscas de volume).
- Ele recorta um trecho curto da série temporal com os parâmetros de telemática.
- Envia o trecho ao Jev junto com as perguntas tipadas.
- O modelo devolve a classe do evento, a probabilidade e estimativas adicionais.
O resultado é um registro como este: 13:32 — abastecimento, 67 litros, probabilidade de 87%
Como são a requisição e a resposta
Tecnicamente, a interação é simples. Enviamos ao modelo um objeto state com os parâmetros do evento e um objeto questions com o que exatamente precisa ser avaliado.
A requisição ao modelo:
{
"model": "typesafe/jev-1.13",
"state": {
"vehicle_speed": "...",
"vehicle_stationary": "...",
"gps_quality": "...",
"..."
},
"questions": {
"real_fuel_increase": {
"type": "noul",
"instructions": "Is the observed fuel increase a genuine added volume rather than sensor noise, tilt, a spike, or recovery from zero?",
"criteria": {
"true": "Sustained, physically plausible increase from a non-empty tank.",
"false": "Change is within noise, oscillatory, a recovery from zero, or not a real fill."
}
},
"..."
}
}
O state lista os parâmetros e valores da janela: o tanque (antes, depois, diferença, velocidade de enchimento), o movimento (velocidade, se o veículo estava parado, GPS), a qualidade do sinal (ruído, lacunas, número de pontos) e os limites do perfil (abastecimento mínimo, tanque vazio, velocidade máxima na bomba).
As questions são perguntas de sim ou não (noul): aumento real, redução real, ruído, veículo parado, parece um abastecimento, parece um furto, calibração. Há também uma pergunta de «escolher uma classe» (event_type): abastecimento, furto, anomalia, calibração ou sem certeza.
A resposta traz as pontuações de cada indício e o resultado da classificação:
{
"answers": {
"real_fuel_increase": { "noul": 0.87 },
"real_fuel_decrease": { "noul": 0.11 },
"sensor_noise": { "noul": 0.07 },
"vehicle_stationary": { "noul": 0.77 },
"matches_refuel_profile": { "noul": 0.94 },
"matches_drain_profile": { "noul": 0.02 },
"likely_calibration": { "noul": 0.08 },
"gap_confounds_event": { "noul": 0.07 },
"event_type": {
"choice": "REFUEL",
"confidence": 1.0,
"probabilities": {
"REFUEL": 1,
"FUEL_DRAIN": 0,
"FUEL_SENSOR_ANOMALY": 0,
"CALIBRATION_SHIFT": 0,
"UNKNOWN_FUEL_EVENT": 0
}
}
}
}
Neste exemplo, o modelo escolheu a classe REFUEL, avaliou a correspondência com o perfil de abastecimento em 0,94 e a veracidade do aumento do nível de combustível em 0,87.
Quais resultados obtivemos?
Testamos o modelo em janelas semanais de dados, aproximando as condições das tarefas de um gestor de frota, e comparamos os resultados com os eventos reais.
| Indicador | Resultado |
|---|---|
| Cobertura dos dados | 93,8% |
| Precisão | 98,4% |
| Confiabilidade dos abastecimentos e do volume calculado | 99% |
O protótipo usou 25 parâmetros da camada de dados brutos do IoT Query, incluindo limites que podem ser ajustados para cada frota e sensor, além de métricas personalizadas.
Essa flexibilidade permite refletir os fluxos de trabalho reais: juntar variações consecutivas em um único abastecimento, distinguir falhas de telemetria de um possível furto e tratar corretamente os casos extremos.
O que vem a seguir
Abastecimentos e furtos são apenas um cenário. No dia a dia de uma frota há muitas outras tarefas desse tipo:
- entrada e saída de uma cerca virtual (geofence): uma mudança de rota combinada ou uma infração;
- uma parada longa: descarga planejada ou espera;
- perda de conexão: falta temporária de cobertura ou falha do dispositivo.
Em todos esses casos, a combinação de IoT Query (dados brutos) + Jev (classificação determinística com probabilidades) pode se tornar a base de uma solução personalizada de análise de eventos ou de um sistema autônomo de tomada de decisão. Quer criar seus próprios aplicativos com dados de telemática? Fale com a gente.
Para saber mais sobre como construir sistemas com agentes sobre dados de telemática, leia nosso artigo sobre análise conversacional.
