Consensus Clustering: Partie 1 – Définir la robustesse d’un portefeuille client

Le portefeuille client

Les entités qui constituent un portefeuille client, telles que des utilisateurs de sites de vente en ligne, ou un parc de bâtiment d’un fournisseur d’énergie, proviennent de différents contextes et différents environnements. Elles présentent donc une hétérogénéité conséquente qui se répercutera sur l’appréciation du portefeuille.

Lorsqu’une enseigne ou un fournisseur veut proposer un produit à son portefeuille, il lui est indispensable de cibler au plus juste le profil de ses clients. L’enseigne veut vendre aux clients dont le profil correspond le mieux au produit. C’est là qu’entre en jeu la segmentation du portefeuille.

La segmentation

La segmentation permet de découper la population de son portefeuille en sous-groupes homogènes ; les entités composant un sous-groupe partageant un ou plusieurs attributs communs. Chaque groupe devient un segment du portefeuille. Toute la difficulté réside dans le fait de constituer ces sous-groupes.

Knowledge-based

Une manière de faire est d’utiliser des attributs prédéfinis et étiquetés à chaque entité (voir Figure 1👇). On parle de méthode supervisée à partir des métadonnées (ou knowledge-based). On se place en amont de la consommation des entités du portefeuille. Par exemple pour une population d’individus: âge, genre, etc.., ou pour un parc de bâtiments: localisation, typologie, utilisation, etc…Cela peut poser un challenge pour plusieurs raisons si le recueil des attributs:

  1. n’est pas exhaustif (basé sur le déclaratif),
  2. n’est pas règlementaire en terme de législation (données sensibles ou personnelles),
  3. n’est pas priorisable (on ne sait pas hiérarchiser les attributs les plus significatifs, ou trier les attributs redondants, voir Figure 2👇)
Figure 1: Segmentation supervisée d’un parc de bâtiments selon leur typologie.
Figure 2: Exemple de corrélation d’attributs dans un parc de bâtiments.

Data-driven

Une autre manière de procéder est d’être agnostique vis-à-vis des étiquetages. Il faut alors utiliser les données de consommation des entités du portefeuille. Par exemple les données du ticket de vente pour une population d’individus, ou les données de consommation énergétique pour un parc de bâtiments. Cette méthode est dite non supervisée (ou data-driven), et fait intervenir des outils statistiques, dont le clustering.

Le clustering

Cette technique permet de regrouper entre elles les entités ayant des profils similaires sur une série de plusieurs mesures. Chaque groupe est dénommé cluster.

Cependant, interpréter le résultat d’un seul clustering peut avoir plusieurs limitations. Notamment:

  1. une estimation empirique (visuelle) du nombre de clusters adéquat
  2. une assurance limitée que les clusters sont immuables en cas de modifications dans la constitution du portefeuille (par exemple si une entité vient à manquer ou à être ajoutée, alors ce cas de portefeuille dynamique amènera potentiellement à un résultat modifié de clustering, voir Figure 3👇)
Figure 3: Exemple de modification d’assignation des clusters dans le cas d’un portefeuille dynamique.

Afin de s’assurer du résultat du clustering, il est donc possible de vérifier l’assignation des entités aux clusters, et ce au cours de plusieurs itérations de clustering. On parle alors de consensus clustering (voir référence 1).

Le consensus clustering

Cette technique permet de mesurer la robustesse d’un résultat de clustering au travers d’une succession d’étapes itératives:

  1. une matrice de distance entre les entités est calculée
  2. une proportion fixe des entités est gardée (on enlève aléatoirement x% du portefeuille, c’est le resampling)
  3. on applique une méthode de clustering
  4. on vérifie et enregistre l’assignation des entités aux clusters en considérant 2, 3, 4, 5, etc… clusters.
  5. on répète les étapes 2 à 4
  6. on calcule un score de robustesse pour chaque nombre de clusters vérifié (2, 3, 4, 5, etc…)

Prenons l’exemple d’un consensus clustering sur 4 entités, en considérant 2 clusters, 4 itérations qui enlèvent 1 entité à chaque fois (voir Figure 4👇).

Figure 4: Les étapes de construction du score de robustesse.

Registre des assignations

  1. Lors de la première itération, l’entité 4 est enlevée, et l’entité 1 est dans le cluster 2, les entités 2 et 3 dans le cluster 1.
  2. Lors de la seconde itération, l’entité 1 est enlevée, et l’entité 2 est dans le cluster 1, les entités 3 et 4 dans le cluster 2.
  3. etc…

La matrice de consensus

On fait les comptes à la fin des 4 itérations en établissant une matrice de consensus (qui est avec qui, la buddy matrix 😎 ):

  1. l’entité 1 tombe toujours dans le même cluster qu’elle-même (normal!), mais jamais avec les autres 😢😭
  2. l’entité 2 tombe la moitié (0.5) des itérations avec l’entité 4, et 2/3 (0.67) des itérations avec l’entité 3
  3. etc…

Le recensement des occurrences

Faisons les comptes des valeurs de la matrice de consensus. Nous avons 10 valeurs différentes: 3 fois 0, 1 fois 0.5, 1 fois 0.67, 5 fois 1.
La valeur 0 représente donc 30% des valeurs, 1/2: 10%, 2/3: 10% et 1: 50%.

La courbe cumulative

Représenter ces valeurs avec une fonction de distribution cumulative (cdf) nous permet de révéler une mesure de robustesse. Si l’on considère l’écart de proportion des valeurs comprise entre 0.1 et 0.9 (histoire d’enlever les entités qui sont soit toujours isolées, soit toujours ensemble), on se retrouve avec une proportion d’ambiguité (PAC: Proportion of Ambiguous Clusters, voir référence 2) que l’on peut traduire en score de robustesse. Si ce score est de 0, alors les entités sont toujours assignées au même cluster (exemple Figure 5👇).

Scores de robustesse
Figure 5: Exemples de scores de robustesse.

Pour aller plus loin

  • D’autres métriques ou méthodes existent en plus de PAC pour l’aide à la décision du nombre de clusters (silhouette, gap, elbow…)
  • En plus de l’aide à la décision sur le nombre de clusters, le consensus clustering peut aussi aider à tester plusieurs méthodes de calcul de distance (euclidien, pearson, etc..), ou des algorithmes de clustering (hiérarchique, spectral, k-means, etc..)
  • Nous avons considéré un clustering sur un seul type de mesure (exemple le montant du ticket de vente pour des clients d’enseigne, le montant de consommation énergétique pour un parc de bâtiments), mais il est possible, en amont du consensus clustering, de calculer plusieurs matrices de distance pour plusieurs mesures (exemple montant du ticket de vente et temps passé à faire les achats), puis de les fusionner en une seule matrice de distance sur laquelle sera fait le consensus clustering. Voir la méthode de Similarity Network Fusion, en référence 3.

Conclusion

Nous avons vu l’importance de disposer de métriques pour s’assurer de la pertinence et la caractérisation de nos clusters. Cela est essentiel pour une meilleure appréhension d’un portefeuille client, surtout si celui est amené à subir une dynamique (retrait/ajout de clients).

La portée méthodologique et valeur business de cet article saura être complétée par le prochain article sur la facette technique et opérationnelle du clustering.

Références

  1. Monti S. et al. Machine Learning 52, 91-118, 2003
  2. Șenbabaoğlu Y., Sci. Rep. 2014, 4: 6207
  3. Wang B. et al. Nature Methods 11, 333-337, 2014

Brought to you by l’amicale du clustering :

Nathanaël Lemonnier, Fabien Diot, Alexis Mathon, Thomas Guntz, Gautier Daras