Skip to Content

Segmentation RFM

Nicolas Belhamri
12 min

Définition courte

 

Qu’est-ce qu’une segmentation RFM ?

 

Bien que trop peu utilisée, la segmentation RFM est une technique de segmentation client relativement simple à mettre en place et très puissante pour les e-commerce avec un potentiel de récurrence d’achat élevé. Elle permet de classer les clients du e-commerce concerné en fonction de la date de leur dernier achat, de la fréquence de leurs achats antérieurs et du montant total qu’ils ont dépensé sur une période donnée.

La segmentation RFM peut être utilisée à des fins de visualisation mais elle s’inscrit principalement dans une logique de marketing automation. Elle permet notamment :

  1. D’ajouter automatiquement des clients dans un scénario marketing automatisé lorsqu’ils changent de segment RFM ;
  2. De personnaliser les messages (des scénarios marketing automatisé) envoyés à des clients en fonction de leur segment RFM ;
  3. D’envoyer automatiquement des clients dans des audiences publicitaires (Google Ads, Facebook Ads, etc) ;
  4. D’exclure automatiquement des clients d’audiences publicitaires (Google Ads, Facebook Ads, etc).

Il est important de bien comprendre les bases du marketing automation (segmentation prospects/clients, scénario marketing automatisé, CDP composable, solution marketing automation & CRM, etc), pour bien comprendre ce qui va suivre. Nous vous conseillons très fortement de lire ce contenu :

https://www.boryl.fr/glossaire/marketing-automation/

Le terme RFM est un acronyme pour :

  1. Récence (Recency) : Cette dimension mesure la récence de l’activité d’achat des clients en utilisant comme KPI le temps écoulé (en jour) depuis le dernier achat ;
  2. Fréquence (Frequency) : Cette dimension mesure la fréquence de l’activité d’achat des clients en utilisant comme KPI le nombre d’achats réalisés ;
  3. Montant (Monetary) : Cette dimension mesure la valeur monétaire des clients en utilisant comme KPI la somme de la valeur des achats réalisés.

Chacune de ces dimensions correspond à une échelle de notation (par exemple, de 1 à 5, où 5 est la meilleure note).

En combinant ces 3 dimensions, la segmentation RFM permet de classer les clients dans différents segments.

Par exemple les clients ayant obtenu la note de 4/5 ou 5/5 aux 3 dimensions peuvent être considérés comme des clients “VIP”.

Pour vous donner un exemple concret, lorsqu’un client se voit attribuer le segment RFM “clients VIP” pour la première fois, il peut être envoyé automatiquement dans une audience “lookalike” à objectif de conversion Facebook Ads afin d’acquérir de nouveaux clients similaires potentiellement très rentables dans le temps.

Envoyer les “clients VIP” d’un e-commerce dans une audience “lookalike” à objectif de conversion Facebook Ads est plus puissant que d’envoyer les clients avec la meilleure Customer Value (correspondant donc aux clients avec la note de 4/5 ou 5/5 à la dimension M) car elle ajoute la dimension de fréquence élevée. En effet, acquérir des clients qui dépensent beaucoup, c’est bien, mais des clients qui dépensent beaucoup en beaucoup d’achats, c’est mieux. Pourquoi ? Parce qu’ils sont plus susceptibles de parler de la marque concernée autours d’eux (à chaque fois qu’ils font un achat) et donc plus susceptibles de générer du referral (acquisition gratuite).

Voici pour ce court exemple concret, nous vous donnons plus d’informations sur les différentes façons d’exploiter une segmentation RFM un peu plus bas.

L’intégration d’une segmentation RFM dans la stratégie marketing automation d’un e-commerce lui permet principalement d’améliorer :

  1. Sa CLV (grâce à l’augmentation de la satisfaction client, de la fidélité client, de la fréquence d’achat, des ventes croisées, etc) ;
  2. Son CAC (grâce à des campagnes d’acquisition mieux ciblées donc généralement moins chères, à un taux de conversion “visiteur on-site à client” plus élevé pour une même dépense en acquisition, etc) ;
  3. Son ratio CLV / CAC et donc sa croissance (grâce à la rentabilité qui peut être réinjectée dans l’acquisition : cercle vertueux).

Si vous voulez aller plus loin sur le sujet, c’est un peu plus bas que ça se passe 👇 🤓

Téléchargez nos maps des KPI SaaS et e-commerce
Télécharger
Téléchargez notre dashboard e-commerce CRO GA4 Looker Studio (template)
Télécharger
Téléchargez 3 exemples de plan de taggage web GA4/GTM (SaaS, e-commerce, lead generation)
Télécharger

