Se você já pensou sobre as bases dos modelos de otimização e da programação matemática, pode ter notado que elas geralmente estão encobertas por uma terminologia complexa. É essencial explicá-las para compreender a essência desses conceitos. Felizmente, você está no lugar certo.

No vasto campo da Ciência de Dados e do Aprendizado de Máquina, poucos eventos captam tão bem a essência do setor quanto o DS & ML Meetup do Nubank. A edição 82, realizada em 26 de julho, teve um destaque importante, com o tema “Modelos de otimização: programação matemática na prática” e a especialista Luiza Biasoto, que nos orientou a respeito desse assunto complexo.

Na conversa intermediada por Lucas Farias, Cientista de Dados Sênior do Nubank, Biasoto falou sobre:

  • as bases dos modelos de otimização e da programação matemática;
  • um estudo de caso fictício sobre crédito parcelado, para ilustrar o assunto em um cenário do mundo real;
  • modelagem e interpretação de resultados;
  • e as vantagens da otimização.

Tem interesse? Continue lendo o artigo abaixo!

Compreender o poder da otimização

Hoje, os dados não são apenas números. Eles são o catalisador que move as decisões e tendências de previsão e cria modelos de negócios sustentáveis. A otimização, que é o processo de fazer o melhor uso dos recursos disponíveis, está no centro dessa revolução de dados.

Isso não está mais limitado a complexas discussões acadêmicas. A otimização se tornou uma solução do mundo real para muitos desafios de negócios, especialmente em finanças.

Nossa palestrante oficial nesse evento, Luiza Biasoto, Chefe de Ciência de Dados no Nubank, é especialista no campo de programação matemática, com experiência em engenharia de software, estratégia de crédito, ciência de dados e pesquisa de operações.

Com um histórico acadêmico impressionante, formada em Engenharia Química pela Poli-USP, onde está obtendo um Mestrado em Engenharia da Computação, além de um MBA em Tecnologia de Software, Luiza defende a integração da programação matemática em vários modelos de negócios.

Sendo uma referência no setor fintech, o Nubank tem o compromisso louvável de utilizar os pontos fortes da Ciência de Dados e do Aprendizado de Máquina. Em uma era dominada pelas interações digitais, acompanhar transações financeiras, prever as preferências dos clientes e identificar riscos em potencial usando modelos matemáticos avançados não são apenas estratégias, mas uma necessidade imperativa.

O valor da otimização está na sua capacidade de transformar grandes quantidades de dados em estratégias práticas e informadas. A transição de sistemas tradicionais para modelos focados em otimização dinâmica requer uma compreensão profunda das ferramentas e plataformas. De linguagens de programação populares como C#, Java ou Python a plataformas dedicadas como Pyomo, existe um amplo conjunto de recursos para suportar essa mudança.

Criar um modelo de otimização é uma combinação harmoniosa de habilidade matemática e um bom tino comercial. Isso é mais do que um conjunto de fórmulas. Isso envolve assimilar os objetivos de negócios, integrar limites e projetar meticulosamente as soluções. Das sutilezas da tomada de decisão no domínio expansivo do crédito, passando pelas inúmeras variáveis e soluções, até o equilíbrio delicado entre risco e recompensa, a construção de modelos é uma dança complexa.

Conheça nossas oportunidades

Estudo de caso de crédito parcelado

Para tornar nossa jornada mais tangível, Luiza apresentou um caso de uso fictício, relacionado ao crédito de financiamento para veículos. Nesse cenário, um cliente visita uma concessionária de automóveis, manifesta o desejo de financiar um veículo e aguarda a aprovação ou rejeição do banco, com base em um conjunto específico de regras de crédito.

Não é uma tarefa fácil navegar pelo cenário complexo do risco de crédito, taxas de juros e aprovação de empréstimos. As instituições financeiras muitas vezes usam políticas de crédito bem estruturadas para garantir o equilíbrio correto entre a satisfação do cliente e a minimização do risco. 

O cenário

Imagine uma matriz simples, que faz referências cruzadas entre o risco do cliente, os termos do empréstimo (número de parcelas) e as entradas. Cada célula dessa matriz representa a entrada mínima para que uma proposta de empréstimo seja aprovada.

Por exemplo, um cliente com Risco B que propusesse um empréstimo com 60 parcelas e 10% de entrada seria recusado, pois a política exige uma entrada de 20% para esse cenário específico.

É essencial compreender que essas políticas não são imutáveis. Dependendo do ambiente econômico e da estratégia da instituição financeira, essas políticas podem evoluir.

O objetivo principal é maximizar o valor do empréstimo aprovado, sem ultrapassar o apetite do banco pelo risco, ou em termos mais simples, a taxa potencial de inadimplência dos clientes aprovados. No nosso exemplo, discutimos a maximização do valor aprovado, mas isso pode ser substituído por qualquer indicador de lucratividade relevante, dependendo do setor do negócio.

O processo

Para fazer ajustes finos ou modificações em uma política de crédito, as instituições seguem um fluxo padrão:

  • Análise de base: compreender a política atual (linha de base) e identificar as possíveis desvantagens.
  • Simulação inicial: usando dados históricos de propostas (dos últimos 3 a 6 meses, ou qualquer período com dados suficientes), simular os resultados da política de linha de base.
  • Análise de cenário: usar ferramentas (como o Excel) para dividir os dados – o risco do cliente nas linhas, as parcelas em colunas, e então revisar cada célula para entender sua taxa de inadimplência. Essa etapa ajudará a identificar células que podem ser ajustadas para ficarem mais relaxadas (taxas de inadimplência menores) ou mais estritas (taxas de inadimplência maiores).
  • Modificação de política e ressimulação: com base nos insights, modificar a política e simular novamente. Esse processo iterativo continua até que a política alcance os padrões desejados.

