Sobre Mim Projetos Artigos Experiência Formação Contato
Currículo PDF Mudar para Inglês 🇺🇸
Voltar para Projetos
DATA SCIENCE FINANCIAL BI RISK & COMPLIANCE

Previsão de Evasão Bancária com IA: Machine Learning e Proteção de Receita no Power BI

Como estruturei um modelo preditivo de Random Forest em Python para mitigar Churn bancário, traduzindo dados matemáticos complexos em um Painel Executivo bilíngue no Power BI com foco na proteção da DRE.

Mar 2026 14 min de leitura Python, DAX, Machine Learning, Power BI

Painel Preditivo: Bank Churn Prediction & Risk Clusters

Base: Modelo ML (Random Forest)
Relatório Interativo Bilíngue Dados Fictícios Anonimizados (LGPD)
Predictive Analytics © 2026

Tech Stack Utilizada neste Projeto

Machine Learning (Random Forest)
Python (Pandas, Scikit-Learn)
Power BI (Data Viz)
DAX Avançado
Governança & Direito Empresarial

1. Contexto do Projeto

No setor bancário competitivo, a evasão de clientes (churn) atua como um dreno silencioso na rentabilidade. Instituições financeiras frequentemente operam sob uma mentalidade reativa — acionando a equipe de retenção apenas quando o cliente já solicitou o encerramento da conta, momento em que a decisão é quase irreversível e o custo operacional é altíssimo.

O problema central enfrentado era a ausência de visibilidade preditiva. Os relatórios legados limitavam-se à estatística descritiva (quem já havia cancelado), impedindo a identificação de clientes sob risco iminente. Consequentemente, campanhas de cross-sell e ligações de retenção eram disparadas de forma generalizada, inflando o Custo de Aquisição/Retenção de Clientes (CAC/CRC) e falhando em proteger a receita proveniente das contas mais estratégicas para a DRE da instituição.

2. Objetivos Estratégicos

O desenho desta solução não se limitou ao treinamento de algoritmos; ele exigiu a tradução de outputs matemáticos complexos em métricas executivas de balanço:

  • Inteligência Preditiva (ML): Substituir o achismo comercial por um modelo estatístico capaz de mapear o comportamento de 10.000 correntistas e inferir a probabilidade exata de churn de cada indivíduo ativo.
  • Proteção de Receita (Financeiro): Calcular e expor a métrica de Estimated Revenue at Risk no Power BI, tangibilizando para o CFO o montante exato de caixa (em R$) que está na iminência de ser perdido.
  • Direcionamento Tático: Entregar à operação uma matriz diária e acionável (*Actionable Risk List*), ordenando as abordagens de telemarketing com base no risco estatístico de cada CPF.

3. O Motor de Inteligência: Python & Machine Learning

A base de dados transacional bruta compreendia 10.000 registros históricos, abrigando atributos demográficos (Idade, Geografia, Gênero) e métricas de relacionamento bancário (Saldo, Produtos Contratados, Score de Crédito, Status de Membro Ativo).

Exploração e Engenharia de Features (EDA/ETL): O tratamento de dados foi conduzido em ambiente Python, garantindo a integridade analítica. Durante a Análise Exploratória, identifiquei um severo desbalanceamento de classes nativo do problema: a taxa histórica de churn estacionava na casa dos 20%. Para o treinamento, realizei One-Hot Encoding em variáveis categóricas espaciais e ponderei os vetores de magnitude financeira.

A escolha metodológica do algoritmo recaiu sobre o Random Forest Classifier. Como um método de ensemble ancorado em árvores de decisão, ele lida excepcionalmente bem com limites não-lineares — essencial para capturar o fato de que um cliente com 4 produtos não é "mais fiel" que um com 2 produtos, mas sim mais sobrecarregado (relação não-linear).

Python
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report, roc_auc_score

# 1. Carregamento e Pré-processamento Categórico
df = pd.read_csv('bank_customers.csv')
df = pd.get_dummies(df, columns=['Geography', 'Gender'], drop_first=True)

X = df.drop(['Churn', 'CustomerId', 'Surname'], axis=1)
y = df['Churn']

# 2. Divisão de Treino e Teste com Estratificação
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.25, stratify=y, random_state=42
)

# 3. Treinamento: Mitigando o desbalanceamento de Churn com class_weight
# O parâmetro 'balanced' força o algoritmo a penalizar severamente Falsos Negativos
rf_model = RandomForestClassifier(
    n_estimators=200, 
    max_depth=12, 
    class_weight='balanced', 
    random_state=42
)
rf_model.fit(X_train, y_train)

# 4. Avaliação do Modelo 
y_pred = rf_model.predict(X_test)
y_proba = rf_model.predict_proba(X_test)[:, 1]
print(f"ROC-AUC Score: {roc_auc_score(y_test, y_proba):.4f}")
print(classification_report(y_test, y_pred))

# 5. Aplicação do Threshold Estratégico (30%) e Enriquecimento da Base
df['Probabilidade_Churn'] = rf_model.predict_proba(X)[:, 1]

# Calibragem Executiva: Em vez de assumir propensão apenas em > 50%, 
# forçamos o sinal de alerta precoce em >= 30% para atuação comercial tempestiva.
df['Risco_Identificado'] = np.where(df['Probabilidade_Churn'] >= 0.30, 1, 0)

# Exportação do Dataset Preditivo final para ingestão no Power BI
df.to_csv('Treated_Bank_Churn_For_PBI.csv', index=False)

