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.
Modelo | Precision at k | Recal at k |
---|---|---|
LightGBM Classifier | 0,3026 +/ -0,0021 | 0,863 +/- 0,0059 |
CatBoost Classifier | 0,3014 +/- 0,0022 | 0,8605 +/- 0,0063 |
XGBoost Classifier | 0,3012 +/- 0,0022 | 0,8597 +/- 0,0064 |
Random Forest Classifier | 0,286 9+/- 0,0026 | 0,8189 +/- 0,0074 |
KNeighbors Classifier | 0,2794 +/- 0,0019 | 0,7975 +/- 0,0056 |
Logistic Regression | 0,275 +/- 0,002 | 0,785 +/- 0,0057 |
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.

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“.

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

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)