Investigação das features preditoras de inadimplência

Feature engineering começa muito antes do primeiro fit(). Começa perguntando, coluna a coluna: esta variável tem relação com o alvo, e eu teria acesso a ela no instante da decisão? Só passa quem responde sim às duas.

Os candidatos

  • 💰 Renda mensal e dependentes — capacidade de pagamento
  • 📈 Uso do limite rotativo — quanto do crédito disponível já está consumido
  • ⚖️ Razão dívida/renda — comprometimento atual
  • 🏦 Linhas de crédito abertas e financiamentos imobiliários — exposição total
  • Histórico de atrasos em três faixas: 30–59, 60–89 e 90+ dias
  • 🎂 Idade

O histórico de atraso domina — e isso é esperado

Um resultado que só apareceu na modelagem, mas vale adiantar porque confirma a intuição de crédito: quando limitei uma árvore a três níveis, ela usou apenas 3 das 16 features disponíveis. E a distribuição de importância foi brutal:

FeatureImportância
atrasos_90_mais_dias0,713
uso_limite_rotativo0,153
atrasos_60_89_dias0,134

Comportamento passado de pagamento explica mais que renda, idade ou número de dependentes. Faz sentido: renda diz o que a pessoa pode pagar; histórico diz o que ela costuma pagar.

Duas features criadas de uma conta simples

Nem toda feature nova precisa de sofisticação. Duas razões básicas capturam o que as colunas brutas não dizem sozinhas:

renda_por_pessoa = renda / (dependentes + 1)
sobra_de_caixa   = renda × (1 − razao_divida)

Uma renda de R$ 6.000 significa coisas completamente diferentes para quem mora sozinho e para quem sustenta quatro pessoas. E renda alta com dívida alta não é folga. As duas features tornam explícito o que o modelo teria que descobrir sozinho por interação — e em modelos interpretáveis, explícito é melhor.

💡

Feature engineering não é criar colunas. É decidir o que cada coluna tem permissão de significar — e garantir que o modelo só veja o que a operação veria na hora de decidir.

📊

Parte 4 de 12 da série Aurora — um modelo de risco de crédito do zero ao deploy. O mapa completo da série reúne todas as partes e os números finais. Veja também a documentação técnica e o código no GitHub ↗.