Segmentação de clientes e venda cruzada em Python – Parte 1

O dinheiro faz o mundo girar e, no atual ecossistema de práticas comerciais intensivas em dados, é seguro afirmar que os dados também fazem o mundo girar. Um conjunto de habilidades muito importante para os cientistas de dados é combinar os aspectos técnicos da análise com seu valor comercial, ou seja, seu valor monetário.

  • Segmentação de clientes: a segmentação de clientes é a forma de descobrir informações sobre a base de clientes de uma empresa, com base em suas interações com a empresa. Na maioria dos casos, essa interação ocorre em termos de comportamento e padrões de compra. Explorarei algumas das maneiras em que isso pode ser usado.
  • Análise da cesta de compra: a análise da cesta de compras é um método para obter insights sobre o comportamento granular dos clientes. Isso é útil na elaboração de estratégias que revelam uma compreensão mais profunda das decisões de compra tomadas pelos clientes. Isso é interessante, pois muitas vezes até o cliente não tem consciência de tais tendências ou do seu comportamento de compra.

No passo a passo a seguir eu mostro como fazer uma análise com Python usando o jupyter notebook.

Para usar o mesmo conjunto de dados que eu usei, faça o download do arquivo: “Online Retail.xlsx”

Para qualquer análise devemos manter o fluxo de trabalho padrão, que deve sempre começar com a análise exploratória de dados (EDA).

Importe as bibliotecas e leia a planilha do excel que você baixou.

Depois, com o comando cs_df.head(), veremos os atributos deste conjunto de dados, que são:

  • InvoiceNo
  • StockCode
  • Description
  • Quantity
  • InvoiceDate
  • UnitPrice
  • CustomerID
  • Country
Importar bibliotecas e ler planilha no jupyter notebook

Vamos analisar estes dados e descobrir pra qual país essa empresa está enviando mais produtos
e o volume de vendas para cada país:

Maiores vendas por país

Em seguida, podemos estar interessados em quantos clientes exclusivos o varejista está tendo e como eles se comparam no número de pedidos que eles fazem. Também estamos interessados em saber qual a porcentagem de pedidos feita pelos 10 principais clientes do varejista.

Essa informação é interessante, pois nos diria se a base de usuários da empresa é distribuída de maneira relativamente uniforme.

Top 10 clientes que contribuem com 10% do total de vendas

O resultado nos diz que temos 4.373 clientes únicos, mas quase 10% do total de vendas são atribuídos a apenas 13 clientes, isso é esperado, dando o fato de termos clientes atacadistas e varejistas.

Agora vamos determinar quantos itens exclusivos a empresa está vendendo e verificar se temos o mesmo número de descrições para eles.

O resultado nos mostra uma incompatibilidade no código de estoque e descrições, o que significa que temos várias descrições para alguns códigos de estoque. Embora não interfira em nossa análise, vou aprofundar um pouco mais a fim de descobrir o que pode ter causado essa diferença.

Códigos de estoque com mais de uma descrição

A análise acima mostra múltiplas descrições para um desses itens e assim testemunhamos as maneiras simples como a qualidade dos dados pode ser corrompida em qualquer conjunto de informações. Um simples erro de ortografia pode acabar reduzindo a qualidade e a uma análise errônea.

Como este tutorial é pra mostrar a segmentação de clientes, não entraremos no mérito de limpeza de dados.

Vamos verificar agora a confiabilidade dos atributos Quantity(quantidade) e UnitPrice(preço do item).

Valores negativos em ambos os atributos

Podemos observar a partir do resultado precedente que ambos os atributos estão tendo valores negativos, o que pode significar que podemos ter algumas transações de retorno em nossos dados também. Esse cenário é bastante comum para qualquer varejista, mas precisaremos lidar com isto antes de prosseguirmos com nossa análise.

Na próxima parte do tutorial aprenderemos sobre o modelo RFM, e faremos a análise em Python da Recência, Frequência e valor Monetário(em uma tradução livre).

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *