Analyse RFM

Cette rubrique explique comment configurer un tableau de bord qui vous permet de segmenter vos clients selon leur récence, leur fréquence et leur classement monétaire. L’analyse RFM est une technique marketing qui prend en compte les comportements des clients pour vous aider à déterminer la segmentation pour la diffusion. Il comporte trois aspects :

  1. Récence des achats récemment réalisés par un client sur votre boutique
  2. Fréquence à laquelle ils vous effectuent des achats
  3. Montant monétaire des dépenses du client

L’analyse RFM ne peut être configurée que si vous disposez de la variable Adobe Commerce Intelligence Pour planifier la nouvelle architecture (par exemple, si vous disposez de la variable Data Warehouse Views sous l’option Manage Data ). Ces colonnes peuvent être créées à partir du Manage Data > Data Warehouse page. Vous trouverez des instructions détaillées ci-dessous.

Prise en main

Vous devez d’abord télécharger un fichier contenant uniquement une clé primaire dont la valeur est de 1. Cela permet de créer certaines colonnes calculées nécessaires à l’analyse.

Vous pouvez utiliser article et l’image ci-dessous pour formater votre fichier.

Colonnes calculées

Une autre distinction est faite si votre entreprise autorise les commandes d’invités. Si tel est le cas, vous pouvez ignorer toutes les étapes de la variable customer_entity table. Si les commandes d’invités ne sont pas autorisées, ignorez toutes les étapes de la variable sales_flat_order table.

Colonnes à créer

  • Sales_flat_order/customer_entity table

  • Customer's last order date

  • Column type: Many to one > Max

  • Pat: sales_flat_order.customer_id > customer_entity.entity_id

  • Sélectionné column: created_at

  • Filter: Orders we count


  • Secondes depuis la date de dernière commande du client

    • Column type: - "Même table > Age
  • Sélectionné column: Customer's last order date

  • (entrée) Référence du décompte

  • Column type: Same table > Calculation


  • Entrées: entity_id

  • Calculation: **case when A is null then null else 1 end**


  • Type de données: Integer

  • Référence de comptage (il s’agit du fichier que vous avez téléchargé avec le numéro "1")

  • Nombre de clients

  • Column type: Many to One > Count Distinct

  • Path: ales_flat_order.(input) reference > Count reference.Primary Key OU customer_entity.(input)reference > Count Reference. Primary Key

  • Sélectionné column: sales_flat_order.customer_email OU customer_entity.entity_id

  • Customer_entity table

  • Nombre de clients

  • Column type: One to Many > JOINED_COLUMN

  • Path: customer_entity.(entrée) référence > Concentration des clients. Primary Key

  • Sélectionné column: Number of customers

  • (entrée) Ranking by customer lifetime revenue

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's lifetime revenue

  • Classement par chiffre d’affaires total des clients

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime revenue, Number of customers

  • Calculation: case when A is null then null else (B-(A-1)) end


  • Type de données: Integer

  • Score monétaire du client (par centiles)

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime revenue, Number of customers

  • Calculation: Case when round((B-A+1)*100/B,0) <= 20 then 5 when round((B-A+1)*100/B,0) <= 40 then 4 when round((B-A+1)*100/B,0) <= 60 then 3 when round((B-A+1)*100/B,0) <= 80 then 2 when round((B-A+1)*100/B,0) <= 100 then 1 else 0 end


  • Type de données: Integer

  • (entrée) Classement par nombre de commandes sur la durée de vie du client

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's lifetime number of orders

  • Classement par nombre de commandes sur la durée de vie des clients


  • Type de colonne: – “Même tableau > Calcul”

  • Inputs: - (entrée) Classement par nombre de commandes sur la durée de vie du client, Nombre de clients

  • Calculation: - Cas où A est nul puis null else (B-(A-1)) se termine

  • Datatype: - Entier

  • Score de fréquence du client (par centiles)

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime number of orders, Number of customers

  • Calculation: Case when round((B-A+1)*100/B,0) <= 20 then 5 when round((B-A+1)*100/B,0) <= 40 then 4 when round((B-A+1)*100/B,0) <= 60 then 3 when round((B-A+1)*100/B,0) <= 80 then 2 when round((B-A+1)*100/B,0) <= 100 then 1 else 0 end


  • Type de données: Integer

  • Classement par secondes depuis la date de dernière commande du client

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Seconds since customer's last order date

  • Score de récence du client (par centiles)

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime number of orders, Number of customers

  • Calculation: Case when (A * 100/B,0) <= 20 then 5 when (A * 100/B,0) <= 40 then 4 when (A * 100/B,0) <= 60 then 3 when (A * 100/B,0) <= 80 then 2 when (A * 100/B,0) <= 100 then 1 else 0 end


  • Type de données: Integer

  • Score de récence du client (par centiles)

  • Column type: Same table > Calculation

  • Inputs: Customer's recency score (by percentiles), Customer's frequency score (by percentiles), Customer's monetary score (by percentiles)

  • Calculation: case when (A IS NULL or B IS NULL or C IS NULL) then null else concat(A,B,C) end


  • Type de données: String

  • Référence de comptage table

  • Number of customers: (RFM > 0)

  • Column type: Many to One > Count Distinct

  • Path: sales_flat_order.(input) reference > Customer Concentration. Primary Key OU customer_entity.(input)reference > Customer Concentration.Primary Key

  • Sélectionné column: sales_flat_order.customer_email OU customer_entity.entity_id

  • Filter: Customer's RFM score (by percentile) Pas égal à 000

  • Customer_entity table

  • Number of customers: (RFM > 0)

  • Column type: One to Many > JOINED_COLUMN

  • Path: customer_entity.(input) reference > Customer Concentration.Primary Key

  • Sélectionné column: - Number of customers

  • Score de récence du client (R+F+M)

  • Column type: Same table > Calculation

  • Inputs: – Customer's recency score (by percentiles), Customer's frequency score (by percentiles), Customer's monetary score (by percentiles)

  • Calculation: case when (A IS NULL or B IS NULL or C IS NULL) then null else A+B+C end


  • Type de données: Integer

  • (entrée) Classement par score RFM global du client

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's recency score (R+F+M)

  • Filter: Customer's RFM score (by percentile) Pas égal à 000

  • Classement par score RFM global du client

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer's overall RFM score, Number of customers (RFM > 0)

  • Calculation: case when A is null then null else (B-(A-1)) end


  • Type de données: Integer

  • Groupe RFM du client

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime revenue, Number of customers

  • Calculation: Case when round(A * 100/B,0) <= 20 then '5. copper' when round(A * 100/B,0) <= 40 then '4. bronze' when round(A * 100/B,0) <= 60 then '3. silver' when round(A * 100/B,0)<= 80 then '2. gold' else '1. Platinum' end


  • Type de données: Integer

