Usando dados para prever hábitos de compra no Starbucks

 


retencao.png

Confira como técnicas descritivas e um modelo de Machine Learning são capazes de responder perguntas importantes de negócios a partir de informações simples

 

Em artigo publicado no Medium, o engenheiro de Machine Learning Ravish Chawla traça algumas análises descritivas sobre o negócios do Starbucks e cria um modelo simples de machine learning para responder três perguntas principais:

  1. Como o sexo influencia o quanto alguém gasta no Starbucks? Os homens gastam mais que as mulheres ou o contrário?

  2. Quantas pessoas visualizam e concluem ofertas? E quantas pessoas concluem ofertas sem abri-las primeiro?

  3. Quais são os atributos que mais contribuem para os nível de gastos de alguém no Starbucks?


Gráficos cruzados de dados demográficos de clientes (esquerda) e tipos de oferta (direita)

Gráficos cruzados de dados demográficos de clientes (esquerda) e tipos de oferta (direita)

Na primeira visualização à esquerda é possível ver algumas tendências interessantes. Por exemplo, em termos de idade, a maioria das mulheres compradoras tende a ser mais jovem que os homens. Na segunda visualização, vemos um gráfico cruzado dos diferentes tipos de oferta. É visível que as ofertas de desconto têm a maior duração e as ofertas promocionais – ao estilo “pague 1, leve 2”, chamadas de BOGO – têm a maior recompensa.

Também é possível checar quais ofertas as pessoas tendem a responder mais.


Distribuição de respostas de tipo de oferta

Distribuição de respostas de tipo de oferta

Apenas de forma descritiva, os gráficos apontam que a maioria das ofertas é enviada por e-mail e celularAs ofertas informativas também são mais raras do que os outros tipos de ofertas.

Preparação dos dados

Como em qualquer projeto, a etapa de Data Preparation é sempre muito importante e geralmente uma das mais trabalhosas. Normalmente é preciso muitas etapas para limpar e pré-processar essas informações para que se tornem utilizáveis. No caso do Starbucks, primeiro é necessário checar quais os tipos de dados serão utilizados para análise.


Amostras de linhas dos conjuntos de dados

Amostras de linhas dos conjuntos de dados

Cada dataset, ou conjunto de dados, como idade, desde quando é cliente, gênero, etc. será processado individualmente. Os passos para isso são basicamente três:

  1. Reformatar o dicionário no primeiro dataset para analisar os valores da oferta;

  2. Separar os valores do canal das listas armazenadas no segundo dataset;

  3. Formatar os dados de valor no terceiro dataset e remover as linhas com valores ausentes;

Para cada dataset, converter valores baseados em texto em colunas individuais vetorizadas one-hot.


Dados de cada usuário após a limpeza

Dados de cada usuário após a limpeza

Os dados limpos acima têm o atributo “gender” – gênero – separados em colunas diferentes e as divisões em ano, mês e dia. Finalmente, as linhas com valores ausentes são removidas. Processamento semelhante foi feito para as outras tabelas de dados.

Analisando os dados

Com os dados limpos das transações é possível se debruçar sobre as quantidades de compras diferentes por sexo. 



Analisando o primeiro gráfico, fica evidente que mulheres gastam mais do que os homens. O interessante no segundo gráfico é que há muito mais registros de compras feitas por homens do que por mulheres.

A última tabela fornece estatísticas mais detalhadas sobre quantidade, idade e renda, separadas por sexo, mostrando de forma mais clara que as mulheres gastam mais do que os homens, com média e desvio mais altos. Ao contrário do enredo inicial de dados brutos, percebemos que a idade da maioria dos compradores é semelhante para homens e mulheres. Finalmente, a maior diferença que vemos é em renda, que mostra que as mulheres que compram no Starbucks têm, em média, rendimentos maiores do que os rendimentos dos homens que compram no Starbucks.

Isso responde à primeira pergunta sobre a influência do gênero das compras. Os homens tendem a fazer mais compras e as mulheres gastam mais no Starbucks, com uma diferença média de cerca de 6 dólares por compra.

Avançando nas respostas

Agora, vamos responder à segunda pergunta: “Quantas pessoas visualizam e concluem ofertas? E quantas pessoas concluem ofertas sem abri-las primeiro?”.

Como visto antes, o conjunto de dados possui diferentes tipos de eventos associados a uma transação. Ainda usando basicamente técnicas descritivas, é possível extrair do banco de dados as informações do comportamento de cada oferta em relação a cada cliente, incluindo quando uma oferta é recebida e também visualizada e concluída.


starbucks - ofertas.png

Status das ofertas enviadas (esquerda) e número de compras feitas com uma oferta (direita)


Amostra de linhas para ofertas concluídas com 0 compras

Os três gráficos respondem a várias perguntas. No primeiro gráfico, vemos que, além dos usuários que fazem uma compra que não corresponde a uma oferta, mais pessoas concluem uma oferta sem recebê-la primeiro. No entanto, cerca de 8.000 pessoas ainda utilizam ofertas.

O segundo gráfico mostra quantas transações são feitas para concluir ofertas. Há uma clara distorção em zero transações. Além disso, a maioria das ofertas é concluída em 1 a 2 compras. Finalmente há uma amostra de linhas em que uma oferta foi concluída sem nenhuma transação. Isso mostra que o conjunto de dados pode conter registros incompletos.

Então temos resposta para a segunda pergunta: 25% das pessoas visualizam e concluem ofertas, enquanto 10% das pessoas concluem ofertas sem visualizá-las primeiro.

Modelando os Dados

Com os dados limpos é possível utilizar modelos supervisionados de Machine Learning para prever entender os fatores que mais contribuem para o nível de gasto por cada perfil de usuário.

Neste post nós fazemos um tour pelos 10 principais algoritmos de Machine Learning que você pode ler para se basear melhor. Para o caso do Starbucks é possível utilizar modelos como Support Vector Machine – SVM – e Random Forest. Após rodar a regressão nestes modelos, a melhor prática é comparar o resultado de ambos os processos fazer ajustes nos parâmetros analisados para treinar um novo modelo – por isso é chamado de aprendizado supervisionado.  Esse processo pode levar horas e exige bastante conhecimento técnico de Machine Learning e linhas de código para ser bem executado.

E, finalmente, é possível chegar a este resultado:


starbucks-ML.png

Como ficou claro, a renda e a idade são os fatores que contribuem bem mais que o sexo. 

Isso responde à terceira pergunta, sobre quais atributos mais influenciam o preço. É provável que a renda e a idade sejam os fatores de maior influência sobre o quanto um cliente gasta na Starbucks.

Essas são algumas descobertas possíveis que um profissional de Ciência de Dados pode fazer tendo em mãos bons conjuntos de dados e com habilidade e tempo para executar modelos de Aprendizado de Máquina Supervisionado. Com os dados limpos e processados, é possível utilizá-los para analisar muitas outras tendências e responder outras perguntas importantes de negócio que possam ser relevantes para tomadas de decisões estratégicas, tanto no Starbucks quanto na sua empresa.