Pour aller plus loin

 

Comment créer une segmentation RFM ?

 

Chez Boryl, pour répondre aux besoins en marketing automation de nos clients, nous déployons principalement des “dispositifs modernes” liant :

  1. Des outils Sales et marketing (solutions marketing automation & CRM légères, plateformes publicitaires, outils web analytics, back-offices, etc) ;
  2. Une CDP (Customer Data Platform) composable.

Voici un petit schéma pour une meilleure compréhension :

 

Segmentation RFM

 

Dans la majeure partie des cas, la création des segments RFM de nos clients ce fait donc au niveau de la CDP composable déployée.

Ci-dessous, vous trouverez les principales étapes du processus de création d’une segmentation RFM au niveau d’une CDP composable.

Ce processus est volontairement très simplifié pour une meilleure compréhension. Il est en réalité un peu plus complexe pour plusieurs raisons :

  1. Le processus doit s’intégrer à l’existant ;
  2. Le processus doit être optimisé pour limiter les temps d’exécution ainsi que les dépenses relatives aux technologies cloud engagées ;
  3. Le processus doit respecter des règles de sécurité et de gouvernance des données (système de hachage pour les PII par exemple) ;
  4. Il est possible de réaliser des segmentations RFM plus complexes (plus de dimensions initiales, échelle de notes plus large, plus de segments finaux, intégration de modèles de machine learning, etc) ;
  5. Il est possible de faire du real-time (vs batch).

 

Automatisation de l’ingestion des données brutes (étape 1)

 

Cette étape consiste à automatiser l’ingestion des données brutes (nécessaires à la réalisation d’une segmentation RFM) provenant du back-office du e-commerce concerné (Shopify, Prestashop, etc) dans l’environnement de stockage (cloud data warehouse) de la CMP composable.

Chez Boryl, le cloud data warehouse que l’on utilise le plus souvent est Google BigQuery, nous avons donc orienter cet exemple de processus sur ce dernier.

Pour information, un cloud data warehouse est une plateforme de stockage et d’analyse de données évolutive, hébergée dans le cloud, permettant un traitement rapide à partir de vastes ensembles de données. Les principaux cloud data warehouse du marché sont :

  1. Google BigQuery ;
  2. Snowflake ;
  3. Azure Synapse Analytics.

Pour créer une segmentation RFM classique, il faut 2 tables que l’on retrouve (en théorie) dans tous les back-offices e-commerce :

  1. La table “customers” et en particulier ses colonnes “customer_id”, “email”, “first_name” et “last_name” ;
  2. La table “orders” et en particulier ses colonnes “order_id”, “customer_id”, “order_date” et “total_amount”.

De notre côté, pour cet exemple, elles sont bien disponibles sur BigQuery :

 

Segmentation RFM

 

Si vous voulez pratiquer, voici les 2 tables de fausses données (format CSV) que nous utilisons dans cet exemple :

https://drive.google.com/drive/folders/1yzWCtJPFP-U4IkqeO828jLHYXteTzDno

Vous pouvez les uploader sur BigQuery et appliquer les requêtes SQL présentées un peu plus bas.

Il existe 2 principales méthodes pour automatiser une ingestion de données depuis un back-office vers Google BigQuery :

  1. Utiliser une solution cloud d’ingestion de données (Fivetran, Airbyte, etc) ;
  2. Développer et utiliser un connecteur “maison” (avec Google Cloud Function, Apache Airflow, etc).

Dans la majeure partie des cas, une fréquence d’ingestion entre 1 et 3 fois par jour est largement suffisante pour répondre correctement aux besoins de mise à jour d’une segmentation RFM.

 

Création de la requête SQL d’analyse RFM (étape 2)

 

Cette étape consiste à créer la requête SQL qui attribue un segment RFM à chaque client du e-commerce concerné.

 

Création des données RFM primaires (étape 2.1)

 

En exécutant la requête SQL ci-dessous sur les 2 tables de données brutes présentées un peu plus haut, nous disposons des données RFM primaires (recency, frequency, monetary) nous permettant d’attribuer un score à chaque client du e-commerce concerné sur chacune des dimensions RFM (recency_score, frequency_score, monetary_score) :

 

Segmentation RFM

 

Lien vers la requête SQL :

https://drive.google.com/file/d/1DeSFLu7Q4p_SI9xJXgIievNsnmZT75Hg/view

Avec :

  1. “recency” = Le nombre de jours entre aujourd’hui et la dernière commande par client ;
  2. “frequency” = Le nombre de commandes réalisées par client ;
  3. “monetary” = La somme de la valeur des commandes par client.

 

Segmentation RFM

 

Création des scores RFM (étape 2.2)

 

Nous devons maintenant attribuer un score pour chacune des dimensions RFM à chacun des clients du e-commerce concerné (soit chacune des lignes) en fonction des données RFM primaires.

Les scores RFM sont souvent calculés sur une échelle allant de 1 à 5 avec 1 désignant le score le plus bas et 5 le score le plus haut. Par exemple, les clients ayant acheté le moins de fois ont un score F (Frequency) de 1.

Il est possible d’instaurer une échelle de notation plus large si vous voulez plus de granularité, cela va principalement dépendre de la nature de vos données. Nous vous conseillons d’analyser la distribution de vos données pour définir l’échelle la plus appropriée. Plus la dispersion des données RFM primaires est forte, plus l’échelle de notation RFM doit être large pour refléter avec le plus de précision cette diversité dans les données.

Il existe 2 méthodes très simples pour attribuer un score à chacune des dimensions RFM ainsi qu’à chacun des clients (soit chacune des lignes) en fonction des données RFM primaires.

La méthode relative des quantiles

Avec cette méthode, si nous souhaitons calculer monetary_score en utilisant une échelle allant de 1 à 5, nous devons :

  1. Trier la colonne monetary dans l’ordre croissant ;
  2. Diviser le nombre de lignes en 5 “paquets” les plus distincts possibles (en quintile) ;
  3. Attribuer la note 1 au premier quintile, 2 au second quintile, etc.

Ainsi, le score de 5 est attribué aux 20% des clients qui ont la meilleure valeur monetary. Inversement, le score 1 est attribué aux 20% des clients qui ont la moins bonne valeur monetary.

La méthode non relative basée sur des règles

Avec cette méthode, si nous souhaitons calculer monetary_score en utilisant une échelle allant de 1 à 5, nous devons :

  1. Analyser les données RFM primaires (leur distribution) ;
  2. Créer des règles basées sur cette analyse (exemple de règle : Si monetary ≤ 150 alors monetary_score = 1) ;
  3. Intégrer les règles concernées dans le calcul du score.

Le choix entre ces 2 règles varie selon la nature des données RFM primaires. Il est donc important de bien comprendre la distribution de ces données avant de choisir la méthode la plus appropriée.

À savoir : il existe des méthodes plus précises, mais plus complexes basées sur des modèles de machine learning (k-means cluster analysis).

Dans cet exemple, pour que ce soit plus simple, nous avons choisi d’utiliser une échelle allant de 1 à 4.

Voici la distribution des données RFM primaires :

 

Segmentation RFM

Au vu de la nature des données recency, frequency et monetary nous allons utiliser :

  1. La méthode relative des quantiles pour calculer recency_score ;
  2. La méthode non relative basée sur des règles pour calculer frequency_score ;
  3. La méthode non relative basée sur des règles pour calculer monetary_score.

Les règles de calcul pour le calcul de frequency_score sont les suivantes :

  1. Si frequency = 1 alors frequency_score = 1 ;
  2. Si frequency = 2 alors frequency_score = 2 ;
  3. Si frequency = 3 alors frequency_score = 3 ;
  4. Si frequency ≥ 4 alors frequency_score = 4.

Les règles de calcul pour le calcul de monetary_score sont les suivantes :

  1. Si monetary ≤200 alors monetary_score = 1 ;
  2. Si 200 > monetary ≤ 400 alors monetary_score = 2 ;
  3. Si 400 > monetary ≤ 600 alors monetary_score = 3 ;
  4. Si monetary > 600 alors monetary_score = 4.

⚠️ Le comportement d’achat des clients pouvant évoluer dans le temps, les règles de calcul d’une méthode non relative basée sur des règles doivent être adaptées dans le temps également.

En apportant des modifications à la première requête SQL et en l’exécutant, nous disposons des scores RFM (recency_score, frequency_score, monetary_score) nous permettant d’attribuer un segment RFM à chaque client du e-commerce concerné :

 

Segmentation RFM

 

Lien vers la requête SQL :

https://drive.google.com/file/d/1tPl_-oPqWcgwGMxbhidQdYRo5mhfF1s_/view?usp=sharing

 

Segmentation RFM

 

Création des segments RFM (étape 2.3)

 

Nous devons maintenant attribuer un segment en fonction des 3 scores RFM (recency_score, frequency_score, monetary_score) à chaque client du e-commerce concerné.

Une segmentation RFM classique permet de créer entre 5 et 10 segments pertinents. Inutile d’en déterminer plus, la gestion devient vite très compliquée sans pour autant apporter plus de valeur.

