Une partie prenante demande des données sur les utilisateurs actifs mensuels et la rétention par niveau d’abonnement, à partir d’un export d’utilisation d’un produit SaaS couvrant la période du 1er janvier au 30 juin 2025. Le fichier CSV contient 120 000 lignes au niveau de l’événement, avec des formats d’horodatage hétérogènes, des valeurs user_id nulles et des événements en double issus de rejeux. Le nettoyage n’est pas une simple tâche préparatoire ; il constitue un ensemble de décisions analytiques déterminant ce qui est considéré comme une activité, qui est comptabilisé comme utilisateur et quels enregistrements sont recevables.
Votre livrable doit être prêt pour un audit. Vous disposez d’un jeu de données nettoyé reproductible ainsi que d’un journal des modifications justifiant chaque transformation. L’IA peut rédiger le code, recenser les cas limites et proposer des contrôles de validation. C’est vous qui validez les définitions et choisissez les seuils ; vous assumez également la responsabilité des erreurs en aval si un choix de nettoyage vient fausser une métrique.
Avant de toucher au code, vous devez définir ce que signifie « suffisamment propre » pour cette demande spécifique. Cette définition servira de base aux tests d’acceptation que le jeu de données nettoyé devra valider.
Chaque décision prise lors du nettoyage des données constitue une intervention statistique. Elle modifie le processus de génération des données supposé avoir produit la table et altère les estimations.
Le mécanisme d’absence correspond à la raison pour laquelle certaines valeurs sont manquantes. Si le champ plan_tier est nul parce que la jointure avec la table de facturation a échoué pour une semaine donnée, imputer la catégorie la plus fréquente faussera les effectifs par segment ainsi que les taux de rétention par catégorie. Il convient de qualifier les valeurs manquantes (non mesurées, non enregistrées ou non applicables) avant de choisir entre la suppression, l’imputation ou l’affectation à une catégorie distincte. L’IA peut suggérer des options, mais elle ne peut déduire le mécanisme à partir de la seule colonne.
La règle de dédoublonnage correspond à la définition métier d’un doublon. Si des événements rejoués partagent les mêmes valeurs (user_id, event_name, event_ts) dans un intervalle de 5 secondes, les fusionner peut être pertinent pour compter les usages, mais erroné pour analyser la latence. Lorsque l’IA supprime des doublons via drop_duplicates(), elle sélectionne implicitement les clés et les règles de priorité. Vous devez définir vous-même les clés, les critères de départage et l’impact sur les métriques.
La conversion de type modifie l’ordre et le regroupement des données. Une analyse incorrecte du champ event_ts peut décaler des événements d’un mois à l’autre et créer une variation artificielle du nombre d’utilisateurs actifs mensuels (MAU). Il est nécessaire de vérifier le taux de réussite de la conversion ainsi que les hypothèses relatives au fuseau horaire.