Calibragem de Risco: Como detalhado no bloco de código, a calibração do Limiar de Decisão (Threshold) para 30% foi uma intervenção executiva deliberada. Maximizar o Recall do modelo — englobando mais clientes na zona de alerta primária — foi priorizado estatisticamente, assegurando tempo hábil para a equipe comercial atuar antes que a decisão de cancelamento torne-se efetiva.

4. Arquitetura Analítica e DAX Avançado no Power BI

Toda a matemática preditiva processada em Python foi canalizada para um Painel Executivo bilíngue no Power BI, focado na interatividade C-Level e em Data Storytelling:

  • Diagnóstico Histórico: Uma página retroativa provando a correlação empírica do engajamento com o churn, evidenciando à diretoria que clientes com status inativo apresentam evasão majoritariamente superior.
  • Customer Risk Matrix (Dispersão Complexa): Empreguei engenharia visual avançada no Power BI, fixando os eixos categóricos com funções AVERAGE() para contornar sobreposições. Com a aplicação de opacidade e métricas de tamanho condicionadas à Probabilidade do Random Forest, criei um autêntico "Mapa de Calor" denso e inteligível, destacando perfeitamente a letalidade nas extremidades de produtos bancários ofertados.
  • Risk Funnel (Funil de Probabilidade): Classificação em tempo real codificada via DAX, segregando o portfólio preditivamente em "Safe", "Warning" e "Critical".
DAX
// O DAX consome o output matemático do Python para gerar agrupamento semântico bilíngue
Risk Level | Nível de Risco = 
SWITCH(
    TRUE(),
    'Treated_Bank_Churn_For_PBI'[Probabilidade_Churn] >= 0.70, "🔴 1. Critical | Crítico (>70%)",
    'Treated_Bank_Churn_For_PBI'[Probabilidade_Churn] >= 0.30, "🟡 2. Warning | Alerta (30% - 70%)",
    "🟢 3. Safe | Seguro (<30%)"
)

Perspectivas Integradas

5. Padrões Comportamentais Ocultos

A Feature Importance aliada à plotagem de dispersão evidenciou os fenômenos que o olhar humano ignorava:

A Armadilha Operacional: A modelagem revelou um forte cluster crítico em clientes concentrados na base da Alemanha, com Idade em torno de 45 a 60 anos, e com exclusividade em um único produto da cesta de serviços. A Zona Segura: Surpreendentemente, a migração para a posse de exatos "2 produtos bancários" confere ao banco uma massiva ancoragem de relacionamento (retenção radical), independentemente da volatilidade do saldo em conta.

6. Impacto na DRE Contábil

Como especialista em Contabilidade Gerencial, atesto que o valor final de uma Inteligência Artificial corporativa não reside no seu Accuracy Score, mas no alinhamento que promove no balanço patrimonial.

O modelo aferiu visualmente um teto crítico de R$ 188 Milhões mensurados como Receita Estimada em Risco. Monitorar esta proxy antecipa provisões e possibilita proteger sistematicamente o Lucro Líquido final. Reduzir a perda marginal mapeada custa imensuravelmente menos que os esforços de captura de novos clientes via mídia de performance.

7. Governança, Risco e Compliance (LGPD)

A inferência automatizada do comportamento do correntista esbarra em restrições constitucionais e ditames rigorosos do BACEN e da LGPD (Lei Geral de Proteção de Dados). A modelagem rejeita proativamente características excessivamente invasivas e preconceituosas na geração do score, garantindo que o tratamento em tempo real dos fluxos transacionais siga anonimizado.

Nota de Disclaimer Analítico: O desenvolvimento desta predição enquadra-se no rigoroso campo de Legal Analytics e mitigação de risco operacional fiduciário. Estas avaliações expõem métodos gerenciais baseados em dados aplicados, não equivalendo nem substituindo emissão de parecer jurídico.

8. Qualidade dos Dados

O dataset apresentou excelente robustez demográfica. Contudo, uma limitação inerente a cenários estáticos é a ausência do Timestamp transacional (frequência de logins diários do cliente no *app*). A inatividade, parametrizada de forma binária na coluna IsActiveMember, confirmou-se altamente preditiva; em futuras reestruturações tecnológicas, a inclusão de fluxos logísticos de API em tempo real conferiria ao modelo uma granularidade milimétrica para a emissão dos alertas no Painel Preditivo.

9. Resultados e Recomendações Estratégicas

O projeto consolidou frentes de ação comercial capazes de reverter o fluxo de perda financeira em curso:

Inativação de Risco

Execução de esteiras de automação (gamificação, limite emergencial gratuito provisório) voltadas primordialmente ao engajamento de contas estacionadas com o atributo "Inativo" e Caixa Zerado.

Cross-Sell como Retenção

Realocação do orçamento de mídia para o Cluster de 1 Produto. O objetivo tático não é vender o produto mais caro, e sim subsidiar o 2º produto, induzindo a ancoragem psicológica comprovada estatisticamente pelo modelo.

10. Conclusão do Case

Este painel de Machine Learning transcende a estética tradicional de um Dashboard. O desenvolvimento via código limpo em Python acoplado à elasticidade analítica do Power BI prova que a verdadeira senioridade reside na tradutibilidade das equações de Inteligência Artificial para a sustentação do DRE empresarial.

Unificando Data Science, modelagem de dados preditiva e o embasamento crítico amadurecido em meus mais de 15 anos de vivência em Contabilidade e Direito Corporativo, o projeto converteu um arquivo estático de "clientes cancelados" em uma ferramenta proativa de defesa de capital líquido.

Gostou da profundidade analítica deste projeto?

Compartilhe este case de Inteligência Artificial e Modelagem Corporativa com sua rede profissional.

Sua organização precisa alinhar Modelos de Dados, Finanças e Direito Empresarial de forma eficaz?

Falar com Darlan