Análisis de RFM
En este tema se muestra cómo configurar un tablero que le permita segmentar a los clientes por su actualización, frecuencia y clasificación monetaria. El análisis de RFM es una técnica de marketing que tiene en cuenta los comportamientos de los clientes para ayudarle a determinar la segmentación para la divulgación. Tiene en cuenta tres aspectos:
- Actualización de la fecha de compra de un cliente en su tienda
- Frecuencia de la frecuencia con la que compran a usted
- Dinero en cuánto gasta el cliente
El análisis de RFM solo se puede configurar si tiene el plan Adobe Commerce Intelligence Pro en la nueva arquitectura (por ejemplo, si tiene la opción Data Warehouse Views en el menú Manage Data). Estas columnas se pueden crear desde la página Manage Data > Data Warehouse. A continuación se proporcionan instrucciones detalladas.
Primeros pasos
Primero debe cargar un archivo que contenga solo una clave principal con el valor de una. Esto permite crear algunas columnas calculadas necesarias para el análisis.
Puede usar este artículo y la imagen siguiente para dar formato al archivo.
Columnas calculadas
Se hace una distinción adicional si su negocio permite pedidos de invitados. Si es así, puede omitir todos los pasos de la tabla customer_entity. Si no se permiten pedidos de invitado, ignore todos los pasos de la tabla sales_flat_order.
Columnas para crear
-
Sales_flat_order/customer_entitytabla -
Customer's last order date -
Column type:
Many to one > Max -
Pat:
sales_flat_order.customer_id > customer_entity.entity_id -
Seleccionado column:
created_at -
Filter:
Orders we count -
Segundos desde la última fecha de pedido del cliente- Column type: "Misma tabla > Edad
-
Seleccionado column:
Customer's last order date -
(entrada) Referencia de recuento
-
Column type:
Same table > Calculation -
Entradas:entity_id -
Calculation:
**case when A is null then null else 1 end** -
Tipo de datos:Integer -
Tabla Count reference (este es el archivo que ha cargado con el número "1")
-
Número de clientes
-
Column type:
Many to One > Count Distinct -
Path:
ales_flat_order.(input) reference > Count reference.Primary KeyOcustomer_entity.(input)reference > Count Reference.Primary Key -
Seleccionado column:
sales_flat_order.customer_emailOcustomer_entity.entity_id -
Tabla Customer_entity
-
Número de clientes
-
Column type:
One to Many > JOINED_COLUMN -
Path:
customer_entity.Referencia de (entrada) > Concentración de clientes.Primary Key -
Seleccionado column:
Number of customers -
(entrada)
Ranking by customer lifetime revenue -
Column type:
Same table > Event Number -
Event owner:
(input) reference for count -
Event rank:
Customer's lifetime revenue -
Clasificación por ingresos de duración de clientes
-
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 -
Tipo de datos:Integer -
Puntuación monetaria del cliente (en percentiles)
-
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 -
Tipo de datos:Integer -
(entrada) Clasificación por número de pedidos de duración del cliente
-
Column type:
Same table > Event Number -
Event owner:
(input) reference for count -
Event rank:
Customer's lifetime number of orders -
Clasificación por número de pedidos de duración del cliente
-
Tipo de columna: – “Misma tabla > Cálculo” -
Inputs: - (entrada) Clasificación por número de pedidos de por vida del cliente, Número de clientes
-
Calculation: - caso cuando A es nulo y luego nulo (B-(A-1)) fin
-
Datatype: - Entero
-
Puntuación de frecuencia del cliente (en percentiles)
-
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 -
Tipo de datos:Integer -
Clasificación por segundos desde la última fecha de pedido del cliente
-
Column type:
Same table > Event Number -
Event owner:
(input) reference for count -
Event rank:
Seconds since customer's last order date -
Puntuación de actualización del cliente (en percentiles)
-
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 -
Tipo de datos:Integer -
Puntuación de actualización del cliente (en percentiles)
-
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 -
Tipo de datos: String -
Tabla de referencia de recuento
-
Number of customers:
(RFM > 0) -
Column type:
Many to One > Count Distinct -
Path:
sales_flat_order.(input) reference > Customer Concentration. Primary KeyOcustomer_entity.(input)reference > Customer Concentration.Primary Key -
Seleccionado column:
sales_flat_order.customer_emailOcustomer_entity.entity_id -
Filter:
Customer's RFM score (by percentile)No Igual A 000 -
Tabla Customer_entity
-
Number of customers:
(RFM > 0) -
Column type:
One to Many > JOINED_COLUMN -
Path:
customer_entity.(input) reference > Customer Concentration.Primary Key -
Seleccionado column: -
Number of customers -
Puntuación de actualización del cliente
(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 -
Tipo de datos:Integer -
Clasificación por puntuación RFM general del cliente (entrada)
-
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)No Igual A 000 -
Clasificación por puntuación RFM general del cliente
-
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 -
Tipo de datos:Integer -
Grupo RFM del cliente
-
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 -
Tipo de datos:Integer
Métricas
No hay métricas nuevas.
Informes
-
Clientes por agrupación RFM
-
Métrica
A:New customers -
Metric:
New customers -
Filter:
Customer's RFM score (by percentiles) Not Equal to 000 -
Time period:
All time -
Interval:None -
Ocultar gráfico
-
Group by:
Customer's RFM group -
Agrupar por:Email -
Chart type:Table -
Clientes con cinco puntuaciones de actualización
-
Métrica
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 -
Ocultar gráfico
-
Agrupar por:Email -
Group by:
Customer's RFM score (R+F+M) -
Chart type:Table -
Clientes con una puntuación de actualización
-
Métrica
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 -
Ocultar gráfico
-
Agrupar por:Email -
Group by:
Customer's RFM score (R+F+M) -
Chart type:Table
Después de compilar todos los informes, puede organizarlos en el panel según lo desee. El resultado puede parecer el panel de muestra anterior, pero las tres tablas generadas son solo ejemplos de los tipos de segmentación de clientes que puede realizar.