Victor Grycajuk
2025 · Modelagem e análise de dados

Riskôinadimplência

Três modelos de classificação sobre milhões de linhas de histórico financeiro, com 85% de precisão e 82% de recall.

Distribuição de risco de inadimplência prevista pelo modelo
Finnet, 2025
Ano
2025
Função
Modelagem e análise de dados
Contexto
INTELI · parceria com a Finnet
Stack
Python · Pandas · NumPy · Jupyter

A Finnet intermedia trilhões de reais por ano em operações financeiras. Em volume dessa ordem, uma fração pequena de pagamentos não realizados já representa um número grande, e prever quais operações têm risco alto muda o que a empresa consegue fazer a respeito, porque prevenção é mais barata do que cobrança.

Os dados

Milhões de linhas de histórico financeiro, processadas com Pandas e NumPy. A maior parte do trabalho de um projeto assim não está no modelo: está em entender o que cada coluna significa, o que fazer com o que falta e como montar as variáveis que efetivamente carregam sinal.

Os modelos

Treinamos três classificadores e comparamos:

  • Decision Tree: a linha de base interpretável. Se um modelo mais complexo não bate o Decision Tree por uma margem que justifique perder a interpretabilidade, ele não vale a troca.
  • Random Forest: muitas árvores votando, o que reduz o sobreajuste de uma só.
  • Gradient Boosting (GBoost): árvores em sequência, cada uma corrigindo o erro da anterior.

O que foi para a entrega foi o Random Forest, e ele não responde só se vai ter calote ou não. Classifica cada cobrança entre em dia, com atraso e inadimplente. Essa divisão em três é a que o gestor de contas a receber usa na prática, porque atraso e calote pedem ações de cobrança diferentes, um modelo binário obriga a tratar os dois do mesmo jeito.

Resultado: 85% de precisão e 82% de recall.

O modelo treinado ficou servido num dashboard em Streamlit, para a pessoa de negócio conseguir olhar sem precisar abrir notebook.

Por que os dois números importam

Em previsão de inadimplência, precisão e recall medem coisas diferentes. Precisão alta significa que quando o modelo aponta risco, ele costuma estar certo, o que evita tratar cliente adimplente como suspeito. Recall alto significa que ele deixa escapar poucos casos reais de inadimplência.

Otimizar só um deles é fácil: um modelo que classifica tudo como risco tem recall de 100% e precisão igual à taxa de inadimplência da base. Os dois acima de 80% ao mesmo tempo é o que torna o resultado utilizável.

Modelo 3D

Modelo de demonstração

Registro visual

No vídeo

Demonstração do Riskô para a Finnet.

Próximo projeto ECU V3 - SMD