Skip to main content
29 January 2019
Follow Us

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:

Capturar1

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:

Capturar2

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:

Capturar3

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:

Capturar4

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:

Capturar5

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:

Capturar6

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:

Capturar7

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.


Assine a nossa newsletter e receba o nosso conteúdo diretamente no seu email