Présentation
Un cabinet de courtage en assurance d'une dizaine de collaborateurs s'appuyait sur un fichier clients constitué au fil des années, alimenté par des sources multiples : formulaires de contact du site web, salons professionnels, recommandations, anciens assurés, prospects jamais convertis, partenaires apporteurs d'affaires.
Ce fichier, censé être le moteur de l'activité commerciale, était devenu au fil du temps un ensemble hétérogène et difficilement exploitable. Plusieurs milliers de lignes s'y étaient accumulées, mais leur qualité variait considérablement : informations incomplètes, données obsolètes, doublons multiples, formats incohérents, absence de segmentation claire.
Résultat : les équipes commerciales hésitaient à s'appuyer sur cette base pour leurs campagnes de prospection. Les relances partaient parfois vers des adresses erronées, des numéros obsolètes, ou des contacts déjà clients ailleurs. Le taux de retour des campagnes emailing était médiocre, plombé par des bounces et des désabonnements. Le fichier, loin d'être un actif, était devenu un passif — une source de frustration plus que de business.
L'enjeu de cette mission : transformer ce fichier désordonné en une base clients et prospects propre, enrichie, segmentée et réellement actionnable pour les équipes commerciales.
Problématique
Comment transformer plusieurs années d'accumulation de données hétérogènes en un actif commercial exploitable, sans mobiliser des semaines de travail manuel ?
Le cabinet faisait face à un ensemble de problèmes caractéristiques des bases de données constituées organiquement, sans gouvernance stricte.
Un même contact pouvait apparaître plusieurs fois dans la base, sous des formes légèrement différentes : "Jean-Pierre Dupont" ici, "JP Dupont" là, "Dupont Jean Pierre" ailleurs. Parfois avec des adresses email différentes (personnelle et professionnelle), parfois avec des numéros de téléphone distincts (fixe et mobile). Ces doublons faussaient toute analyse quantitative et généraient des sollicitations multiples du même prospect — source d'irritation et d'image dégradée.
De nombreuses fiches ne comportaient que des informations partielles : un nom et un email sans numéro de téléphone, une adresse postale sans code postal, un contact professionnel sans mention de l'entreprise. Cette incomplétude limitait drastiquement les possibilités de contact et de segmentation. Comment cibler les décideurs d'entreprises de plus de 50 salariés si la taille de l'entreprise n'est renseignée nulle part ?
Les données vieillissent. Les gens déménagent, changent d'employeur, de numéro de téléphone, d'adresse email. Une base non maintenue accumule mécaniquement des informations périmées. Certains contacts du fichier remontaient à plusieurs années, sans aucune mise à jour depuis. Impossible de savoir lesquels étaient encore valides.
Le fichier ne comportait aucune catégorisation cohérente permettant de cibler les actions commerciales. Particuliers et professionnels étaient mélangés. Aucune indication sur le potentiel commercial, le secteur d'activité, la taille de l'entreprise, la zone géographique précise, ou l'historique relationnel. Les commerciaux devaient traiter la base comme une masse indifférenciée, sans priorisation possible.
Chaque personne ayant alimenté le fichier au fil des années avait ses propres habitudes de saisie. Les numéros de téléphone apparaissaient sous dix formats différents (avec ou sans indicatif, avec des points, des espaces, des tirets...). Les adresses mélangeaient abréviations et formes longues. Les noms étaient parfois en majuscules, parfois en minuscules, parfois avec des caractères spéciaux mal encodés. Cette anarchie rendait toute exploitation automatisée hasardeuse.
Solution
Nous avons conçu et déployé un pipeline de traitement de données combinant règles métier, algorithmes de matching et intelligence artificielle pour nettoyer, dédoublonner, normaliser, enrichir et catégoriser l'intégralité du fichier.
Le traitement s'est organisé en plusieurs passes successives, chacune s'appuyant sur les résultats de la précédente.
Avant toute analyse, les données brutes ont été normalisées pour permettre les comparaisons et les traitements ultérieurs.
Les numéros de téléphone ont été convertis dans un format international standardisé (E.164), avec validation de la structure et identification du type (mobile, fixe, VoIP). Les numéros manifestement invalides (trop courts, préfixes inexistants) ont été flaggés.
Les adresses email ont été normalisées (minuscules, suppression des espaces parasites) et validées syntaxiquement. Une vérification de l'existence du domaine a permis d'identifier les adresses pointant vers des domaines expirés ou inexistants.
Les adresses postales ont été parsées pour en extraire les composants (numéro, type de voie, nom de voie, code postal, ville) et normalisées selon les conventions de La Poste. Les codes postaux ont été validés et associés à leurs communes de référence.
Les noms et prénoms ont été nettoyés : normalisation de la casse (première lettre en majuscule), suppression des caractères parasites, correction des problèmes d'encodage (accents mal retranscrits), séparation des champs fusionnés.
L'identification des doublons ne pouvait pas se limiter à une simple comparaison exacte — les variations orthographiques et les informations partielles rendaient cette approche inopérante.
Nous avons déployé un algorithme de matching flou (fuzzy matching) combinant plusieurs techniques :
Comparaison phonétique : deux noms qui se prononcent de manière similaire sont potentiellement la même personne, même avec des orthographes différentes (Dupont/Dupond, Meyer/Mayer).
Distance d'édition : mesure du nombre de modifications nécessaires pour passer d'une chaîne à une autre, permettant de détecter les fautes de frappe et variations mineures.
Matching par blocs : pour éviter de comparer chaque fiche à toutes les autres (ce qui serait prohibitif en temps de calcul sur plusieurs milliers de lignes), les fiches sont d'abord regroupées par blocs partageant des caractéristiques communes (même code postal, même initiale du nom) avant comparaison fine.
Score de similarité composite : chaque paire de fiches potentiellement en doublon reçoit un score combinant la similarité des différents champs (nom, prénom, email, téléphone, adresse), pondérés selon leur pouvoir discriminant.
Les doublons identifiés avec un score de confiance élevé ont été fusionnés automatiquement, en conservant l'information la plus complète et la plus récente de chaque fiche source. Les cas ambigus ont été soumis à validation humaine.
Les fiches nettoyées et dédoublonnées ont ensuite été enrichies via plusieurs sources externes.
Pour les contacts professionnels : interrogation de bases de données entreprises (SIRENE, societe.com, LinkedIn) pour compléter les informations sur l'employeur — raison sociale exacte, numéro SIRET, code NAF/APE, effectif, chiffre d'affaires, adresse du siège. Lorsque seul le nom de l'entreprise était disponible, des algorithmes de matching ont permis de retrouver l'entité juridique correspondante.
Pour les adresses postales : validation et enrichissement via la Base Adresse Nationale (BAN), permettant de corriger les adresses mal formatées, de compléter les codes postaux manquants, et d'ajouter les coordonnées GPS pour d'éventuels usages de géolocalisation.
Pour les emails : au-delà de la validation syntaxique, vérification de la délivrabilité (le serveur de messagerie accepte-t-il les messages pour cette adresse ?) et détection des adresses jetables ou temporaires.
C'est sur cette étape que l'intelligence artificielle générative a apporté une valeur différenciante.
Un modèle de langage (LLM) a été utilisé pour analyser chaque fiche enrichie et lui attribuer des catégories pertinentes pour l'activité du cabinet :
Segmentation particulier/professionnel : en analysant l'ensemble des indices disponibles (domaine de l'email, présence d'un nom d'entreprise, intitulé de poste), le modèle détermine s'il s'agit d'un contact B2C ou B2B.
Catégorisation sectorielle : pour les professionnels, identification du secteur d'activité à partir du code NAF, du nom de l'entreprise, et de tout autre indice contextuel. Regroupement en macro-catégories pertinentes pour le courtage (BTP, transport, commerce, professions libérales, etc.).
Évaluation du potentiel : en croisant la taille de l'entreprise, le secteur, la localisation et l'historique relationnel éventuel, attribution d'un score de potentiel commercial permettant de prioriser les actions.
Détection des signaux : identification des contacts présentant des caractéristiques particulières — décideurs (dirigeants, DRH, DAF), entreprises en croissance, secteurs à fort besoin d'assurance.
Le modèle a été prompté avec une connaissance fine du métier du courtage en assurance, lui permettant de raisonner en termes de pertinence commerciale plutôt que de simple classification générique.
L'ensemble du fichier traité a fait l'objet d'un contrôle qualité systématique : vérification de la cohérence des catégorisations, détection des anomalies résiduelles, validation d'un échantillon représentatif.
Le fichier final a été restitué dans un format directement importable dans les outils du cabinet, avec une documentation complète des champs ajoutés et des règles de catégorisation appliquées.
Phase 1 — Audit du fichier existant (1 semaine) : Analyse statistique de la base pour quantifier précisément les problèmes (taux de complétude par champ, estimation du taux de doublons, distribution des formats). Cette phase a permis de calibrer les traitements et de définir les priorités.
Phase 2 — Développement du pipeline (3 semaines) : Conception et développement des différentes passes de traitement, avec tests itératifs sur des échantillons. Chaque composant a été validé individuellement avant intégration dans la chaîne complète.
Phase 3 — Traitement et enrichissement (1 semaine) : Exécution du pipeline sur l'intégralité de la base, avec monitoring des anomalies et ajustements en temps réel.
Phase 4 — Validation et livraison (1 semaine) : Contrôle qualité, documentation, formation des équipes à l'exploitation de la nouvelle base, import dans les outils CRM.













