Qualité des données : les contrôles qui valent la peine d'être automatisés
Julie
Data analyst

En bref
Quels contrôles de qualité mettre en place sur une chaîne de données ?
Cinq familles suffisent à couvrir l'essentiel : la fraîcheur (les données sont-elles arrivées ?), la volumétrie (en quantité attendue ?), la complétude (les champs obligatoires sont-ils remplis ?), la validité (les valeurs respectent-elles leur format et leur domaine ?) et la cohérence entre sources (les totaux se recoupent-ils ?). Ces contrôles tournent à chaque rafraîchissement et alertent avant les utilisateurs. Ce qui change la perception de fiabilité n'est pas l'absence d'erreur — c'est le fait d'être prévenu avant celui qui consulte le tableau de bord.
Il y a deux façons d’apprendre qu’une donnée est fausse. Un contrôle automatique vous prévient à six heures du matin. Ou un directeur vous appelle à quatorze heures parce qu’un chiffre est manifestement absurde.
La deuxième coûte infiniment plus cher, et pas seulement en temps : elle détruit la confiance dans tout le reste, y compris ce qui est juste.
Voici les contrôles que je mets systématiquement en place, dans l’ordre où je les installe.
Famille 1 — La fraîcheur
Le contrôle le plus simple et celui qui rattrape le plus d’incidents : les données sont-elles arrivées ?
Une source qui cesse d’alimenter ne produit pas d’erreur. Elle produit un tableau de bord qui affiche encore les chiffres d’hier, sans rien signaler. L’utilisateur les lit comme s’ils étaient à jour, et prend une décision sur une image figée.
Le contrôle : pour chaque source, la date du dernier enregistrement reçu, comparée à ce qui est attendu. Une alerte si l’écart dépasse le seuil.
Le seuil se fixe sur le rythme réel, pas sur le rythme théorique. Une source annoncée quotidienne qui arrive en pratique entre 3 h et 7 h a besoin d’un seuil à 9 h, sinon l’alerte se déclenche une fois sur trois — et sera ignorée au bout de deux semaines.
À combiner avec un affichage systématique de la date de dernier rafraîchissement sur chaque restitution. C’est le contrôle le moins coûteux et le plus rentable de tous.
Famille 2 — La volumétrie
Deuxième contrôle : la quantité reçue est-elle cohérente avec l’habitude ?
Un fichier qui arrive avec 300 lignes au lieu de 4 000 signale une extraction partielle, un filtre mal appliqué ou une coupure en cours de transfert. Le traitement ne produit aucune erreur : il traite très bien 300 lignes.
Sans ce contrôle, on interprète une chute technique comme une chute d’activité. J’ai vu une réunion entière consacrée à un effondrement commercial qui était une rupture d’alimentation.
La méthode : comparer le volume du jour à la moyenne des mêmes jours des semaines précédentes, avec une bande d’acceptation. Le même jour de semaine, c’est important — le lundi et le samedi n’ont rien à voir dans la plupart des activités.
Deux seuils valent mieux qu’un : un seuil d’avertissement large, et un seuil d’alerte serré. Le premier se consulte, le second réveille.
Famille 3 — La complétude
Troisième contrôle : les champs qui doivent être remplis le sont-ils ?
Ce contrôle a une particularité : son résultat intéresse autant le métier que la technique. Un taux de renseignement du code postal qui passe de 98 % à 61 % ne signale pas forcément un incident — cela peut être un nouveau canal de saisie qui ne le demande pas.
Ce que je mesure : pour chaque champ important, le taux de valeurs renseignées, suivi dans le temps. Ce n’est pas le niveau absolu qui alerte, c’est la rupture.
Un point d’attention souvent oublié : les valeurs vides déguisées. Une chaîne de caractères vide, un tiret, la mention « NC », la valeur 0 pour une date inconnue, le fameux 01/01/1900. Ces valeurs passent tous les contrôles techniques et faussent toutes les analyses. Elles doivent être recensées source par source, et traitées comme des valeurs manquantes.
Famille 4 — La validité
Quatrième contrôle : les valeurs sont-elles dans leur domaine ?
Un code postal à quatre chiffres, une date de naissance en 2078, un montant négatif sur une ligne de facture, un statut absent de la liste des statuts connus. Ce dernier cas est le plus fréquent et le plus insidieux : quelqu’un ajoute une valeur dans le système source, personne ne prévient, et les analyses la classent dans « autres » — ou l’ignorent silencieusement.
Le contrôle que je considère comme indispensable : la liste des valeurs distinctes des champs codés, avec alerte à l’apparition d’une valeur inconnue. Il coûte quelques lignes et il détecte des changements métier avant qu’ils ne soient annoncés.
Sur les valeurs numériques, je vérifie aussi les bornes et la distribution. Une moyenne stable depuis deux ans qui double du jour au lendemain mérite un regard, même si chaque valeur prise isolément est plausible.
Photo : domaine public (CC0).
Famille 5 — La cohérence entre sources
Le contrôle le plus difficile à construire et le plus convaincant.
Il consiste à vérifier que deux chemins différents donnent le même résultat. Le chiffre d’affaires calculé depuis les lignes de facture correspond-il au total de la comptabilité ? Le nombre de commandes de l’entrepôt correspond-il à celui du système commercial ?
Ces contrôles ne se dérivent pas d’un schéma : ils viennent du métier, et ils s’écrivent avec lui. Trois ou quatre suffisent, choisis sur les indicateurs les plus regardés.
Leur valeur dépasse la détection d’incident. Le jour où quelqu’un conteste un chiffre en réunion, pouvoir montrer que le rapprochement est vérifié chaque nuit et qu’il tombe juste clôt la discussion en trente secondes.
Fixer les seuils sans se noyer d’alertes
C’est là que la plupart des dispositifs échouent. Des seuils trop serrés produisent des alertes quotidiennes, et une alerte qu’on ignore n’existe pas.
Ma méthode : observer avant d’alerter. Les contrôles tournent pendant trois à quatre semaines en mode silencieux, on enregistre les résultats, et on fixe les seuils sur la variabilité réellement observée. Fixer un seuil à l’intuition avant d’avoir vu les données produit toujours trop d’alertes.
Ensuite, une séparation stricte en deux niveaux. Ce qui bloque : la donnée est visiblement fausse, la publication est suspendue et le tableau de bord affiche l’avertissement plutôt qu’un chiffre faux. Ce qui informe : une anomalie possible, consignée dans un rapport quotidien que quelqu’un parcourt.
Cette distinction est ce qui empêche l’accoutumance. Le premier niveau doit rester rare — s’il se déclenche plusieurs fois par semaine, il perd son statut et sera contourné.
Photo : domaine public (CC0).
Ce qu’il faut faire quand un contrôle se déclenche
Un dispositif d’alerte sans procédure produit de l’anxiété, pas de la fiabilité. Trois choses doivent être décidées à l’avance.
Qui regarde. Une personne nommée, avec un suppléant. « L’équipe data » n’est pas une réponse.
Ce qu’on affiche entre-temps. Ma position : ne jamais publier un chiffre suspect. Une mention « données en cours de vérification » avec la date du dernier point fiable est infiniment préférable à un chiffre que quelqu’un utilisera.
Comment on rattrape. Rejouer le traitement sur la journée manquante doit être une opération d’une commande, testée. Si le rattrapage demande une intervention manuelle délicate, il ne sera pas fait le jour où il faudra.
Le contrôle qui manque presque toujours : les doublons
Je le traite à part parce qu’il ne relève d’aucune des cinq familles et qu’il produit les erreurs les plus difficiles à repérer.
Un doublon technique — deux fois exactement la même ligne — se détecte facilement et vient généralement d’un traitement rejoué. Le contrôle est immédiat : compter les enregistrements, puis compter les enregistrements distincts sur la clé métier.
Le doublon fonctionnel est plus retors. Le même client saisi deux fois avec une orthographe différente, la même facture avec deux numéros. Aucun contrôle d’égalité ne le voit, et il fausse tous les comptages par entité.
Ce que je mets en place quand l’enjeu le justifie : un rapprochement approximatif sur les champs signifiants — nom normalisé, code postal, identifiant national quand il existe — qui produit non pas une alerte mais une liste de candidats à examiner. La fusion reste une décision humaine : automatisée, elle finit toujours par fusionner deux entités réellement distinctes, et c’est une erreur qu’on ne sait pas défaire.
Ce que ces contrôles révèlent au-delà de la technique
Un effet secondaire que je n’avais pas anticipé la première fois : les contrôles de qualité racontent le fonctionnement de l’entreprise.
Une volumétrie qui chute tous les 15 du mois révèle une clôture qui bloque les saisies. Un taux de complétude qui se dégrade sur un champ précis révèle une nouvelle équipe qui n’a pas été formée. Une valeur inconnue qui apparaît révèle un changement de processus décidé ailleurs et non communiqué.
Chacun de ces constats est une conversation à avoir avec le métier, et elle est bien accueillie parce qu’elle s’appuie sur une observation, pas sur une impression. C’est souvent par là qu’un travail sur la donnée commence à être perçu comme utile plutôt que comme une contrainte technique.
Par où commencer
Si vous ne devez en installer que deux, prenez la fraîcheur et la volumétrie. Ils se posent en une journée sur une chaîne existante et couvrent la majorité des incidents que je constate.
Les trois autres se construisent progressivement, source par source, en commençant par celle qui alimente l’indicateur le plus regardé.
Un dernier point qui change la perception plus que les contrôles eux-mêmes : publier leur résultat. Une page qui montre l’état des contrôles, verte la plupart du temps, transforme la fiabilité en quelque chose d’observable. Les utilisateurs cessent de se demander s’ils peuvent faire confiance — ils regardent.