Magazine Informatique

Qu’est-ce que le Fuzzy Lookup?

Publié le 24 octobre 2018 par Sopmar01 @mon_cher_watson

Je me souviens encore du moment où j’ai découvert le Add-in Fuzzy Lookup pour Excel. On m’avait mise en charge d’un projet. En gros, l’entreprise utilisait un CRM dans lequel le nom des clients était entré manuellement par les préposés qui prenaient les appels. Il n’y avait pas de clé unique pour identifier un client. Ce faisant, chaque préposé entrait l’information de différentes façons dans le système. Comme l’entreprise a roulé sur l’or pendant des années, ce n’était pas problématique, mais quand les activités ont commencé à sérieusement ralentir, les dirigeants se sont soudainement intéressés aux chiffres. Il était alors impossible de répondre à une question aussi simple que: Combien le client x a-t-il dépensé chez nous en 2017?… Évidemment, ce genre de situation devrait toujours être réglée à la base, i.e. en corrigeant les informations à la source et en structurant ensuite le système pour utiliser une clé unique par client. Ici, l’entreprise m’avait mandatée non seulement pour créer des clés uniques pour chaque client mais en plus, pour comparer les dépenses de ces clients au sein de l’entreprise vs des statistiques concernant les investissements totaux de chacun de ces clients (non seulement au sein de l’entreprise mais aussi chez les compétiteurs). Au final, on souhaitait comprendre quelle portion du portefeuille de chaque client l’entreprise allait chercher. Et on souhaitait aussi voir la part de marché à laquelle l’entreprise ne touchait pas encore. Donc, en résumé, dans ce projet, j’avais 2 tâches colossales. D’abord, je devais créer une clé unique par client (on parlait de dizaines de milliers de clients) et ensuite créer une table de correspondances pour jumeler tous ces noms de clients uniques à ceux de l’institut statistique. On est venu vers moi à l’époque, à cause de mes compétences Excel. J’avais beau expliquer que dans la situation, ça prenait plus que des compétences Excel, l’entreprise persistait. J’ai donc pris en charge le projet…

Défis de mon mandat

Tel que précisé en introduction, je faisais fasse à 2 problématiques majeures dans ce projet:

  1. Je devais m’assurer que chaque client du CRM réponde à une clé unique individuelle. Par exemple, Bombardier et Bombardier inc. sont un seul et même client et devaient être regroupés sous la même clé unique.
  2. Je devais construire une table de correspondances entre ces clients uniques et les clients de l’institut statistique.
Réconciliation de données

Algorythmes personnalisés dans Excel

Au départ, j’ai entamé ce projet en créant mes propres algorythmes dans Excel, à l’aide de fonctions variées. Je regardais par exemple, les correspondances entre les 5 premières lettes de chaque nom de clients, etc. Mais à chaque fois, même si je trouvais beaucoup de correspondances, je devais faire le ménage manuellement. À l’époque, j’utilisais Excel 2007. Je m’en souviens encore. C’était l’ordinateur de l’entreprise. Au bout de 3 semaines à travailler 12 heures par jour sur ce projet, mon ordinateur a rendu l’âme! Je l’avais sursollicité!!!

Ordinateur sursollicité

Revirement de situation

Ne baissant les bras devant rien, j’ai fouillé les forums et c’est là que j’ai entendu parler du add-in Fuzzy Lookup. Cet add-in m’a permis d’accomplir la tâche colossale qui m’avait été confiée de façon beaucoup plus efficace même s’il restait une portion importante de travail à effectuer manuellement.

Fuzzy lookup for Excel

Fuzzy lookup pour Power Query

Quelle ne fût pas ma surprise lorsque j’ai découvert l’introduction du Fuzzy Lookup dans la mise à jour Power BI d’octobre! Cette fonctionnalité est accessible à travers l’éditeur de requêtes Power Query, au moment de fusionner deux tables entre elles. Il est donc raisonnable de penser que cette fonctionnalité, une fois bien intégrée dans Power BI, sera aussi disponible dans l’éditeur de requêtes Power Query d’Excel et viendra donc remplacer l’ancien add-in Fuzzy Lookup.

