Segmentação de clientes de um supermercado
O objetivo deste projeto é segmentar os clientes de um supermercado com base em seus perfis de compra, utilizando o algoritmo K-Means e o método do cotovelo. Também será realizada uma análise descritiva dos dados.
LINGUAGEM R
Segmentação de clientes de um supermercado
O objetivo deste projeto é segmentar os clientes de um supermercado com base em seus perfis de compra, utilizando o algoritmo K-Means e o método do cotovelo. Também será realizada uma análise descritiva dos dados.
Linguagem R | Power BI
9 min de Leitura


Esta é a versão resumida do projeto. Os códigos estão neste link


Introdução
Este é o meu primeiro projeto end-to-end, por isso, é o mais simples do meu portfólio.
O objetivo deste projeto é segmentar os clientes de um supermercado com base em seus perfis de compra, utilizando o algoritmo K-Means e o método do cotovelo. Também será realizada uma análise descritiva dos dados.
Ao final, espera-se obter insights sobre os perfis de clientes e seus padrões de consumo, o que pode ser útil na criação de campanhas de marketing personalizadas.
Os dados utilizados são reais e pertencem a um supermercado dos Estados Unidos chamado Hunter’s. A base de dados está disponível no Kaggle e possui 12 colunas com mais de 2 milhões de registros de compras.


Tecnologias
Foi utilizado a linguagem R, o Excel e o Power Bi


Descrição dos dados
O conjunto de dados de comportamento do consumidor de supermercado consiste em 2.019.501 linhas e 12 colunas:
order_id : Um número exclusivo para identificar o pedido
user_id : Um número exclusivo para identificar o usuário
order_number: Número do pedido
order_dow : Dia da semana em que o pedido foi feito
order_hour_of_day: Hora do pedido
dias_since_prior_order : Histórico do pedido
product_id : Id do produto
add_to_cart_order : Número de itens adicionados ao carrinho
reordenado : se o novo pedido ocorreu
departamental_id: Número exclusivo alocado para cada departamento
departamento: Nomes dos departamentos
product_name: Nome dos produtos


Limpeza e Transformação dos dados
Na Limpeza dos dados, foi checado a porcentagem de dados nulos e a retirada das NA´s. Descobriu-se algumas coisas sobre a variável “days_since_prior_order” (histórico de compras)


1. Observa-se que o número maximo de dias desde a última compra é 30, logo, pode-se supor que essa contagem é mensal.
2. O minimo de dias é 0, isso pode indicar novos clientes. 25% tem uma variação de 5 dias entres as compras.
3. A mediana é 8, isso significa que metade dos clientes tem 8 dias de diferenças entre as compras.
4. As NA´s podem indicar clientes que não fazem compras a mais de 1 mês.
Após a limpeza dos dados, descobrimos que a tabela tem 105.273 clientes.


Com os dados e transformados, a próxima etapa é a Análise Descritiva.
Na Transformação dos dados, as linhas da coluna “department” foram transformadas em colunas e preenchidas com a quantidade de itens comprados por cliente. Este novo DataFrame será utilizado para a segmentação.
Análise Descritiva


1. Frequência de compra dos clientes


É possível que o comportamento de compra mensal esteja relacionado ao recebimento de salário, o que leva a compras maiores em um único momento. Essa informação pode ser útil para o supermercado planejar a reposição de mercadorias no início ou no final do mês.
Além disso, há um potencial para o aumento da frequência de compra. Estratégias como programas de fidelidade ou cupons semanais podem incentivar os clientes a retornarem com mais frequência.
O objetivo é responder a seguinte pergunta: Quantas vezes por mês um cliente costuma ir ao mercado.
Observa-se que a maioria dos clientes realiza compras uma vez por mês (19,93%), seguida por aqueles que compram semanalmente (8,72%).
2. Qual dia os clientes costumam ir mais vezes ao supermercado?
Esta pergunta é importante, pois, ajudaria o supermercado a alocar mais funcionários nos dias de maior movimento. Além de melhorar o planejamento do estoque.
De acordo com os dados, Domingo e Segunda-feira são os dias com maior fluxo de clientes. Portanto, é estratégico reforçar a equipe nesses dias e fazer a reposição dos produtos nas prateleiras no sábado.
Como Quarta e Quinta apresentam menor movimento, seria interessante criar ofertas/promoções para atrair mais clientes.


