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

9 min read

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