Dans cet exemple, pour que ce soit plus simple, nous avons choisi de déterminer uniquement 4 segments :

  1. “Clients VIP”, ce sont les meilleurs clients (recency_score = 4, frequency_score = 4, monetary_score = 4) ;
  2. “Clients fidèles non dépensiers”, ce sont les clients qui achètent le plus souvent, qui ont acheté il n’y a pas très longtemps mais qui ne dépensent pas beaucoup (recency_score ≥3, frequency_score = 4, monetary_score ≤ 2) ;
  3. “Clients à risque”, ce sont les bons clients qui n’ont pas acheté depuis longtemps (recency_score = 1, frequency_score ≥ 3, monetary_score ≥3) ;
  4. “Autre”, ce sont le reste des clients.

En apportant des modifications à la deuxième requête SQL et en l’exécutant, nous disposons des segments RFM pour chaque client du e-commerce concerné :

 

Segmentation RFM

 

Lien vers la requête SQL :

https://drive.google.com/file/d/1qbbFFCJUddUyLH1ixdENmoXBL-xapizL/view?usp=sharing

 

Segmentation RFM

 

Automatisation de la requête SQL d’analyse RFM (étape 3)

 

Cette étape consiste à automatiser la requête SQL d’analyse RFM (créée précédemment) qui attribue un segment RFM à chaque client du e-commerce concerné et qui met à jour la table analysée finale (celle qui sert à alimenter les outils d’activation marketing).

Les 2 méthodes les plus simples pour automatiser une analyse sur Google BigQuery sont :

  1. Créer une requête programmée directement depuis Google BigQuery ;
  2. Créer un modèle planifié sur dbtCloud.

Voici 2 documentations respectives à chacune de ces 2 méthodes si vous voulez en savoir plus :

https://cloud.google.com/bigquery/docs/scheduling-queries?hl=fr

https://docs.getdbt.com/quickstarts/bigquery?step=1

Dans la majeure partie des cas, une fréquence d’analyse entre 1 et 3 fois par jour est largement suffisante pour répondre correctement aux besoins de mise à jour d’une segmentation RFM. Il faut évidemment faire le nécessaire pour que l’ingestion ait lieu avant l’analyse…

Chez Boryl, pour plusieurs raisons, nous utilisons souvent Apache Airflow pour orchestrer les tâches d’ingestion et d’analyse. En voici quelques-unes :

  1. Apache Airflow gère automatiquement les dépendances entre les tâches, assurant ainsi que les tâches ne s’exécutent que si les tâches parentes sont terminées avec succès ;
  2. Apache Airflow peut être configuré pour réessayer automatiquement les tâches en échec, réduisant ainsi le besoin d’intervention manuelle ;
  3. Apache Airflow conserve un historique complet de l’exécution des tâches, offrant une traçabilité complète des activités, ce qui est essentiel pour l’audit et le débogage ;
  4. Apache Airflow peut gérer efficacement un grand nombre de tâches et d’exécutions parallèles, offrant ainsi la possibilité de faire évoluer les systèmes sans compromettre la performance.

 

Automatisation de l’envoi des segments RFM dans les outils d’activation marketing (étape 4)

 

Cette étape consiste à automatiser l’envoi des segments RFM dans les outils d’activation marketing utilisés par le e-commerce concerné.

Les 2 types d’outil d’activation marketing principaux sont :

  1. Les outils marketing Automation & CRM (ActiveCampaign, Klaviyo, Brevo, Actito, Splio, etc) ;
  2. Les plateformes publicitaires (Facebook Ads, Google Ads, etc).

Il existe 2 principales méthodes pour automatiser l’envoi de données depuis Google BigQuery vers un outil d’activation marketing :

  1. Utiliser une solution cloud “Reverse ETL” (Census, Hightouch, etc) ;
  2. Développer et utiliser un connecteur “maison” (avec Google Cloud Function, Apache Airflow, etc).

La logique de cette étape est très simple :

  1. Identifier les clients dont le segment RFM a changé depuis la dernière exécution ainsi que les nouveaux clients sur la table analysée ;
  2. Mettre à jour les audiences publicitaires avec les clients concernés ou mettre à jour les fiches contact des clients concernés sur la solution Marketing Automation & CRM.

Dans la majeure partie des cas, une fréquence entre 1 et 3 fois par jour est largement suffisante pour répondre correctement aux besoins de mise à jour d’une segmentation RFM. Il faut évidemment faire le nécessaire pour que l’envoi des données ait lieu avant l’analyse et l’ingestion….

 