Apesar do dataset não ter o valor dos produtos, saber quais departamentos vendem mais pode ser um indicativo de onde vem a maior parte do lucro do supermercado.
Observa-se que os departametos que mais vende são respectivamente: produce, dairy eggs, snacks.
3. Departamentos que vendem mais itens
OBS: No final deste tópico, traduzi o nome dos departamentos com mais vendas.
Top 10 Departamentos por Quantidade Vendida
Os departamentos de hortifruit, Ovos e laticínios são os que mais vendem. Esses produtos são utilizados no cotidiano das pessoas, o que indica que este estabelecimento é usado para compras regulares e não apenas emergenciais.
Além disso, esses produtos tem validade curta, logo é importante que o supermercado procure fornecedores próximos ou melhore a logística ao comprar de fornecedores distantes.
Snacks (Lanches, Petiscos e Biscoitos) é o terceiro departamento com mais vendas. Esses alimentos são muito atrativos para crianças, então seria estratégico colocá-los em prateleiras baixas para que as crianças consigam alcançar.
Os departamentos de Frios (ex: queijos) e Padaria também estão entre o top 10 de vendas. Assim, para aumentar o ticket médio, o supermercado poderia oferecer “combos matinais” (leite+queijo+ovos+pão) com preços promocionais nos dias de menor movimento.


Tradução dos departamentos com mais vendas
Os horários de maior venda são entre as 8h e às 17h. É ideal que nestes horários o supermercado coloque mais funcionários no Caixa, por exemplo.
4. Horários de maior venda
Também, seria interessante que a reposição de mercadorias ocorresse antes das 8h ou na noite anterior.
Além disso, seria estratégico que as campanhas de marketing fossem disparadas entre 7h e 9h. Isso aumentaria o engajamento com os clientes que se preparam para ir às compras.
Caso o supermercado trabalhe com degustação de novos produtos, as amostras poderiam ser exibidas entre 10h e 11h, já que é o horário de maior pico.
Já a limpeza pode ser intensificada às 12h e entre 16h e 17h, períodos de menor circulação dentro do pico; favorecendo a imagem de organização e cuidado.
5. Ranking dos produtos mais vendidos do supermercado


Identificar os alimentos mais vendidos é essencial para que o supermercado saiba quais itens precisam ser repostos com maior frequência.
Frutas e vegetais lideram as vendas, seguidos por iogurte, queijo e leite.
Uma estratégia eficaz seria criar combos que combinem os produtos mais vendidos com aqueles de menor saída, aumentando o ticket médio e a rotatividade do estoque.
O que esses produtos tem em comum é sua validade curta. Logo, seria interessante o supermercado implementar alertas automáticos para controlar o vencimento e assim reduzir desperdícios.
Modelagem


O método do Cotovelo (Elbow Method) é uma forma de determinar o número certo de clusters (k). O objetivo dele é encontrar o valor de k que reduz de forma significativa a soma da variância (SSE) dentro do cluster.
Aumentar o número de clusters reduz a soma da variância (SSE) dentro do cluster. Isso acontece porque ter mais clusters ajuda a identificar grupos com mais semelhanças entre si. Entretanto, se tivermos muitos clusters, a redução da SEE é muito pequena e insignificante (HAN; PEI; TONG, 2024).
Para descobrir o número ideal de clusters, usamos a análise gráfica. Por exemplo, vemos na figura abaixo que em k=4, ocorre uma mudança brusca.


