Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Segmentación dinámica de clientes

Hi Expertos,

Estoy construyendo un modelo RFM, un modelo dinámico de segmentación de clientes.
Anteriormente lo hice en el método 1 (parte superior) y tiene éxito, pero ahora me gustaría hacerlo avanzado para usar el método 2 (parte inferior). el resultado variaría según la categoría y el período seleccionados.

Permítanme explicar primero el modelo a continuación.

SimonChung_GGGG_7-1646320306508.png

Método 1
Hay 3 factores Actualidad, Frecuencia y Monetory en este modelo, cada factor dividido en 3 rangos

En un período seleccionado y cateogría seleccionada,
Un cliente tiene una transacción de menos de 30 días como R1, 31-90 días como R2, >90 días como R3
El cliente tiene transacción en el período seleccionado, frecuencia mayor a 25 tratar como F1, así sucesivamente ...
El cliente que gasta dinero mayor que 10001 tratar como M1, así sucesivamente ...

SimonChung_GGGG_0-1646317857656.pngSimonChung_GGGG_1-1646317866045.pngSimonChung_GGGG_2-1646317875054.png

Luego saldrá un máximo de 27 (3x3x3) combinaciones como se muestra en la imagen.
La tabla de resumen (derecha) también puede ser interactiva con la tabla de detalles (izquierda).

SimonChung_GGGG_5-1646318533475.png

Método 2

Ahora me gustaría hacer un modelo avanzado.

En el método 2 no proporcionaría un criterio fijo, sino que dividiría cada 3 factores en cuartiles.
De modo que, por ejemplo, se selecciona 50days, Recency para 0-10days treast como R4, 11-20 como R3... etc
Frecuencia y Monetaria son casos similares.

La tabla de detalles está bien, sin embargo, no pudo crear la tabla Resumen.
Pensé que el caso sería similar al método 1, pero no lo es.

SimonChung_GGGG_6-1646319235432.png

¿Cómo debo hacer para hacer la tabla Resumen, también puede tener interacción con la tabla Detalles? ¡Muchas gracias!

PBIX: RfM Demo v2.pbix

Resultado resumido previsto (para el período de selección del 1/1/19 al 31/12/19): MÉTODO 2 - DETALLES.xlsx

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay @SimonChung_GGGG ,

Debido a que ha aplicado el filtro [Clientes activos #] <> en blanco en este objeto visual,

vkkfmsft_0-1646807926314.png

debe ajustar la fórmula a:

Active Customers #2 = 
    CALCULATE(
        DISTINCTCOUNT('FactSales'[Customer ID]), 
        FILTER(
            FILTER ( VALUES ( DimCustomer[Customer ID] ), [Active Customers #] <> BLANK () ),
            [Recency Score] >= MIN (Seg2_Recency[Min]) && [Recency Score] <= MAX (Seg2_Recency[Max]) && 
            [Frequency Score] >= MIN (Seg2_Frequency[Min]) && [Frequency Score] <= MAX ( Seg2_Frequency[Max] ) &&
            [Monetary Score] >= MIN (Seg2_Monetary[Min]) && [Monetary Score] <= MAX ( Seg2_Monetary[Max] )
        )
    )

vkkfmsft_1-1646807977367.png

Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
Saludos
Winniz
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hay @SimonChung_GGGG ,

Debido a que ha aplicado el filtro [Clientes activos #] <> en blanco en este objeto visual,

vkkfmsft_0-1646807926314.png

debe ajustar la fórmula a:

Active Customers #2 = 
    CALCULATE(
        DISTINCTCOUNT('FactSales'[Customer ID]), 
        FILTER(
            FILTER ( VALUES ( DimCustomer[Customer ID] ), [Active Customers #] <> BLANK () ),
            [Recency Score] >= MIN (Seg2_Recency[Min]) && [Recency Score] <= MAX (Seg2_Recency[Max]) && 
            [Frequency Score] >= MIN (Seg2_Frequency[Min]) && [Frequency Score] <= MAX ( Seg2_Frequency[Max] ) &&
            [Monetary Score] >= MIN (Seg2_Monetary[Min]) && [Monetary Score] <= MAX ( Seg2_Monetary[Max] )
        )
    )

vkkfmsft_1-1646807977367.png

Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
Saludos
Winniz
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

¡Muchas gracias!
Por cierto, creo que tienes un error tipográfico, cambio a dimCustomer en su lugar, entonces funciona,

SimonChung_GGGG_0-1646834562218.png

Syndicate_Admin
Administrator
Administrator

Puede utilizar DAX Studio para examinar sus medidas y optimizar su rendimiento. Para los clientes activos # 2, puede mejorar enormemente el rendimiento evitando el recálculo de sus medidas.

Active Customers #2 = 
    var r = [Recency Score]
    var f = [Frequency Score]
    var m = [Monetary Score]
return  CALCULATE(
        DISTINCTCOUNT('FactSales'[Customer ID]), 
        FILTER(
            VALUES('FactSales'[Customer ID]),
            r >= MIN (Seg2_Recency[Min]) && r <= MAX (Seg2_Recency[Max]) && 
            f >= MIN (Seg2_Frequency[Min]) && f <= MAX ( Seg2_Frequency[Max] ) &&
            f >= MIN (Seg2_Monetary[Min]) && f <= MAX ( Seg2_Monetary[Max] )
        )
    )

Realmente gracias por su respuesta.
Sin embargo, no funciona.

SimonChung_GGGG_1-1646465854149.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.