RFM. Recency, Frequency e Monetary Value: como aplicar o clustering com o Power BI
Neste artigo vou demonstrar uma funcionalidade de segmentação, também conhecida como “clustering”, recorrendo ao Power BI Desktop. Esta é uma solução de segmentação bastante simples de colocar em prática e que tem um potencial de marketing muito interessante, desde a conceção de produtos à medida das necessidades de cada segmento de clientes até à otimização de campanhas publicitárias, o clustering permite diferenciar grupos homogéneos de clientes.
O que significa exatamente RFM? Recency, Frequency e Monetary Value
Este modelo tri-dimensional procura identificar conjuntos de clientes (clusters) com base em:
- Recência: quando é que os clientes compraram pela última vez? O modelo valoriza mais aqueles clientes que compraram há menos tempo.
- Frequência: quantas vezes compraram os clientes num determinado horizonte temporal?
- Valor Monetário: quanto gastaram os clientes?
A combinação destes três fatores permite determinar uma escala de valor em que os clientes que compraram mais, mais frequentemente e mais recentemente têm mais valor do que os restantes.
Estes serão o grupo dos 20% dos clientes que geram 80% do valor e os que terão mais probabilidade de voltar a comprar no futuro próximo. Toda a atenção deverá ser dada a este valioso cluster.
A forma como a empresa lidará com os diferentes clusters não é o tema deste artigo. Depois de se identificarem claramente que clientes pertencem a cada segmento, a informação ganha uma nova dimensão e não deverão faltar ideias para novas estratégias de marketing. Deixo apenas algumas sugestões para exploração mais aprofundada:
- Previsão de vendas por segmento
- Análise da movimentação dos clientes pelos diversos clusters
- Análise da rentabilidade de cada cluster
- Recuperação de clientes com elevado valor monetário e baixa recência
- Compreensão mais clara das características de cada cluster.
Como funciona o modelo RFM?
Funciona de forma iterativa procurando agrupar os clientes de acordo com as três variáveis acima descritas como se estivessem posicionados num painel. É como se a partir da localização de alguém num mapa pudéssemos aferir das características dessa pessoa.
Para identificar clusters, o modelo baseia-se em distâncias ortogonais de cada elemento ao centro de cada cluster. Quanto mais perto estiver cada cliente do centro de um determinado cluster, maior será a integração desse cliente no respetivo segmento.
Ora, segundo este princípio, será necessário definirem-se as coordenadas que representam o centro de cada cluster, por um lado, e – questão muito importante – quantos clusters serão necessários.
Para resolver estas duas questões, existem diversos algoritmos, nomeadamente o K-means clustering que está integrado no Power BI. Se não tem interesse nas especificações técnicas que definem o modo de funcionamento deste algoritmo, poderá simplesmente colocá-lo em prática analisando os resultados.
Poderá ser necessário definir-se à partida quantos clusters se pretende obter ou deixar o modelo encontrar o número de clusters automaticamente. Poder-se-ia argumentar que cada cliente é um cluster e definir-se uma estratégia diferenciada para cada um, mas talvez seja demasiado oneroso seguir por esta via.
Um exemplo prático de clustering com o Power BI
Vejamos um exemplo retirado de uma grande marca de calçado que vende para diversos clientes na Europa. As suas vendas líquidas nos últimos dois anos foram as seguintes:
A faturação líquida pode ser utilizada neste exercício como o a expressão do valor monetário (o M do nosso modelo). É discutível se este é o valor correto ou se deveria ser substituído pela margem de contribuição ou outro indicador financeiro mais preciso.
Recorrendo à linguagem DAX, podemos determinar a recência calculando o número de dias desde a última venda, a partir da expressão:
Dias desde útlima venda = DATEDIFF([Data útlima venda]; DATE(2015;12;31);DAY)
E calcular também o número de encomendas durante o período em análise:
NumEncomendas = DISTINCTCOUNT('Vendas'[CodEnc])
Com estas duas medidas, a tabela estaria agora assim:
Com os cálculos de RFM para cada cliente, é possível agora aplicar o algoritmo de clustering do Power BI que fará todo o trabalho pesado por nós a partir do menu “reticências” que se encontra no canto superior direito desta tabela:
O Power BI vai analisar a primeira coluna desta tabela como o objeto de segmentação e as três restantes como as variáveis a utilizar para o algoritmo. É tudo o que temos de fazer. Será criada uma nova coluna na tabela “Clientes” onde se identificará para cada cliente a que cluster pertence:
Agora, da forma que mais nos convier, podemos utilizar esta coluna exatamente da mesma maneira como se tivesse sido importada para o nosso modelo de dados através de qualquer tipo de visualizações.
Por exemplo, podemos criar uma nova tabela com os resultados de cada cluster:
Claramente, é no Cluster3 que está o rock’n’roll! A média de faturação líquida é a mais elevada, a recência é a mais baixa e é o grupo de clientes que mais encomendas coloca em média. O Cluster1 será o segundo em ordem de importância e o Cluster2 o com menor importância relativa.
Se recorrermos a um gráfico de dispersão, estes resultados são ainda mais evidentes, repare-se:
E obviamente que a matriz seria a visualização a utilizar, para analisar cliente a cliente, cluster a cluster, as estratégias de marketing a seguir:
Aqui está uma ferramenta de gestão gratuita ao seu dispor. Tenho visto a implementação deste tipo de soluções com muito sucesso em empresas dos mais diversos setores.