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 :
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.
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.
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
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
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.
Aucune nouvelle mesure !
Veillez à ajouter toutes les nouvelles colonnes comme dimensions aux mesures ; avant de créer de nouveaux 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.