Aplicando Modelos de Machine Learning para Cross Sell

No mundo competitivo das seguradoras, a Soter Insurance, uma empresa indiana fictícia especializada em seguros de saúde, planeja lançar um novo produto: o seguro automotivo. Esse artigo detalha o desenvolvimento de uma solução baseada em Machine Learning para otimizar o trabalho do time de vendas, priorizando clientes com maior probabilidade de interesse.

Se quiser saber todos os detalhes, com todos os arquivos e códigos desenvolvidos nesse projeto, no final desse artigo deixo o link do meu GitHub.

Contexto e Objetivo do Projeto

A Soter Insurance está explorando a possibilidade de oferecer seguros automotivos aos seus clientes de seguros de saúde. Para entender o interesse dos clientes, a empresa realizou uma pesquisa e armazenou as respostas em um banco de dados.

Agora, a Soter deseja lançar uma campanha de vendas direcionada para 100 mil clientes que não responderam à pesquisa. Com uma capacidade limitada de 20 mil ligações, a prioridade é maximizar os resultados focando nos clientes mais propensos a aderir ao seguro automotivo.

E a principal pergunta é: Qual o percentual de clientes interessados que podemos alcançar com as 20 mil ligações, se priorizarmos aqueles com maior probabilidade de interesse?

Dados Utilizados

Para realizar a previsão, foram utilizados dados demográficos, características dos veículos e informações de apólices, além da resposta dos clientes sobre o interesse no novo seguro.

Planejamento e Desenvolvimento

O objetivo final é gerar uma lista ranqueada dos clientes com maior propensão de contratação, para isso o projeto foi estruturado em diversas etapas:

1. Entendimento do Problema

Foi essencial entender a relevância da previsão para o time de vendas, visando um aumento na adesão ao novo seguro automotivo.

2. Coleta e Limpeza dos Dados

Os dados foram coletados da plataforma Kaggle e passaram por processos de limpeza e renomeação de colunas.

3. Análise Exploratória de Dados (EDA)

Com a EDA, foram identificados padrões e insights para selecionar as melhores features para o modelo, como idade e características do veículo. Para mais detalhes acesse o link no final do artigo.

A análise exploratória revelou alguns insights valiosos:

  • Idade: Clientes entre 40 e 50 anos mostraram maior propensão ao seguro automotivo.
  • Dano no Veículo: Clientes com histórico de dano tendem a contratar o seguro.
  • Idade do Veículo: Veículos entre 1 e 2 anos têm maior taxa de adesão.

4. Engenharia de Features e Seleção de Variáveis

Foram criadas e transformadas variáveis para facilitar o treinamento dos modelos de Machine Learning, com técnicas como normalização e encoding. Algoritmos como Boruta e ExtraTree foram aplicados para escolher as features mais relevantes.

5. Modelagem com Machine Learning

Na etapa de treinamento diversos modelos foram testados e avaliados, entre eles:

  • LightGBM (modelo escolhido)
  • CatBoost
  • XGBoost
  • Random Forest
  • K-Nearest Neighbors (KNN)
  • Regressão Logística

As métricas para análise da performance escolhidas foram a Precision at k e Recall at k, pois estamos lidando com o um problema de classificação.

ModeloPrecision at kRecal at k
LightGBM Classifier0,3026 +/ -0,00210,863 +/- 0,0059
CatBoost Classifier0,3014 +/- 0,00220,8605 +/- 0,0063
XGBoost Classifier0,3012 +/- 0,00220,8597 +/- 0,0064
Random Forest Classifier0,286 9+/- 0,00260,8189 +/- 0,0074
KNeighbors Classifier0,2794 +/- 0,00190,7975 +/- 0,0056
Logistic Regression0,275 +/- 0,0020,785 +/- 0,0057
Tabela 1: Performance dos modelos em ordem crescente

Após o ajuste dos hiperparâmetros com Random Search, o LightGBM se destacou, com alta velocidade de treinamento e métricas de performance (Precision at k e Recall at k) superiores.

O que são Precision at k e Recall at k ?

  • Precision at k: dentre k classificações de classe Positivo que o modelo fez, quantas estão corretas, ou seja, quantas realmente eram positivas.
  • Recall at k: porcentagem de classificações de classe Positivo em k previsões que o modelo fez, em relação ao total de classificações positivas.

6. Resultados e Métricas de Avaliação

Devido à restrição de negócio, o valor de k foi definido como 20.000. Embora o valor de Precision at k (35,36%) possa parecer baixo à primeira vista – indicando que apenas 35,36% das predições feitas realmente são positivas – o foco principal é priorizar clientes com maior propensão.

Isso é melhor refletido pelo Recall at k, que mostra que, com os 20 mil contatos realizados, conseguimos alcançar 60,56% de todos os clientes interessados no seguro.

No gráfico de Curva de Ganhos Cumulativos abaixo, que indica a porcentagem da classe positiva em relação a porcentagem dos dados. Podemos ver que, com 20% dos clientes contatados o retorno positivo é de cerca de 60%, e se chegarmos a 40% dos clientes ranqueados, já alcançamos por volta de 90% dos interessados.

Gráfico de Curva de Ganhos Cumulativos mostrando quantos clientes são alcançados por porcentagem de amostras

Resultados Financeiros

Estima-se que o modelo de Machine Learning alcance 7.071 clientes interessados, gerando uma receita anual de ₹223,932,417.40. Comparativamente, um modelo aleatório atingiria apenas 2.451 clientes interessados (₹77,627,439.16).

A solução de Machine Learning, portanto, projeta um aumento de receita de 288%.

Produto Entregue

Para facilitar o acesso à lista ranqueada e agilizar o trabalho do time de vendas no contato com os clientes, foi desenvolvida uma planilha no Google Sheets. Com os dados de cada cliente inseridos, a previsão de propensão pode ser gerada ao clicar no botão “Propensity Prediction” na barra de menu e, em seguida, em “Get Prediction“.

Imagem de planilha do Google Sheets mostrando o botão criado
Botão gerado através de código em Apps Scripts

Assim, os clientes serão automaticamente classificados de acordo com seu score de propensão.

Planilha com informações dos clientes e score para ranqueamento
Clientes ranqueados pelo Score gerado pelo modelo hospedado na Cloud Render

Com uma lista priorizada dos clientes com maior propensão, a Soter Insurance poderá otimizar sua campanha de vendas, maximizando o retorno com apenas 20 mil ligações. Este projeto não apenas amplia o potencial de receita, mas também gerá insights para decisões futuras, mostrando como a ciência de dados e o machine learning são poderosos aliados nas estratégias de expansão do mercado de seguros.

Para conferir o projeto completo, com todos os dados e arquivos de códigos desenvolvidos, é só acessar meu GitHub clicando aqui.

Ferramentas Utilizadas

  • Python 3.8.12
  • Pandas, Seaborn, Matplotlib e Sklearn
  • Flask e Python API’s
  • Git e Render
  • Boruta
  • Algoritmos de Classificação (k-Nearest Neighbors, Regressão Logística, Random Forest, ExtraTree, XGBoost, LightGBM e CatBoost)
  • Cross-Validation, Hyperparameter Optimization
  • Métricas de Performance (Precision at k, Recall at k)

Deixe um comentário

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

Rolar para cima