Cas d’étude Magento Entreprise : la Segmentation Clients
17 mai 2010Etude de cas sur la Segmentation Clients
Un peu d’histoire
La version Entreprise de Magento comporte une fonctionnalité très intéressante pour les marchands : la Segmentation Dynamique des Clients. Mais que se cache-t-il donc derrière ce superbe titre ?
A l’origine, il y a la gestion des Groupes de Clients, disponible dans toute solution Ecommerce qui se respecte. Cela permet aux administrateurs du site Ecommerce d’associer ses clients à des groupes de clients, pour les classifier dans des ensembles (typiquement, les clients « normaux », les clients « professionnels », les « revendeurs », les « distributeurs »…etc.). Par défaut, l’assignation d’un client à un groupe donné se fait manuellement en BackOffice. Des développements sur-mesure sont ensuite possibles, pour assigner un client à tel ou tel groupe en fonction de règles préétablies (par exemple, assigner automatiquement les clients à un groupe « Professionnels » s’ils ont saisi un numéro de TVA Intracom dans le formulaire d’inscription…). Mais une fois que le client est assigné à son groupe, c’est plus ou moins gravé dans le marbre. Pour le déplacer à nouveau, il faut le faire manuellement, ou implémenter une nouvelle règle lancée sur un nouvel évènement…
Bref, pas très pratique tout ça… Sans compter qu’un client ne peut en général être affecté qu’à un groupe, et pas à plusieurs. Impossible dans ce cas d’avoir un groupe dédié à des clients Pros, et un groupe dédié aux meilleurs clients, avec des clients pouvant appartenir à ces deux groupes.
La solution
Heureusement, l’équipe de Varien a eu l’excellente idée d’imaginer pour vous (et pour nous aussi…
) un module permettant, à partir d’une règle prédéfinie par le marchand, de rechercher dynamiquement tous les clients qui remplissent tous les critères de cette règle, et de les associer à ce groupe de clients dynamique. Concrètement, vous définissez une règle d’affectation en BackOffice, par exemple « Tous les clients qui ont commandé pour plus de 500 euros sur mon site », vous lancez la moulinette, et vous obtenez la liste de tous les clients qui ont commandé pour plus de 500 euros sur votre site. Souple, facile, rapide, précis.
Il est possible de créer autant de règles que vous le voulez en BackOffice. De plus, les clients peuvent ainsi appartenir à plusieurs segments de clients, ce qui vous permet de générer des listes de clients aussi précises que possibles, sans risque d’oublis. Les conditions sont créées en BackOffice grâce au même moteur algorithmique de règles que pour la gestion des promotions de Magento.
Un cas concret
L’un de nos clients est venu nous voir avec le besoin de créer des promotions progressives sur montants de commandes cumulés. La règle complète s’apparente à ceci :
- -5% de remise immédiate dès 100€ d’achats
- -7,5% de remise immédiate dès 500€ d’achats
- -10% de remise immédiate dès 750€ d’achats
- -15% de remise immédiate dès 1000€ d’achats
- -20% de remise immédiate dès 3000€ d’achats
Les remises sont valables dès le premier achat et les totaux des commandes sont cumulables. De plus, les totaux sont remis à zéro si le client n’a passé aucune commande dans les six derniers mois.
La Segmentation des Clients de Magento Enterprise Edition permet de mettre en place ces règles de manière dynamique et souple.
Définir les segments
La première étape est de définir ces règles sur le BackOffice de Magento EE. On se rend dans le menu « Clients » => « Segments de Clients », et on crée une nouvelle règle en cliquant sur « Nouveau Segment ».
Trois onglets sont présents sur la gauche :
- Propriétés Générales => définissez ici les infos générales de votre segment
- Nom du segment => Choisissez ici un nom pour votre segment
- Description => Donnez une description
- Assigné au site => Si le segment doit se limiter à un site en particulier, choisissez-le ici
- Statut => Choisissez d’activer ou désactiver votre segment
- Conditions => définissez ici l’algorithme de vos critères de segmentation
- Clients correspondant => après vérification des critères, la liste des clients correspondant s’affichera ici. Elle est pour le moment vide.
Les conditions peuvent être définies sur plusieurs entités :
- • Infos Client
- Groupe du Client (hé oui, c’est cumulatif avec la notion de Groupe Clients standard…)
- Date de naissance
- Adresse de facturation par défaut
- Adresse de livraison par défaut
- Prénom
- Nom
- Inscription à la newsletter
- Crédit en cours
- Adresses
- Panier en cours du client
- Total du panier en cours (sur le total, sous-total, taxes, frais de port, crédit, carte cadeau…)
- Nombre de produits différents dans le panier
- Quantité de produits dans le panier
- Listes de produits du client
- Produits présents/absents dans le panier ou dans la wishlist (avec filtres sur l’ensemble des attributs des produits
- Historique des produits visualisés ou commandés
- Commandes du client
- Adresse utilisée pour une commande (avec filtres sur tous les éléments constitutifs d’une adresse : ville, pays, téléphone, société, email, nom…)
- Montant total de commandes (avec filtres sur les statuts de commandes, sur les périodes de commandes, les dates de commandes…)
- Nombre de commandes (avec mêmes filtres que ci-dessus)
- Quantités commandées (avec mêmes filtres que ci-dessus)
Tous ces critères peuvent être combinés et cumulés entre eux.
Pour en revenir à notre client, on a donc défini toutes les règles nécessaires, en se basant sur l’algorithme suivant :

Si on reprend cette règle pas à pas, on voit que l’on ne prend que les clients :
- Dont le total des commandes est supérieur ou égal à 500€, en ne prenant que les commandes « Terminées » (hé oui, on ne prend en compte que les commandes réellement payées pour faire monter le client dans les segments de promotion…), et sur les 180 derniers jours (= 6 mois)
- Dont le total des commandes est inférieur à 750€, en ne prenant que les commandes « Terminées »
- Ayant passé au moins une commande sur les 180 derniers jours
Cela correspond à la seconde règle énoncée dans le besoin du client, pour rappel : « -7,5% de remise immédiate dès 500€ d’achats », et on fait de même pour toutes les autres règles. On n’a pas encore défini les 7,5% de remise me direz-vous, et vous aurez raison, on y va de ce pas, mais je tiens à insister sur le caractère extrêmement souple de cette fonction de Segmentation des Clients. Les règles sont totalement personnalisables par la suite, depuis le BackOffice, sans avoir aucune connaissance technique. Le marchand peut donc ensuite faire évoluer ces règles avec son business model, sans aucune intervention de la part de l’intégrateur, en toute autonomie.
En cliquant alors sur le bouton « Match Customers », la liste des clients matchant les critères sera alors mise à jour, et vous pourrez la consulter et l’exporter.
Définir les réductions associées
Bon on a défini toutes nos règles, on va donc maintenant créer les promotions correspondantes. Pour cela, on se rend, en BackOffice, dans le menu « Promotions » => « Règles de prix Panier », et on crée une nouvelle règle.
Il suffit de définir comme conditions le fait de n’appliquer la réduction qu’aux clients du Segment correspondant, et que cela ne s’applique qu’aux paniers situés entre 500 et 750€ :

NB : Sur l’exemple ci-dessus, dans « Customer Segment matches 1 », le chiffre « 1 » est en fait l’identifiant du segment de clients que vous avez créé précédemment. Une interface permet de le sélectionner directement :

L’onglet « Action » permettra de définir le montant de la réduction, ici 7.5% :

Quelques astuces de mise en place
A ce moment-là, la question qui devrait vous venir à l’esprit, c’est « C’est génial, mais s’il faut cliquer sur « Match Customers » toutes les 5 minutes pour mettre à jour les segments de clients, ça n’a plus rien d’automatique ». Et je vous répondrai : « C’est pas faux… »
Mais l’équipe de Varien a anticipé votre question et remonté dans un fichier de configuration la gestion des évènements déclenchant le matching des clients. C’est-à-dire que vous pouvez définir quels évènements précisément vont déclencher un « Match des clients », en FrontOffice comme en BackOffice :