Comment exploiter une segmentation RFM ?

 

Vous trouverez ci-dessous 3 exemples concrets et fréquents d’exploitation de segmentation RFM.

 

Alimenter une audience publicitaire lookalike avec les “Clients VIP”

 

Comme énoncé un peu plus haut, lorsqu’un client se voit attribuer le segment RFM “Clients VIP” pour la première fois, il peut être envoyé automatiquement dans une audience “lookalike” à objectif de conversion Facebook Ads afin d’acquérir de nouveaux clients similaires potentiellement très rentables dans le temps.

Envoyer les “Clients VIP” d’un e-commerce dans une audience “lookalike” à objectif de conversion Facebook Ads est plus puissant que d’envoyer les clients avec la meilleure Customer Value (correspondant donc aux clients avec la note de 4/5 ou 5/5 à la dimension M) car elle ajoute la dimension de fréquence élevée. En effet, acquérir des clients qui dépensent beaucoup, c’est bien, mais des clients qui dépensent beaucoup en beaucoup d’achats, c’est mieux. Pourquoi ? Parce qu’ils sont plus susceptibles de parler de la marque concernée autours d’eux (à chaque fois qu’ils font un achat) et donc plus susceptibles de générer du referral (acquisition gratuite).

 

Proposer un programme de fidélité aux “Clients fidèles non dépensiers” et “Clients VIP”

 

Lorsqu’un client se voit attribuer le segment RFM “Clients fidèles non dépensiers” ou “Clients VIP” pour la première fois, une suite d’e-mails / SMS peut lui être envoyée automatiquement pour l’inciter à participer à un programme de fidélité.

Voici les principaux avantages de cette stratégie :

  1. Proposer un programme de fidélité exclusif peut être un facteur de différenciation important par rapport aux concurrents si ces derniers ne le font pas, ce qui peut aider le e-commerce concerné à conserver ses clients existants ;
  2. Inviter les “Clients fidèles non dépensiers” et “Clients VIP” à rejoindre un programme de fidélité renforce leur sentiment de reconnaissance, ce qui peut améliorer leur fidélité envers le e-commerce concerné ;
  3. Les “Clients fidèles non dépensiers” et “Clients VIP” satisfaits du programme de fidélité sont plus susceptibles de recommander le e-commerce concerné à leurs amis et à leur famille, ce qui peut amener de nouveaux clients (referral).

 

Ajuster les avantages des messages marketing en fonction des segments RFM

 

Les “Clients VIP” n’ont généralement pas besoin de gros avantages (réduction 30% par exemple) pour acheter. Il n’est donc pas nécessaire de leur proposer de gros avantages, car ils achèteront tout de même avec de petits avantages (livraison gratuite par exemple).

Les “Clients fidèles non dépensiers” sont quant à eux généralement plus sensibles aux avantages. Il est donc intéressant de leur proposer des avantages un peu plus conséquents (tout en maîtrisant la marge), pour les garder fidèles et ainsi augmenter leur Customer Value.

Les “Clients à risque” ont besoin d’être réactivés pour qu’ils ne dépensent pas leur argent chez un concurrent. Il est donc intéressant de leur proposer des avantages encore un peu plus conséquents (tout en maîtrisant la marge), pour les réactiver et ainsi augmenter leur Customer Value.

Une segmentation RFM automatisée permet d’ajuster automatiquement les messages des publicités à objectif de rétention sur client existant ainsi que les messages des scénarios marketing principaux comme :

  1. Le scénario “customer’s birthday” ;
  2. Le scénario “customer’s first purchase birthday” ;
  3. Le scénario “shopping cart abandonment” ;
  4. Le scénario “feedback post-first delivery” ;
  5. Le scénario “reactivation based on purchase frequency”.

Plus d’informations sur ces scénarios marketing sur cette page.

 

En ajustant intelligemment les avantages en fonction des segments RFM, un e-commerce :

  1. Maximise sa rétention client ;
  2. Maximise sa marge.

Téléchargez notre formation sur Google Analytics 4 (version longue)
Télécharger

Consultez aussi…

GLOSSAIRE

Recherchez les définitions qui vous manquent !

CAS CLIENTS

Nos cas clients par industrie, type de business et type de mission !

BLOG

L’actu data, par BORYL !

Recevez chaque mois des ressources pour garder une longueur d’avance sur les sujets Data Marketing & Analytics !
S'INSCRIRE À LA NEWSLETTER
Back to top
🍪 La fin des cookies tiers sur Google : Le guide complet pour les marketeurs/annonceurs !  👉 TÉLÉCHARGER 👈