Fonctionnement du Fuzzy Lookup

Pour illustrer le fonctionnement du Fuzzy Lookup, je vais utiliser un exemple qui ressemble beaucoup à ce que j’ai vécu dans mon mandat. D’abord, on retrouve une table avec différentes façons d’entregistrer la compagnie Bombardier. Ensuite, on retrouve le nom de l’entreprise, tel qu’il aurait dû être rédigé. Ce faisant, on cherche à faire une recherche fuzzy ou approximative du mot Bombardier dans la liste de clients.

À réconcilier

J’ai fait quelques essais pour bien comprendre la portée des options offertes.

Par exemple, ci-dessous, je définis le seuil de similarité à 80% (seuil par défaut) et je demande d’ignorer la casse.

Fuzzy lookup - Power Query

J’obtiens 3 résultats sur 7.

Fuzzy lookup - Power Query

Au deuxième essai, je baisse le seuil de similarité à 40% (pour avoir plus de chances d’attraper d’autres noms) et je ne demande pas d’ignorer les espaces.

Fuzzy lookup - Power Query

J’obtiens un résultat de plus, soit Bombardier inc.

Fuzzy lookup - Power Query

Au troisième essai, je demande un seuil de similarité de 100%, simplement par curiosité.

Fuzzy lookup - Power Query

On me retourne la ligne où Bombardier est écrit exactement de la même façon. Pas de surprise ici.

Fuzzy lookup - Power Query

Forte de ces connaissances, j’y vais le tout pour le tout et je définis le seuil de similarité à 0 puis je demande de ne pas ignorer les espaces.

Fuzzy lookup - Power Query

J’obtiens ainsi 7 résultats sur 7.

Fuzzy lookup - Power Query

Je me suis donc demandé ce qui se passerait si j’ajoutais des noms d’autres clients. J’ai donc fait le même Fuzzy Lookup que celui ci-dessus mais à partir de la table suivante:

Table de données

J’ai obtenu le même résultat que ci-dessus, ce qui signifie que 0% de similarité n’est pas tout à fait 0. Il est difficile de bien comprendre ce qui se cache derrière le Fuzzy Lookup mais chose certaine, gageons que plusieurs entreprises seront fort reconnaissantes de son arrivée dans Power BI et on l’espère aussi, bientôt dans Excel, via Power Query.

Le Fuzzy Lookup ne fera pas tout le travail pour vous. Je continue d’affirmer qu’il faut corriger les données à la source. Mais dans le cas où vous devez justement faire ces corrections, le Fuzzy Lookup vous sera d’un très grand support.

Fin de mon histoire

Après avoir finalement abouti à un résultat impeccable avec le Fuzzy Lookup, beaucoup de jus de bras et un début de tendinite et de folie, l’entreprise a décidé qu’il n’était pas nécessaire de changer les informations de son CRM pour inclure les clés uniques de clients. Je crois qu’elle pensait que je referais le même travail chaque année. Mais l’année suivante, lorsqu’elle m’a demandé si je souhaitais refaire cette analyse à contrat, j’ai gentiment refusé…


NOTRE OFFRE DE FORMATIONS


Microsoft Most Valuable Professional

Le CFO masqué vous offre un vaste choix de formations Excel et Power BI, réparties dans 8 catégories: Excel – Tableaux de bord, Excel – Modélisation financière, Excel – VBA, Excel – Power Tools, Excel – Ninja, Power BI, Analytique d’affaires et Finance corporative. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et ils sont accrédités par Emploi-Québec et vous remettent un certificat, à la fin de chaque formation, que vous pouvez notamment utiliser pour faire reconnaître des heures de formation continue auprès de votre ordre professionnel. De plus, nos formations peuvent mener à l’obtention d’une accréditation.

Découvrez quelles formations vous conviennent

Pour info: 514-605-7112 ou [email protected]


Retour à La Une de Logo Paperblog

A propos de l’auteur


Sopmar01 3934 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte