Les données sales (dirty data) sont des données auxquelles tu ne peux pas te fier pour la tâche qu'elles doivent remplir : des valeurs fausses, manquantes, en double, incohérentes, obsolètes ou rangées au mauvais endroit. Dans un catalogue produits, cela donne deux produits qui partagent un même EAN, un champ poids qui indique « N/A », du HTML du fournisseur dans une description, un prix modifié chez le fournisseur il y a trois mois ou une URL d'image qui renvoie une erreur 404.
La plupart des définitions des données sales sont écrites pour des fiches CRM : contacts en double et vieilles adresses e-mail. Cet article s'en tient aux données produit. Tu y trouveras huit types de données produit sales, chacun avec un exemple réaliste, un test qui le repère dans un export et sa correction. La méthode générale pour trouver et corriger les erreurs est expliquée dans notre définition du nettoyage des données ; ici, on reste sur les cas concrets.
Six lignes d'un fichier fournisseur, et ce qui cloche dans chacune
Voici un extrait d'un fichier fournisseur typique pour une boutique d'articles de cuisine. Personne n'a inventé ces lignes pour qu'elles aient l'air mauvaises : chaque problème qu'elles contiennent existe dans de vrais catalogues, souvent dans le même fichier. L'EAN est le numéro de démonstration de GS1 : il est valide, mais n'appartient à aucun produit réel.
Un fichier fournisseur, six types de saleté
| 1 | KN-2040 | 9506000134352 | Chef's knife 20 cm | 0.21 kg | 39.95 | Rien : la ligne de référence |
|---|---|---|---|---|---|---|
| 2 | KN-2040 (espace final) | 9506000134352 | Chef knife 20cm black | 210 g | 39.95 | Encore le même produit ; unité écrite autrement |
| 3 | KN-2041 | 9.50600E+12 | Bread knife 22 cm | N/A | 34.95 | EAN en notation scientifique ; poids fictif |
| 4 | KN-2042 | 950600013435 | Santoku 18 cm | 0,19kg | 0.00 | EAN trop court d'un chiffre ; virgule décimale ; prix à zéro |
| 5 | BD-1100 | 9506000134352 | Cutting board oak | 1.2 kg | 29.95 | EAN du couteau de chef copié sur une planche |
| 6 | BD-1101 | (vide) | Schneidebrett Eiche XL | 2.6 lbs | 44.95 | Titre allemand dans un catalogue anglais ; unité impériale |
Ce n'est pas un problème de niche. Quand nous avons examiné environ 50 catalogues au moment de leur import dans WISEPIM, avant tout enrichissement, un quart des produits n'avaient pas de description, plus d'un tiers n'avaient pas d'image et près des deux tiers n'étaient dans aucune catégorie. Les chiffres et la méthode se trouvent dans À quoi ressemblent 50 catalogues produit à leur arrivée dans un PIM.
Produits sans les bases à l'import
| Catégorie | Share of products |
|---|---|
| Pas de description | 25% |
| Pas d'image | 36% |
| Dans aucune catégorie | 64% |
Huit types de données produit sales et le test qui révèle chacun d'eux
Chaque type ci-dessous suit le même schéma : à quoi il ressemble, comment le trouver dans un export CSV ou un tableur, et comment le corriger durablement. Les dimensions de qualité qui se cachent derrière (unicité, validité, cohérence, actualité) sont expliquées dans notre article sur les dimensions de la qualité des données.
1. SKU en double et EAN partagés
Les lignes 1 et 2 sont le même couteau de chef. Le second SKU a un espace final, donc une comparaison simple voit deux produits. Autres versions du même problème : « kn-2040 » en minuscules, un produit importé de deux fournisseurs sous deux SKU, ou un fournisseur qui copie l'EAN du produit parent sur chaque variante de couleur. La ligne 5 montre le cas le plus vicieux : un EAN réel et valide attaché au mauvais produit, qu'aucun contrôle de format ne détectera jamais.
- Pour le trouver : supprime les espaces et mets la colonne SKU en minuscules, puis compte combien de fois chaque valeur apparaît (NB.SI dans un tableur). Fais de même pour la colonne EAN. Tout total supérieur à 1 est un groupe à examiner.
- Pour le corriger : choisis la fiche à conserver (en général celle liée aux commandes et aux annonces en ligne), transfère-lui les valeurs uniques des autres, puis archive les doublons. Donne à chaque variante son propre GTIN. Le guide sur la déduplication couvre la correspondance approximative pour les titres qui se ressemblent.
Dans WISEPIM, l'importateur CSV signale avant tout import les SKU répétés, les SKU qui ne diffèrent que par des espaces et ceux qui se répètent si l'on ignore la casse. Après l'import, le rapport Qualité des données propose un panneau SKUs et EANs en double qui regroupe les produits partageant l'un ou l'autre identifiant.
2. Codes-barres abîmés par un tableur
La ligne 3 indique 9.50600E+12. Quelqu'un a ouvert le fichier dans Excel, qui lit un code-barres comme un nombre. La page d'aide de Microsoft confirme qu'Excel supprime les zéros initiaux, affiche les grands nombres en notation scientifique et conserve au maximum 15 chiffres significatifs. Un EAN à 13 chiffres tient encore dans ces 15 chiffres, donc au début seul l'affichage est faux. Les dégâts arrivent quand quelqu'un réenregistre la feuille en CSV : la valeur arrondie affichée à l'écran peut se retrouver dans le fichier, et dès que le CSV indique 9.50600E+12, les sept derniers chiffres sont perdus. Les zéros initiaux, eux, disparaissent dès l'ouverture : un GTIN à 13 chiffres qui commence par 0 arrive avec 12 chiffres et ressemble à un autre code.
- Pour le trouver : chaque GTIN ne doit contenir que des chiffres, en compter 8, 12, 13 ou 14, et passer le calcul de la clé de contrôle. Tout ce qui contient la lettre E, une virgule ou un point échoue immédiatement. Colle un échantillon dans le validateur EAN et GTIN gratuit pour tester la clé de contrôle.
- Pour le corriger : n'essaie pas de reconstruire le numéro à partir de 9.50600E+12 ; le fichier ne contient plus les chiffres. Demande au fournisseur un nouvel export avec la colonne stockée en texte, ou récupère les codes dans le système source. Pour éviter que cela se reproduise, ouvre les fichiers CSV via Données > À partir d'un fichier texte/CSV (Data > From Text/CSV) et règle la colonne des codes-barres sur Texte, ou désactive les conversions automatiques des données (Automatic Data Conversions) dans les options d'Excel (Microsoft 365 et Excel 2024).
3. Unités, décimales et formats qui ne concordent pas
Regarde la colonne poids : 0.21 kg, 210 g, 0,19kg, 1.2 kg et 2.6 lbs. Un humain lit les cinq. Un filtre, une grille de frais de port ou un import sur une marketplace, non. Il en va de même pour les dimensions (30x20x10, 30 x 20 x 10 cm, L30 B20 H10), les couleurs (Black, black, BLK, Zwart) et les tailles (M, Medium, 38/40).
- Pour le trouver : liste les valeurs distinctes par attribut et trie-les. Dix orthographes d'une même couleur apparaissent sur un seul écran. Pour les nombres, un motif comme un nombre suivi d'une unité montre quelles cellules mélangent les deux dans un champ texte.
- Pour le corriger : stocke le nombre et l'unité dans des champs séparés, choisis une unité de base par attribut et convertis le reste (une livre vaut exactement 0,45359237 kg, donc 2,6 lb font 1,18 kg). Remplace les couleurs et tailles en texte libre par une liste fixe de valeurs autorisées. Notre guide sur la standardisation des attributs propose des conventions de nommage et d'unités que tu peux reprendre.
4. Fragments HTML et restes du fournisseur dans les descriptions
Les descriptions des fournisseurs sont souvent copiées depuis un site web ou un fichier Word. Elles arrivent avec des balises comme span style="font-family:Arial", des entités d'espace insécable, des esperluettes doublement encodées (&) et du texte qui n'a jamais été destiné aux clients : des numéros d'article internes, « prix sur demande », le numéro de téléphone du fournisseur ou une ligne du type « voir notre site pour d'autres modèles ».
- Pour le trouver : cherche dans la colonne description les caractères < et &, la chaîne http, le nom du fournisseur et des formules comme « cliquez ici ». Compte les résultats par fournisseur ; en général, une seule source cause la plupart d'entre eux.
- Pour le corriger : décide quel balisage tes canaux acceptent. Les marketplaces et la plupart des feeds veulent du texte brut ; ta propre boutique peut autoriser une courte liste de balises (paragraphes, listes, gras). Supprime tout le reste, décode les entités une seule fois et efface les références au fournisseur. Garde un texte maître propre et laisse chaque canal recevoir son propre format à l'export.
Deux outils WISEPIM s'y prêtent : une règle Quality Guard peut vérifier si un champ contient du HTML ou du texte brut, et Content Logic peut retirer le HTML d'un champ pour un canal tout en gardant la version formatée pour ta boutique en ligne. Pour un nettoyage ponctuel, Rechercher et remplacer dans l'édition groupée fonctionne aussi avec des expressions régulières.
5. Deux langues dans un seul produit
La ligne 6 a un titre allemand dans un catalogue anglais. Les langues se mélangent quand un fournisseur n'envoie qu'une langue, quand un champ de traduction est rempli avec une copie du texte source pour passer un contrôle de champ obligatoire, ou quand un produit reçoit un titre anglais et une description néerlandaise. C'est important : CSA Research a constaté que 76 % des acheteurs en ligne préfèrent acheter des produits dont les informations sont dans leur langue, et que 40 % n'achètent jamais sur des sites dans d'autres langues.
- Pour le trouver : compare chaque traduction à sa source ; un texte identique signifie que rien n'a été traduit. Pour un contrôle rapide de la langue, cherche dans une langue des mots courants d'une autre (der, und, mit dans un champ anglais ou néerlandais).
- Pour le corriger : définis une langue source par champ, traduis uniquement depuis cette source et garde un statut par langue, pour qu'un champ non traduit apparaisse comme manquant au lieu d'avoir l'air complet.
6. Des valeurs fictives qui passent pour de vraies valeurs
N/A, un simple tiret, TBD, 0, 999, test, voir description, lorem ipsum, 1900-01-01, une image appelée no-image.jpg. Les valeurs fictives sont pires que les champs vides, car les contrôles de complétude les comptent comme remplies. Un poids de 0 offre la livraison gratuite pour un colis de 20 kg. Un prix de 0,00, comme à la ligne 4, peut faire vendre le produit pour rien s'il atteint un canal.
- Pour le trouver : tiens une liste des valeurs fictives connues et cherche les correspondances exactes dans chaque champ texte. Pour les nombres, repère les zéros, les valeurs rondes comme 999 ou 9999, et les valeurs aberrantes : un couteau de chef de 3 kg dans une famille où les autres pèsent environ 0,2 kg est presque certainement une faute de frappe ou une confusion d'unités.
- Pour le corriger : transforme d'abord les valeurs fictives en vraies valeurs vides, pour que tes rapports montrent les vrais manques, et seulement ensuite remplis-les ou signale-les au fournisseur.
Le rapport Qualité des données de WISEPIM comprend une carte Valeurs suspectes qui signale les nombres très éloignés de la moyenne des produits similaires de la même famille de produits (il faut au moins 10 produits dans une famille pour en juger). Une règle Quality Guard avec la condition « n'est pas l'un de » peut ensuite empêcher des valeurs comme N/A d'entrer dans un champ.
7. Prix, stock et caractéristiques devenus obsolètes
Les données se dégradent. Le fournisseur a augmenté ses prix le 1er janvier, un produit a été arrêté mais affiche encore un stock de 999, la batterie d'une perceuse sans fil est passée de 2,0 Ah à 4,0 Ah et l'ancienne caractéristique est restée dans ton feed. Les prix obsolètes posent aussi un problème de conformité : Google exige que le prix que tu soumets corresponde au prix affiché sur ta page de destination et lors du paiement, et demande de le mettre à jour à chaque changement.
- Pour le trouver : compare tes prix avec la dernière liste de prix du fournisseur, signale les prix soldés supérieurs au prix normal, et liste les produits que personne n'a modifiés depuis 90 jours ou dont le dernier export vers un canal date de plus de 30 jours.
- Pour le corriger : donne à chaque champ volatil (prix, stock, disponibilité) un responsable et une source, et actualise-le selon un calendrier fixe plutôt que lorsque quelqu'un s'en aperçoit par hasard.
La carte Fraîcheur du catalogue du rapport Qualité des données de WISEPIM liste les produits jamais vérifiés ni exportés, les produits non mis à jour depuis plus de 30 ou 90 jours, et les produits exportés vers un canal il y a plus de 30 jours.
8. Liens d'image cassés, temporaires ou faux
Les champs image accumulent leur propre saleté : des liens http que les navigateurs bloquent sur une boutique en https, des URL avec des espaces, des liens de partage Dropbox ou Google Drive qui renvoient une page web au lieu d'une image, des liens directs vers le site du fournisseur qui cassent quand celui-ci refait son site, une image « photo à venir » ou la photo de la variante noire sur les cinq couleurs. Google est explicite : l'image principale doit montrer l'article exact et les images fictives comme « Coming soon » ou « Photo pending » ne doivent pas être soumises ; Google demande aussi que les espaces et symboles des URL d'image soient encodés.
- Pour le trouver : appelle chaque URL d'image et note le code de statut et le type de contenu ; tout ce qui n'est pas un 200 avec un type image est cassé. Calcule une empreinte (hash) des fichiers pour trouver une même image réutilisée sur de nombreux produits.
- Pour le corriger : télécharge les images vers un stockage que tu contrôles, garde les URL dans un seul champ et associe la bonne photo à chaque variante de couleur.
Nettoyage des données : l'ordre qui évite de toucher deux fois une fiche
L'ordre compte. Si tu traduis les descriptions avant de supprimer les doublons, tu traduis deux fois le même produit. Si tu remplis les poids manquants avant de convertir les unités, tu mélanges de nouveaux grammes avec d'anciens kilogrammes. Cette séquence convient à la plupart des nettoyages de catalogue :
Séquence de nettoyage des données produit
Empêcher la saleté d'entrer avec le prochain fichier fournisseur
Nettoyer un catalogue une fois, c'est un projet ; le garder propre dépend de ce que tu laisses entrer. Trois habitudes font l'essentiel du travail :
- Un contrat de données par fournisseur : les colonnes attendues, l'unité de chaque nombre, les valeurs autorisées pour les couleurs et les tailles, la langue, et des codes-barres fournis en texte. Envoie-le avant le premier fichier, pas après le troisième fichier raté.
- La validation avant l'import, pas après : rejette ou mets en attente les lignes avec des SKU répétés, des EAN mal formés, des prix négatifs ou un prix soldé supérieur au prix normal, et indique au fournisseur les numéros de ligne.
- Des règles à la sortie : un produit qui échoue à un contrôle obligatoire ne doit pas atteindre un canal. Notre article sur la construction d'un cadre de qualité des données détaille les responsables, les règles et les points de contrôle.
Les listes de valeurs autorisées sont surtout utiles à l'entrée, car elles arrêtent une nouvelle orthographe d'une couleur avant qu'elle ne se répande. Dans WISEPIM, un jeu d'options décide pour chaque attribut ce qui se passe quand un import apporte une valeur absente de la liste : l'ajouter, l'ajouter avec un signalement à vérifier, ou ignorer le produit jusqu'à ce que la valeur soit ajoutée.
Si tu veux savoir où en est ton propre catalogue, le rapport Qualité des données de WISEPIM réunit ces contrôles : SKU et EAN en double, valeurs suspectes, fraîcheur du catalogue et santé des champs, avec un score de qualité par produit. Quality Guard transforme ensuite les corrections en règles, pour que la même saleté soit interceptée avant le prochain export.

