No varejo, redes de hipermercados geram uma quantidade enorme de dados. Esses dados são criados diariamente em todas as lojas. Esse grande volume de transações de clientes precisa ser analisado para desenhar estratégias mais lucrativas.
Todo cliente tem necessidades diferentes. Com o crescimento da base e do volume de transações, não é simples entender a demanda de cada pessoa. Identificar clientes com maior potencial melhora as campanhas de marketing e, no fim, aumenta as vendas. A segmentação ajuda a agrupar clientes em diferentes perfis para ações mais efetivas.
O que é segmentação de clientes?
Segmentação de clientes é o método de dividir clientes em grupos ou clusters com base em características em comum. No modelo B2C, o pesquisador de mercado pode segmentar clientes usando características demográficas como ocupação, gênero, idade, localização e estado civil; psicográficas, como classe social, estilo de vida e traços de personalidade; e comportamentais, como gastos, hábitos de consumo, uso de produtos/serviços e histórico de compras. No modelo B2B, é comum usar características da empresa, como porte, setor e localização.
Por que segmentar clientes
Ajuda a identificar os clientes com maior potencial.
Facilita a comunicação com o público-alvo certo.
Suporta a escolha dos melhores canais para falar com cada segmento.
Melhora a qualidade do serviço, a lealdade e a retenção.
Fortalece o relacionamento com o cliente ao entender melhor as necessidades de cada segmento.
Abre oportunidades de upsell e cross-sell.
Permite criar ofertas especiais para segmentos específicos e incentivar compras adicionais.
Ajuda a manter a empresa um passo à frente da concorrência.
Também apoia a identificação de novos produtos pelos quais os clientes podem se interessar.
Tipos de segmentação
Segmentação de clientes com análise RFM
RFM (Recência, Frequência, Valor monetário) é uma abordagem comportamental que agrupa clientes em segmentos. Ela os classifica com base nas transações passadas: quão recentemente, com que frequência e quanto cada cliente comprou. A RFM distribui os clientes em grupos para aprimorar o serviço e ajuda gestores a identificar clientes com maior potencial para gerar negócios mais lucrativos. Há clientes que gastam muito, mas e se compraram apenas uma vez, ou há quanto tempo foi a última compra? Eles compram com frequência? A RFM também apoia campanhas promocionais mais eficazes e personalizadas.
Recency (R): quem comprou recentemente? Número de dias desde a última compra (menor recência)
Frequency (F): quem compra com frequência? Número total de compras (maior frequência)
Monetary Value (M): quem tem maior valor gasto? Dinheiro total gasto pelo cliente (maior valor monetário)
Aqui, cada uma das três variáveis (Recência, Frequência e Valor monetário) é dividida em quatro grupos iguais, criando 64 (4x4x4) segmentos de clientes diferentes.
Passos da RFM (Recency, Frequency, Monetary):
Calcular os valores de Recência, Frequência e Valor monetário para cada cliente.
Atribuir faixas (bins) de segmento à tabela RFM usando quartis.
Concatenar a pontuação RFM do cliente em uma única coluna e ordenar.
1. Calcular os valores de Recência, Frequência e Valor monetário para cada cliente.
2. Adicionar faixas de segmento à tabela RFM usando quartis.
3. Concatenar todas as pontuações em uma única coluna (RFM_Score).
Identificar segmentos de clientes com potencial usando RFM em Python
Importando as bibliotecas necessárias
#import modulesimport pandas as pd # for dataframesimport matplotlib.pyplot as plt # for plotting graphsimport seaborn as sns # for plotting graphsimport datetime as dt
Tecnologia
Carregando o conjunto de dados
Vamos carregar o dataset de varejo com a função read_excel do pandas. Você pode baixar os dados por este link.
data = pd.read_excel("Online_Retail.xlsx")Tecnologia
Algumas vezes o dataset vem desorganizado. É comum lidar com duplicatas, que distorcem a análise. Em Python, o pandas oferece a função drop_duplicates(), que remove registros repetidos.
A função describe() do pandas é prática para obter estatísticas descritivas. Ela retorna contagem, média, desvio padrão, valores mínimo e máximo e os quartis dos dados.
Aqui vamos manter apenas as colunas essenciais para a análise RFM. Você precisa de cinco colunas: CustomerID, InvoiceDate, InvoiceNo, Quantity e UnitPrice. CustomerID identifica cada cliente; InvoiceDate permite calcular a recência; InvoiceNo ajuda a contar quantas transações foram feitas (frequência). Quantity e UnitPrice permitem calcular o valor total comprado.
Clientes com menor recência e maiores frequência e valor monetário são considerados os melhores clientes.
qcut() é uma função de discretização baseada em quantis. Ela cria faixas de dados com base nos quantis amostrais. Por exemplo, 1000 valores divididos em 4 quantis geram uma coluna categórica indicando a qual quantil cada cliente pertence.
# Filter out Top/Best cusotmers
rfm[rfm['RFM_Score']=='111'].sort_values('monetary', ascending=False).head()Tecnologia
monetary
frequency
recency
r_quartile
f_quartile
m_quartile
RFM_Score
CustomerID
16754.0
372
2002.4
2
1
1
1
111
12346.0
325
77183.6
1
1
1
1
111
15749.0
235
44534.3
10
1
1
1
111
16698.0
226
1998.0
5
1
1
1
111
13135.0
196
3096.0
1
1
1
1
111
Conclusão
Parabéns, você chegou ao fim deste tutorial!
Neste conteúdo, você viu em detalhes o que é segmentação de clientes, por que ela é importante, os tipos de segmentação, a análise RFM e como implementá-la do zero em Python. Também revisamos conceitos básicos de pandas, como tratamento de duplicatas, groupby e qcut() para criar faixas com base em quantis.
Agora você já pode aplicar a análise de segmentação comportamental nos seus próprios dados. Obrigado por ler!
Descubra como escrever funções em Python reutilizáveis e eficientes. Domine parâmetros, instruções de retorno e temas avançados como funções lambda. Organize melhor seu código com main() e outras boas práticas.
Mergulhe na ciência de dados com Python para analisar e visualizar seus dados de forma eficaz. Não precisa ter experiência ou conhecimento em programação.
No varejo, redes de hipermercados geram uma quantidade enorme de dados. Esses dados são criados diariamente em todas as lojas. Esse grande volume de transações de clientes precisa ser analisado para desenhar estratégias mais lucrativas.
Todo cliente tem necessidades diferentes. Com o crescimento da base e do volume de transações, não é simples entender a demanda de cada pessoa. Identificar clientes com maior potencial melhora as campanhas de marketing e, no fim, aumenta as vendas. A segmentação ajuda a agrupar clientes em diferentes perfis para ações mais efetivas.
O que é segmentação de clientes?
Segmentação de clientes é o método de dividir clientes em grupos ou clusters com base em características em comum. No modelo B2C, o pesquisador de mercado pode segmentar clientes usando características demográficas como ocupação, gênero, idade, localização e estado civil; psicográficas, como classe social, estilo de vida e traços de personalidade; e comportamentais, como gastos, hábitos de consumo, uso de produtos/serviços e histórico de compras. No modelo B2B, é comum usar características da empresa, como porte, setor e localização.
Por que segmentar clientes
Tipos de segmentação
Segmentação de clientes com análise RFM
RFM (Recência, Frequência, Valor monetário) é uma abordagem comportamental que agrupa clientes em segmentos. Ela os classifica com base nas transações passadas: quão recentemente, com que frequência e quanto cada cliente comprou. A RFM distribui os clientes em grupos para aprimorar o serviço e ajuda gestores a identificar clientes com maior potencial para gerar negócios mais lucrativos. Há clientes que gastam muito, mas e se compraram apenas uma vez, ou há quanto tempo foi a última compra? Eles compram com frequência? A RFM também apoia campanhas promocionais mais eficazes e personalizadas.
Aqui, cada uma das três variáveis (Recência, Frequência e Valor monetário) é dividida em quatro grupos iguais, criando 64 (4x4x4) segmentos de clientes diferentes.
Passos da RFM (Recency, Frequency, Monetary):
1. Calcular os valores de Recência, Frequência e Valor monetário para cada cliente.
2. Adicionar faixas de segmento à tabela RFM usando quartis.
3. Concatenar todas as pontuações em uma única coluna (RFM_Score).
Identificar segmentos de clientes com potencial usando RFM em Python
Importando as bibliotecas necessárias
Carregando o conjunto de dados
Vamos carregar o dataset de varejo com a função read_excel do pandas. Você pode baixar os dados por este link.
Removendo duplicatas
Algumas vezes o dataset vem desorganizado. É comum lidar com duplicatas, que distorcem a análise. Em Python, o pandas oferece a função drop_duplicates(), que remove registros repetidos.
Vamos aos insights
Neste dataset, a maioria dos clientes é do "United Kingdom". Então, podemos filtrar os dados apenas para clientes do Reino Unido.
A função describe() do pandas é prática para obter estatísticas descritivas. Ela retorna contagem, média, desvio padrão, valores mínimo e máximo e os quartis dos dados.
Aqui dá para notar que alguns clientes têm quantidade negativa, o que não faz sentido. Então precisamos filtrar Quantity maior que zero.
Filtrar as colunas necessárias
Aqui vamos manter apenas as colunas essenciais para a análise RFM. Você precisa de cinco colunas: CustomerID, InvoiceDate, InvoiceNo, Quantity e UnitPrice. CustomerID identifica cada cliente; InvoiceDate permite calcular a recência; InvoiceNo ajuda a contar quantas transações foram feitas (frequência). Quantity e UnitPrice permitem calcular o valor total comprado.
Análise RFM
Nesta etapa, vamos realizar as seguintes operações:
Calculando os quartis dos valores RFM
Clientes com menor recência e maiores frequência e valor monetário são considerados os melhores clientes.
qcut() é uma função de discretização baseada em quantis. Ela cria faixas de dados com base nos quantis amostrais. Por exemplo, 1000 valores divididos em 4 quantis geram uma coluna categórica indicando a qual quantil cada cliente pertence.
Interpretando os resultados de RFM
Combine os três quartis (r_quartile, f_quartile, m_quartile) em uma única coluna. Essa classificação ajuda a segmentar melhor os clientes.
Conclusão
Parabéns, você chegou ao fim deste tutorial!
Neste conteúdo, você viu em detalhes o que é segmentação de clientes, por que ela é importante, os tipos de segmentação, a análise RFM e como implementá-la do zero em Python. Também revisamos conceitos básicos de pandas, como tratamento de duplicatas, groupby e qcut() para criar faixas com base em quantis.
Agora você já pode aplicar a análise de segmentação comportamental nos seus próprios dados. Obrigado por ler!
Se quiser aprender mais sobre Python, faça o curso gratuito da DataCamp Intro to Python for Data Science.