Teoria - Método do Cotovelo
Como a base de dados é muito grande, será utilizado uma amostragem aleatória para realizar o clustering.
Em seguida, foi realizado o método do cotovelo, cujo intuito é mapear o número de cluster a ser utilizado.
O gráfico nos mostra que 5 clusters é uma opção adequada, pois a partir dele a curva fica estável.


Em seguida, foi realizada a padronização e a segmentação usando k-means. E, depois da clusterização, os dados foram convertidos aos valores originais e salvos numa tabela.
Escolha do número de clusters
Report


A tabela com os clusters foi levada para o Excel e após criar uma tabela dinâmica. Foi obtido o seguinte resultado:


Por meio desta tabela, pode-se chegar a algumas conclusões:
Cluster 1: ele representa 4 % da amostra, costuma ir ao supermercado, em média , a cada 14 dias. É provável que este grupo seja formado por clientes com crianças. Este grupo compra em grande quantidade, sendo o maior consumidor de:
Cluster 2: representa 28% da amostra de clientes. Este grupo costumam ir ao mercado a cada 27 dias e compra poucos produtos de todos os departamentos. É provável que este grupo represente clientes ocasionais.
Cluster 3: representa 18 % da amostra e costuma ir ao supermercado a cada 14 dias. Eles consomem na média todos os departamentos. É o Segundo maior consumidor de:
Cluster 4: representa 46 % da amostra, costuma ir ao supermercado a cada 8 dias e consome poucos produtos de todos os departamentos. É o Segundo maior consumidor de Álcool e o terceiro maior consumidor de Granel, café da manhã e hortifruit. E é o quarto maior consumidor de ovos e laticínios.
Cluster 5: representa 4 % da amostra e costuma ir ao supermercado a cada 15 dias. É o maior consumidor de Álcool, itens de limpeza, produtos de cuidados pessoais e itens para pets. Também é o Segundo maior consumidor de bebidas e biscoitos.
Este grupo também consome produtos para bebês que provavelmente são usados nos seus pets.Pode ser que sejam pessoas, em sua maioria, solteiras.
Produtos para bebês;
Padaria;
Bebidas
Café da manhã;
Granel;
Enlatados;
Frios;
Massas
Ovos e Laticínios;
Congelados;
Produtos internacionais;
Carnes e Frutos do Mar;
Itens de Despensa;
Hortifrúti;
Biscoitos;
Produtos para bebês;
Padaria;
Café da manhã;
Granel;
Enlatados;
Ovos e Laticínios;
Frios;
Congelados;
Produtos internacionais;
Carnes e Frutos do Mar;
Itens de Despensa;
Hortifrúti;
Insights


Cluster 1: enviar ofertas de produtos para bebês, de hortifrúti e de biscoitos.
Cluster 2: uma estratégia interessante seria enviar cupons de descontos para incentivar este cliente a voltar a comprar no supermercado.
Cluster 3: enviar ofertas de produtos a granel, ovos e laticínios e hortifrúti.
Cluster 4: como este consumidor vai com frequência no mercado, seria interessante enviar as ofertas diárias, principalmente , dos departamentos de Álcool, café da manhã, Hortifrúti e ovos e laticínios.
Cluster 5: enviar ofertas de álcool, itens de limpeza, produtos de cuidados pessoais , itens para pets, bebidas e biscoitos.
Com base na combinação da cesta de consumo dos grupos, podemos tirar os seguintes insights:
Colocar o departamento de álcool, próximo do departamento de biscoitos
Colocar o departamento de ovos e laticínios próximo do departamento de hortifrúti
Visualização


O dashboard a seguir foi feito no Power Bi. Ele mostra o ranking dos departamentos mais comprados por cada cluster.


Referências


HAN, J.; PEI, J.; TONG, H. Cluster analysis: basic concepts and methods. Em: Data Mining. Elsevier, 2023. p. 379–430.Disponível em: https://www.sciencedirect.com/science/article/pii/B9780128117606000187
RODRIGUES, Francisco. Algoritmo k-means (k-médias). 18 nov. 2021. Disponível em: https://www.youtube.com/watch?v=njRYKzRKBPY