Construção do modelo de otimização

Agora, vamos construir o nosso modelo de otimização. Em primeiro lugar, o problema é criar uma política de crédito otimizada. Nós queremos maximizar o valor aprovado, mantendo o limite de risco do banco sob controle. Eis como podemos modelar isso:

  • Parâmetros: estes são os pontos de dados que conhecemos, como valores de empréstimos, pré-financiamento, taxas potenciais de inadimplência e o limite de risco do banco.
  • Conjuntos: representam a dimensão da nossa política, como o risco do cliente, faixas de pagamento de entrada e faixas de parcelas.
  • Variáveis de decisão: é aqui que residem as nossas decisões. Por exemplo, podemos indicar se uma célula de política específica está “aberta” ou “fechada” com uma variável binária simples – ‘0’ para fechado, ‘1’ para aberta.
  • Função objetiva: nossa meta, que neste caso é maximizar o valor dos empréstimos aprovados.
  • Restrições: as habilidades matemáticas que garantam o respeito ao limite de risco do banco.

Linearizar as restrições garante que o nosso modelo permaneça solucionável com técnicas padrão de otimização. Evitar não linearidades (como dividir uma variável por outra) pode manter o problema mais gerenciável.

Em resumo

Nós criamos um modelo de programação linear de inteiros mistos (MILP). Por que “inteiros mistos”? Porque isso inclui decisões binárias (seja para aprovar ou recusar, com base em vários critérios). E é linear, porque as nossas equações envolvem apenas relacionamentos lineares.

Criar esses modelos oferece uma abordagem analítica e sistemática para a tomada de decisões complexas no gerenciamento de risco de crédito. Conforme o panorama financeiro muda, as instituições que estiverem equipadas com essas técnicas de otimização podem se adaptar de forma mais fluida, garantindo que elas continuem competitivas e avessas ao risco.

Visão geral do modelo

No núcleo da nossa discussão está um fluxograma, destacando os elementos primários do modelo de otimização:

  • Entradas: inclui a média de seis meses das propostas, com informações detalhadas e taxas de inadimplência em potencial para cada combinação de grupo de risco, parcela e entrada. Podemos imaginar isso como uma tabela, com aproximadamente 125 linhas. Também existe um limite de risco singular, definido pelo banco, que determina a taxa de inadimplência máxima permitida dos solicitantes aprovados.
  • Modelo de risco: entre os grupos de risco (ABCDE), nós temos o modelo de risco, que é essencialmente uma ferramenta de classificação preditiva. Esse modelo prevê a probabilidade de um cliente ficar inadimplente. Agrupando essas probabilidades, podemos categorizar nosso público-alvo em grupos de risco estáveis e homogêneos. Quanto mais discernimento o modelo tiver na separação dos pagadores dos inadimplentes, mais estáveis esses grupos serão.
  • Limites: primeiro, a taxa de inadimplência aprovada deve ser menor ou igual ao limite de risco. Além disso, para considerações de risco operacional, se uma política de risco mais alto for fechada, uma de menor risco também deve ser fechada. Por exemplo, se um cliente oferece uma entrada de 30% e outro oferece apenas 10%, este último representa um risco operacional maior, devido à garantia menor. Logo, se a política de 30% for fechada, a de 10% também deve permanecer fechada.

Limites de risco operacional na otimização: os desafios

Qualquer ferramenta poderosa traz sua cota de obstáculos, e a otimização não é diferente. Navegar por irregularidades em grupos de risco, lidar com vastos conjuntos de dados e criar soluções alinhadas com as metas organizacionais são desafios enormes. Mas como dizem os profissionais em campo, essas mudanças também abrem caminho para a inovação.

Resultados e análises: os frutos da otimização

Os benefícios de adotar a otimização são muitos. Seja por causa da agilidade proporcionada pelos métodos de otimização computacional ou das métricas de desempenho aprimoradas após a introdução de limites, esses modelos validam a eficácia da programação matemática em cenários do mundo real.

A criação de diferentes cenários e análises ao longo de uma curva de pareto pode ser uma ferramenta poderosa para descobrir qual cenário combina mais com as estratégias da empresa, desbloqueando insights competitivos que só são possíveis devido à aplicação de métodos de otimização na tomada de decisão.

Ramificação: aplicações além do setor de crédito

O alcance da otimização vai muito além do território do crédito. Vários setores, da manufatura à logística, da assistência médica ao entretenimento, podem utilizar o poder da otimização. Seja simplificando os processos de produção, melhorando a eficiência da cadeia de suprimentos ou prevendo o comportamento dos consumidores, as aplicações são vastas e variadas.

Recursos e mais informações: aprofundamento

O horizonte de conhecimento nesse domínio é vasto. Aqueles que quiserem explorar mais podem ler uma gama de livros diversos, como “Mathematical Programming for Process Optimization“, de Jorge Gut, assistir aos grandes podcasts do setor, como hipsters.tech, ou experimentar o aprendizado prático com jogos, como o Burrito Optimization Game oferecido por Gurobi.

O futuro acena

Em sua essência, a programação matemática e os modelos de otimização simbolizam o futuro da tomada de decisão orientada por dados. Conforme geramos dados em velocidade estonteante, as ferramentas, metodologias e plataformas que garantem sua interpretação significativa passarão a ter cada vez mais importância.

Nossa profunda gratidão a cada um dos participantes e palestrantes no DS & ML Meetup do Nubank, edição n.º 82. Para aqueles que perderam ou desejam uma compreensão mais profunda, convidamos vocês para um mergulho no nosso rico repositório de trechos de código no GitHub. Participe, critique e compartilhe seus insights, pois o aprendizado colaborativo é o caminho para o futuro.

Conheça nossas oportunidades