O Telecom X2 é um projeto de Data Science aplicado à previsão de evasão de clientes. A solução organiza a preparação da base, treina modelos supervisionados, compara métricas orientadas ao problema de negócio e transforma os resultados em um painel executivo interativo para priorização de ações de retenção.
A entrega preserva o notebook original como trilha pedagógica e adiciona uma camada de produto analítico inspirada no padrão do projeto Alura Store. O código modular, o dashboard e os artefatos exportados usam o mesmo pipeline, evitando que a documentação apresente números diferentes da aplicação.
| Entrega | Público | Acesso |
|---|---|---|
| Painel executivo interativo em Streamlit | Lideranças, Customer Success e stakeholders | streamlit run app.py |
| Relatório técnico completo | Tech Leads, recrutadores e pessoas de Data Science | docs/relatorio_tecnico.md |
| Notebook de exploração e aprendizagem | Estudo, Google Colab e rastreabilidade | Challenge3_dataScience_TelecomX2.ipynb |
| Artefatos reproduzidos | Auditoria, QA e análises posteriores | artifacts/ |
| Testes automatizados | Manutenção e garantia de qualidade | tests/test_pipeline.py |
A base possui 7.043 registros originais. A auditoria encontrou 22 duplicidades exatas, removidas antes da modelagem, resultando em 7.021 clientes analíticos. Não foram encontrados valores ausentes no arquivo atual. A taxa de churn é de 26,45%, justificando o uso de métricas além da acurácia.
| Modelo | Acurácia | Precisão | Recall | F1 | AUC-ROC |
|---|---|---|---|---|---|
| Regressão Logística | 75,13% | 52,02% | 76,12% | 61,81% | 0,835 |
| Random Forest | 78,36% | 58,24% | 64,09% | 61,03% | 0,824 |
A Regressão Logística foi selecionada porque o objetivo de retenção prioriza capturar clientes em risco, reduzindo falsos negativos. Essa escolha não elimina a necessidade de validação humana nem representa causalidade entre as variáveis e o cancelamento.
O aplicativo está em app.py e oferece cinco perspectivas. A visão executiva apresenta KPIs, composição da carteira e comparação dos modelos. A seção de qualidade explica duplicidades, nulos, linhas de treino e teste. A análise de coortes permite investigar churn por contrato, serviços, meses de permanência e faixas de gasto. A área de modelos apresenta validação cruzada, matriz de confusão e interpretabilidade. O simulador educativo demonstra o score sem utilizar identificação pessoal e sem tomar decisões automáticas.
O painel oferece suporte a PT-BR e EN, usa Plotly para gráficos interativos e mantém a identidade visual terrosa do projeto de referência. O score deve ser utilizado apenas para priorizar investigação e relacionamento, com abordagem proporcional e aderente à LGPD.
| Camada | Tecnologias |
|---|---|
| Linguagem e dados | Python, Pandas, NumPy |
| Pré-processamento | ColumnTransformer, imputação, One-Hot Encoding e MinMaxScaler |
| Balanceamento | SMOTE aplicado somente no pipeline de treino |
| Modelagem | Regressão Logística e Random Forest |
| Avaliação | Acurácia, precisão, recall, F1, AUC-ROC, Average Precision e validação cruzada estratificada |
| Visualização | Plotly, Matplotlib e Seaborn |
| Produto analítico | Streamlit |
| Qualidade | Pytest, artefatos JSON/CSV e auditoria de hardcoding |
| Prototipagem | Google Colab e Jupyter Notebook |
telecomx2/
├── app.py # Dashboard Streamlit
├── dados_tratados.csv # Dataset versionado do desafio
├── Challenge3_dataScience_TelecomX2.ipynb # Trilha pedagógica original
├── src/telecomx2/pipeline.py # Limpeza, modelagem e avaliação
├── scripts_run_analysis.py # Execução e exportação de artefatos
├── artifacts/ # Métricas, resumo e importâncias
├── docs/relatorio_tecnico.md # Deep dive técnico e executivo
├── tests/test_pipeline.py # Testes automatizados
└── requirements.txt # Dependências compatíveis
Clone o repositório, crie um ambiente virtual, instale as dependências e execute o pipeline antes de abrir o dashboard:
git clone https://github.com/lidimoura/challenge3-data-science-TelecomX2.git
cd challenge3-data-science-TelecomX2
python -m venv .venv
source .venv/bin/activate # Windows: .venv\\Scripts\\activate
pip install -r requirements.txt
PYTHONPATH=src python scripts_run_analysis.py
streamlit run app.pyPara rodar a suíte de testes:
PYTHONPATH=src pytest -qO comando de análise gera artifacts/model_metrics.csv, artifacts/analysis_summary.json, os rankings de variáveis e artifacts/dataset_modelado.csv. Nenhuma chave, senha, token ou credencial é necessária para executar a análise local.
A solução não inclui credenciais hardcoded, não envia dados para serviços externos e não coleta PII no dashboard. A base atual não contém identificador pessoal. Em uma integração futura, o score deverá ser combinado com RBAC, políticas de retenção, minimização de dados, trilhas de auditoria e revisão humana. O modelo não deve negar serviço, alterar preço ou conceder tratamento desigual sem uma política validada e explicável.
Lídi Moura é Especialista em Data Science e IA, Arquiteta de Soluções, parceira certificada Kommo e fundadora do Encontro d'água hub. Seu trabalho combina análise de dados, comportamento humano, UX e desenvolvimento AI-Native para criar tecnologias acessíveis e orientadas a impacto.
GitHub · LinkedIn · Portfólio Hub d'água
Transparência e Vibe Coding. A análise, a lógica de programação, a modelagem e as recomendações estratégicas são de autoria de Lídi Moura. A estruturação do dashboard, a revisão técnica e a organização documental foram aceleradas com auxílio de Inteligência Artificial, com validação por testes e artefatos reproduzíveis.