🪧 Vitrine.Dev | |
---|---|
✨ Nome | Projeto Predição de Churn |
🏷️ Tecnologias | python, pandas, pandas profililing, sklearn, imbalanced-learn |
🚀 URL | https://github.com/CarolineOlive/Challenge_DataScience |
🔥 Desafio |
A operadora de telecomunicações Alura Voz necessita de uma análise para a área de vendas da empresa, com o objetivo de reduzir a Taxa de Evasão de Clientes, conhecido como Churn Rate (taxa de saída dos clientes). Basicamente, o Churn Rate indica o quanto a empresa perdeu de receita ou clientes em um período de tempo.
. : O github não suporta o relatótio interativo carregado diretamente no notebook. Por isso os relatório foram salvos em formato .html e disponibilizados em uma pasta no drive.
Identificar clientes que teriam uma maior chance de deixar a empresa investigando algumas características de clientes e/ou dos planos por eles adquiridos.
Em uma perspectiva de retenção de clientes, é interessante conseguir prever aqueles com maior potencial de evasão. Sendo assim, o melhor modelo é aquele que possui maior taxa de acerto para churn (True positive ou verdadeiro positivo). Isso se deve ao fato de que, da perspectiva de negócio, é mais fácil e mais barato manter um cliente do que conseguir novos clientes.
Sendo assim, optei por dar maior peso, ou seja, considerar como melhor modelo, aquele que retornou a menor quantidade de falsos negativos, modelo Decision Tree Classifier.
O modelo foi testado com a base de dados balanceado utilizando 3 abordagens, over-sampling, under-sampling e SMOTE.
A melhor performance se deu aplicando o SMOTE. Apesar do valor baixo para a precisão da variável 1 (churn), o recall melhorou muito, comparado com o resultado obtido com a base sem balanceamento, apresentando o menor número de falsos-positivos dentre as abordagens de balanceamento dos dados e redução dos falsos-negativos.
Adicionalmente, optei por teste o modelo com os dados de clientes que estavam sem informações de churn na base de dados, fornecendo um lista de cliente e suas probabilidades de churn.
Aplicando o modelo, 88 cliente foram classificados como churn e 136 como não prováveis de churn. A lista de clientes e probabilidades de churn foi disponibilizada para a empresa.
infográfico em desenvolvimento
- gender: gênero (masculino e feminino)
- SeniorCitizen: informação sobre um cliente ter ou não idade igual ou maior que 65 anos
- Partner: se o cliente possui ou não um parceiro ou parceira
- Dependents: se o cliente possui ou não dependentes
- tenure: meses de contrato do cliente
- PhoneService: assinatura de serviço telefônico
- MultipleLines: assisnatura de mais de uma linha de telefone
- InternetService: assinatura de um provedor internet
- OnlineSecurity: assinatura adicional de segurança online
- OnlineBackup: assinatura adicional de backup online
- DeviceProtection: assinatura adicional de proteção no dispositivo
- TechSupport: assinatura adicional de suporte técnico, menos tempo de espera
- StreamingTV: assinatura de TV a cabo
- StreamingMovies: assinatura de streaming de filmes
- Contract: tipo de contrato
- PaperlessBilling: se o cliente prefere receber online a fatura
- PaymentMethod: forma de pagamento
- Charges.Monthly: total de todos os serviços do cliente por mês
- Charges.Total: total gasto pelo cliente
O conjunto de dados disponibilizado via API foi tratado com foco na otimização de cada um dos modelos com a finalidade de obter o melhor resultado para a tomada de decisão da Alura Voz.
dados: https://raw.githubusercontent.com/sthemonica/alura-voz/main/Dados/Telco-Customer-Churn.json
Uma forma de pré-visualizar os dados contidos em uma json é utilizar a ferramenta online Code Beautify. Por meio dela é possível visualizar os níveis contidos no JSON.
A base de dados possui o número de identificação do cliente e se o cliente deixou ou não a empresa, e ainda, informações sobre:
Cliente: