Skip to content

CarolineOlive/Challenge_DataScience

Repository files navigation

Challenge_DataScience

Projeto Predição de Churn | Alura Voz

O projeto foi desenvolvido utilizando linguagem Python no jupyter notebook do Google Colab. O python possui um série de bibliotecas que nos auxiliam na construção das análises e modelagem dos dados. Neste projeto, foram utilizadas as seguintes:
  • pandas
  • pandas profiling (gera um relatório interativo - ProfileReport - com análise exploratória dos dados, tipos de variáveis, alertas de correlação e dependência, entre outras informações)
  • numpy
  • matplotlib
  • seaborn
  • scikit-learn
  • imbalanced-learn

    🪧 Vitrine.Dev
    ✨ Nome Projeto Predição de Churn
    🏷️ Tecnologias python, pandas, pandas profililing, sklearn, imbalanced-learn
    🚀 URL https://github.com/CarolineOlive/Challenge_DataScience
    🔥 Desafio

    projeto_final_challenge1

    Contextualização

      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.

    Objetivo

      Identificar clientes que teriam uma maior chance de deixar a empresa investigando algumas características de clientes e/ou dos planos por eles adquiridos.

    Conclusão

      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.

    Etapas | Resumo

    infográfico em desenvolvimento


    Dados

      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:

      • 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
      Serviço de telefonia
      • tenure: meses de contrato do cliente
      • PhoneService: assinatura de serviço telefônico
      • MultipleLines: assisnatura de mais de uma linha de telefone
      Serviço de internet
      • 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
      Contrato
      • 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