Algorithmes, Applications, Éthique

Le filtrage collaboratif pour satisfaire vos clients

Dans le précédent article, nous avons parlé des systèmes de recommandations clients, notamment avec l’algorithme k-NN. Les données disponibles sur un client...

Écrit par Ilyes Talbi · 3 min lecture >
Le filtrage collaboratif pour satisfaire vos clients

Dans le précédent article, nous avons parlé des systèmes de recommandations clients, notamment avec l’algorithme k-NN. Les données disponibles sur un client sont souvent difficiles à traiter. Dans le cas de la satisfaction client, les entreprises disposent de données souvent qualitatives. Une question se pose alors : comment peut-on calculer le ‘’coefficient de compatibilité’’ entre deux clients ?

On peut imaginer un coefficient qui se rapproche du coefficient de corrélation : une valeur entre 1 et -1. Plus on se rapproche de 1, plus les clients sont compatibles. Si le coefficient se rapproche de -1, ils ont des goûts opposés.

Cas pratique

Prenons un cas fictif sur lequel je vais m’appuyer pour présenter la méthode.

Je suis président d’une entreprise de ventes de produits high-tech. Je vends des smartphones, des ordinateurs portables, des casques et des appareils photos. Je dispose des résultats d’une étude de satisfaction faites sur six de mes clients.

On résume les données dans le tableau suivant (la croix signifie que le client n’a pas acheté le produit) :

Objectifs de cette analyse

L’objectif de l’analyse sera d’établir une stratégie marketing pour mon entreprise. Si deux clients se ressemblent et que l’un a apprécié un produit que l’autre n’a pas encore acheté, on proposera ce produit au second. De plus, on aimerait prédire ce que le client 3 pensera de notre smartphone et le client 4 de notre tout nouvel ordinateur portable.

Par ailleurs, cette analyse peut nous permettre d’éliminer les produits qui ne satisfont pas les clients. Pas besoin d’être un génie de l’analyse de données, pour voir que l’appareil photo n’est pas un bon produit (quoique…attention à la surinterprétation, j’en ai parlé dans un précédent article).

Grâce à cela, les articles proposés au client seront plus susceptibles d’être en adéquation avec sa demande et l’entreprise pourra augmenter considérablement ses ventes. On peut aussi personnaliser la fidélisation client. Pour mon entreprise, le client 1 est satisfait de mes produits dans l’ensemble. Ainsi, je n’ai pas besoin de le retenir, il reviendra tout seul. Cependant, il est possible que le client 5 ne revienne plus chez moi : je lui envoie un bon d’achat. En marketing, ces pratiques sont ce que l’on appelle des méthodes de scoring client.

Filtrage collaboratif actif

En analyse de données, les méthodes de filtrage collaboratif (collaborative filtering), sont des méthodes sur lesquelles beaucoup de système de recommandations reposent. On compte trois types de filtrages collaboratifs :

   - Filtrage collaboratif actif : c’est lorsque le client donne explicitement son avis. Cela peut être sous forme d’une note sur cinq étoiles, d’un ‘’j’aime’’/’’je n’aime pas’’ ou encore sous forme d’une note sur 10.

   - Filtrage collaboratif passif : ici, l’avis du client n’est pas demandé de façon explicite, mais on dispose de données sur lui nous permettant de prédire ce qu’il aime.

   - Filtrage mixte : c’est une version améliorée des deux méthodes citées.

Ces différents types d’analyse sont basés essentiellement sur des méthodes de calcul matriciel (sparse matrix et décomposition en valeurs singulières notamment). Je vous laisse à la fin de l’article un cours très intéressant sur ces méthodes.

Une première approche envisageable

On peut modéliser nos résultats par des vecteurs de dimension 4. Si un client est satisfait (respectivement non satisfait) d’un produit, la valeur de sa composante qui correspond au produit est 1 (respectivement -1). Si le client n’a pas acheté le produit, la valeur sera de 0. Lorsqu’il y a des points d’interrogations, on retire le produit correspondant de notre calcul.Voici la matrice (symétrique) avec tous les produits scalaires :

Cette matrice me permet de supposer de manière réaliste 2 choses. D’abord, on voit que le produit scalaire entre le client 1 et le client 4 est très négatif. On peut donc supposer que ces deux clients ont des goûts inverse l’un de l’autre, inutile de proposer l’ordinateur au client 4. De plus, le produit scalaire entre le client 2 et le client 3 est très positif. On peut donc supposer que, comme le client 2 a aimé le téléphone, le client 3 l’appréciera aussi.

Cet exemple est largement critiquable. Premièrement, nous n’avons pas assez de données pour conclure. On est typiquement dans un cas où le risque de surinterprétation est élevé. Par ailleurs, ces enquêtes de satisfactions clients sont délicates à réaliser à cause d’un autre biais (décidément y’en a des biais !!!). C’est le biais de déclaration qui peut constituer un sacré facteur de confusion, mais bon si sur 100 clients, 80 n’aiment pas votre produit, changez de métier haha…

Je dois préciser que les calculs fait ici sont très simplifiés. Pour ceux qui veulent plus de détails sur les notions mathématiques sous-jacentes, je vous renvoie au cours de l’université Lyon 2, sur les systèmes de filtrages collaboratif : https://eric.univ-lyon2.fr/~ricco/cours/slides/WM.B%20-%20Filtrage%20Collaboratif%20-%20Recommandation.pdf

2 Replies to “Le filtrage collaboratif pour satisfaire vos clients”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *