Comment détecter le vol de carburant et la fraude au plein avec l'IA

    Andrew M., VP of Data and Solutions
    AuteurAndrew M., VP of Data and Solutions
    October 30, 2026
    Pistolet de distribution de carburant en trame de points, avec un cadre autour de la poignée et l'étiquette : plein 67 L, 87 %

    Détecter les soutirages de carburant et les fraudes au ravitaillement dans les données de télématique a toujours été un sujet passionnant. Les systèmes de supervision modernes, Navixy compris, s'en acquittent bien. Mais les modèles d'IA prennent peu à peu la place des algorithmes de détection classiques : ils savent classer des événements et repérer des anomalies directement dans les données brutes.

    Nous avons testé cette approche en pratique. Nous avons construit un prototype qui transmet des fragments de données de télématique issus d'IoT Query, la plateforme d'analytique de Navixy, au modèle Jev de Typesafe AI, puis reçoit en retour la classification de l'événement, accompagnée de scores qui aident à interpréter le résultat. Précisons-le : Jev n'est pas présenté comme un remplaçant des solutions existantes de détection des événements de carburant. C'est un outil complémentaire et une nouvelle manière de concevoir des solutions.

    La principale valeur de cette approche tient à sa souplesse et à sa personnalisation. En combinant IoT Query et Jev, les développeurs et les intégrateurs de systèmes peuvent créer leurs propres applications d'aide à la décision, adaptées avec précision aux processus métier de chaque entreprise. Il ne s'agit pas de remplacer ce qui fonctionne déjà, mais d'élargir le champ des possibles grâce aux modèles d'IA.

    Où et pourquoi des modèles d'IA comme Jev sont utiles

    Jev n'écrit pas de textes et ne génère pas de code. Sa tâche principale consiste à renvoyer des décisions formalisées et des probabilités que les applications et les systèmes de décision peuvent exploiter immédiatement. Le modèle reçoit deux blocs en entrée :

    1. L'état du système (paramètres, valeurs, contexte JSON).
    2. Un ensemble de questions typées.

    Jev évalue chaque question au regard de l'état qui lui a été transmis et renvoie l'une des options prédéfinies, accompagnée d'une probabilité. L'utilisateur ou son agent peut ensuite exploiter ces résultats dans des applications, par exemple pour prendre des décisions.

    Comment repérer soutirages et ravitaillements avec Jev

    En gestion de flotte, les questions de carburant figurent toujours parmi les plus sensibles. Aujourd'hui, les soutirages sont moins fréquents, mais la fraude sur les justificatifs n'a pas disparu : le ticket indique 50 litres, alors que 40 seulement sont entrés dans le réservoir.

    Traditionnellement, on recourt aux moyennes mobiles et à l'apprentissage automatique classique pour trouver ces événements. Désormais, un modèle d'IA peut se trouver au cœur de la détection. Sur les données brutes, il répond « c'est un ravitaillement », « c'est un soutirage », « c'est un étalonnage ou un transfert de liquide » ou « je ne suis pas sûr », et ajoute aussitôt la probabilité et le volume calculé.

    Pour l'analytique sur mesure dans l'écosystème Navixy, IoT Query est un choix pratique. Il donne accès à toute la gamme des données du client, de la télématique aux données métier utilisées pour les intégrations et pour créer vos propres applications d'analytique. Dans notre prototype, nous nous appuyons sur les données brutes pour analyser les événements, et Jev détermine le type de chacun.

    Le prototype fonctionne de façon simple :

    1. Un algorithme suit le niveau de carburant et signale les événements candidats (variations brusques de volume).
    2. Il extrait un court fragment de la série temporelle avec les paramètres de télématique.
    3. Il transmet ce fragment à Jev avec les questions typées.
    4. Le modèle renvoie la classe de l'événement, la probabilité et des estimations complémentaires.

    Le résultat prend la forme d'un enregistrement de ce type : 13:32 — ravitaillement, 67 litres, probabilité de 87 %

    À quoi ressemblent la requête et la réponse

    Sur le plan technique, l'échange est simple. Nous transmettons au modèle un objet state avec les paramètres de l'événement et un objet questions qui précise ce qu'il faut évaluer.

    La requête envoyée au modèle :

    {
      "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."
          }
        },
        "..."
      }
    }
    

    Le state énumère les paramètres et les valeurs de la fenêtre : le réservoir (avant, après, écart, débit de remplissage), le mouvement (vitesse, véhicule à l'arrêt ou non, GPS), la qualité du signal (bruit, trous, nombre de points) et les seuils du profil (ravitaillement minimal, réservoir vide, vitesse maximale à la pompe).

    Les questions sont des questions fermées, à réponse oui ou non (noul) : hausse réelle, baisse réelle, bruit, véhicule à l'arrêt, ressemble à un ravitaillement, ressemble à un soutirage, étalonnage. Il y a aussi une question de type « choisir une classe » (event_type) : ravitaillement, soutirage, anomalie, étalonnage ou incertain.

    La réponse contient les scores de chaque indice et le résultat de la classification :

    {
      "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
          }
        }
      }
    }
    

    Dans cet exemple, le modèle a retenu la classe REFUEL, évalué la correspondance avec le profil de ravitaillement à 0,94 et le caractère réel de la hausse du niveau de carburant à 0,87.

    Analyse des événements de carburant avec Jev dans le prototype : un ravitaillement de +63,0 L classé avec 100 % de confiance sur la courbe du niveau de carburant, avec les probabilités par classe, les raisons et les signaux de la décision

    Quels résultats avons-nous obtenus ?

    Nous avons testé le modèle sur des fenêtres de données hebdomadaires, au plus près des tâches d'un gestionnaire de flotte, et comparé les résultats aux événements réels.

    Indicateur Résultat
    Couverture des données 93,8 %
    Précision 98,4 %
    Fiabilité des ravitaillements et du volume calculé 99 %

    Le prototype utilisait 25 paramètres issus de la couche de données brutes d'IoT Query, dont des seuils réglables selon la flotte et les capteurs, ainsi que des métriques personnalisées.

    Cette souplesse permet de refléter les processus de travail réels : regrouper des variations successives en un seul ravitaillement, distinguer les défaillances de télémétrie d'un vol potentiel et traiter correctement les cas limites.

    Et ensuite ?

    Les ravitaillements et les soutirages ne sont qu'un scénario parmi d'autres. Au quotidien, une flotte a bien d'autres tâches de ce type :

    • entrée et sortie d'une géofence (zone géographique) : changement d'itinéraire convenu ou infraction ;
    • arrêt prolongé : déchargement prévu ou attente ;
    • perte de connexion : absence temporaire de couverture ou panne de l'appareil.

    Dans tous ces cas, la combinaison d'IoT Query (données brutes) et de Jev (classification déterministe avec probabilités) peut devenir la base d'une solution d'analytique d'événements sur mesure ou d'un système de décision autonome. Vous souhaitez créer vos propres applications à partir de données de télématique ? Contactez-nous.

    Pour en savoir plus sur la création de systèmes agentiques à partir de données de télématique, lisez notre article sur l'analytique conversationnelle.

    Partager l'article