REMARQUE

Les percentiles utilisés sont même des tranches de clients (par exemple, 20 % de compartiments pour renvoyer 1 à 5). Si vous souhaitez les pondérer de manière personnalisée, faites-le savoir à l’analyste lorsque vous soumettez le ticket.

Mesures

Aucune nouvelle mesure !

REMARQUE

Veillez à ajouter toutes les nouvelles colonnes comme dimensions aux mesures ; avant de créer de nouveaux rapports.

Rapports

  • Clients par groupement RFM

  • Mesure A: New customers

  • Metric: New customers

  • Filter: Customer's RFM score (by percentiles) Not Equal to 000

  • Time period: All time


  • Interval: None

  • Masquer le graphique

  • Group by: Customer's RFM group


  • Groupe par: Email


  • Chart type: Table

  • Clients avec cinq scores de récence

  • Mesure A: New customers

  • Metric: New customers

  • Filter: Customer's recency score (by percentiles) Equal to 5

  • Time period: All time


  • Interval: None


  • Chart Type: Scalar

  • Masquer le graphique


  • Groupe par: Email

  • Group by: Customer's RFM score (R+F+M)


  • Chart type: Table

  • Clients avec un score de récence

  • Mesure A: New customers

  • Metric: New customers

  • Filter: Customer's recency score (by percentiles) Equal to 1

  • Time period: All time


  • Interval: None


  • Chart Type: Scalar

  • Masquer le graphique


  • Groupe par: Email

  • Group by: Customer's RFM score (R+F+M)


  • Chart type: Table

Après avoir compilé tous les rapports, vous pouvez les organiser dans le tableau de bord suivant vos besoins. Le résultat peut ressembler à l’exemple de tableau de bord ci-dessus, mais les trois tableaux générés ne sont que des exemples des types de segmentation des clients que vous pouvez effectuer.

Sur cette page