
26 de fevereiro de 2026
Detecção de Fraudes em Licitações com Aprendizado de Máquina e Dados Abertos
Jonas Tieppo da Rocha; Italo de Oliveira Braga
Resumo elaborado pela ferramenta ResumeAI, solução de inteligência artificial desenvolvida pelo Instituto Pecege voltada à síntese e redação.
A corrupção, analisada academicamente desde o século XIX (Weber, 1999), intensificou-se como objeto de estudo na segunda metade do século XX. Definições clássicas a caracterizam como o desvio de um agente público para obter vantagens pessoais (Nye, 1967) ou um afastamento das normas formais do dever público por interesses privados (Rose-Ackerman, 1978). A Transparency International (2024) a descreve como o abuso de poder para benefício particular. Há consenso sobre sua natureza perniciosa, com estudos correlacionando-a negativamente ao investimento público e ao crescimento econômico (Mauro, 1995; Gründler, 2019). No Brasil, o combate à corrupção inclui marcos como o Programa Anticorrupção de 2003, que instituiu auditorias por sorteio em municípios pela Controladoria-Geral da União (CGU).
Os dados gerados permitiram pesquisas como a de Finan e Ferraz (2005), que usaram relatórios de auditoria e dados do Tribunal Superior Eleitoral (TSE) para investigar o impacto da exposição de corrupção nos resultados eleitorais. Apesar dos esforços, a posição do Brasil no Índice de Percepção da Corrupção, 107ª entre 180 nações (Transparency International, 2024), revela desafios substanciais. A complexidade do arcabouço legal, a fragmentação dos dados e a sofisticação crescente dos esquemas fraudulentos exigem ferramentas cada vez mais avançadas para um combate efetivo. A aplicação de aprendizado de máquina emergiu como uma fronteira para aprimorar a fiscalização. Estudos anteriores demonstraram seu potencial para identificar padrões em dados governamentais. Ash et al. (2021), por exemplo, desenvolveram uma ferramenta que correlacionou métricas de auditoria com dados orçamentários de municípios brasileiros, alcançando alta capacidade preditiva com o modelo XGBoost (AUC de 0.77).
A pesquisa mostrou que variáveis orçamentárias podem servir como proxies para detectar irregularidades na ausência de dados diretos sobre corrupção. Outra vertente explora a mineração de texto em dados não estruturados, como descrições de objetos licitados. Vaqueiro et al. (2023) aplicaram algoritmos não supervisionados (K-means, DBSCAN) para agrupar itens de compras, permitindo a comparação de preços e a identificação de sobrepreços. Este estudo se insere nesse contexto, combinando análise de dados estruturados com processamento de linguagem natural. A principal contribuição é uma metodologia inovadora para anotar a variável-alvo (fraude) a partir de relatórios de auditoria, superando a escassez de dados rotulados, uma barreira comum em modelos supervisionados neste domínio. A metodologia foi estruturada em duas fases. A primeira focou na construção de um dataset intermediário, com o desafio de criar uma variável-alvo confiável para “fraude”.
Foram coletados dados abertos do Portal da Transparência do Governo Federal (licitações, contratos, cadastros de empresas punidas – CEIS e CNEP), estruturados em um banco de dados PostgreSQL com a biblioteca SQLAlchemy. A integração desses dados heterogêneos foi o primeiro passo para criar uma visão multifacetada de cada processo licitatório. A segunda fase expandiu este dataset com informações de empresas obtidas via extração de dados da web. O passo mais inovador foi a anotação da variável-alvo. Na ausência de um campo explícito para fraude, desenvolveu-se um processo semi-automatizado de mineração de texto. Foram baixados 100 relatórios de auditoria da CGU em PDF, focados em licitações. Um Modelo de Linguagem Ampla (LLM), via API, foi instruído a analisar o conteúdo textual desses relatórios para extrair os números dos processos licitatórios apontados com irregularidades graves, como direcionamento, conluio ou sobrepreço.
O uso do LLM foi crucial para superar a falta de padronização dos relatórios, que variam em formato e linguagem. O modelo foi capaz de interpretar o contexto e identificar os identificadores de processo relevantes, mesmo quando apresentados de formas distintas. Isso criou uma lista de licitações associadas a investigações de fraude, formando a classe positiva. A classe negativa foi composta por uma amostra aleatória de licitações não citadas nos relatórios, sob a premissa de que a ausência de menção em um relatório de auditoria é um forte indicativo de regularidade, estabelecendo um dataset balanceado para o treinamento.
Para enriquecer o dataset, a segunda fase implementou um sistema de web scraping para coletar informações cadastrais e contextuais das empresas participantes. Uma arquitetura modular foi projetada para gerenciar a fila de CNPJs, simular a interação do usuário em portais governamentais (incluindo a resolução automatizada de CAPTCHAs com serviços de terceiros) e orquestrar o fluxo de coleta de dados de forma paralela e resiliente a falhas. Após a coleta dos arquivos HTML brutos, um processo de Extração, Transformação e Carga (ETL) foi executado. Um LLM foi novamente utilizado, desta vez para interpretar a estrutura semântica do HTML não estruturado e extrair dados específicos como nome fantasia, data de abertura, porte da empresa e natureza jurídica.
Esta abordagem se mostrou particularmente robusta, pois, em vez de depender de seletores fixos (como XPath ou CSS selectors) que quebram com mudanças no layout das páginas, o LLM compreende o conteúdo, tornando o processo de extração mais resiliente e de fácil manutenção. Os dados foram validados, limpos e carregados no banco de dados PostgreSQL, resultando em um dataset final com 2036 observações e 20 variáveis prontas para modelagem. Os dados passaram por um pré-processamento rigoroso. A coluna textual “objeto”, que descreve o item ou serviço licitado, foi vetorizada utilizando a técnica TF-IDF (Term Frequency-Inverse Document Frequency), limitada a um vocabulário máximo de 5000 palavras para gerenciar a dimensionalidade. Variáveis categóricas nominais, como modalidade de licitação e porte da empresa, foram transformadas em representações numéricas via One-Hot Encoding.
Uma nova variável, “tempodeempresa”, foi criada por meio de engenharia de atributos, calculando a diferença em dias entre a data de abertura da empresa e a data de finalização da licitação. O tratamento de dados nulos foi realizado com estratégias distintas: para a variável “cnaeprincipal” (Classificação Nacional de Atividades Econômicas), que apresentava 19,20% de valores ausentes, um modelo preditivo simples (K-Nearest Neighbors) foi treinado com as demais variáveis para imputar as categorias mais prováveis; para “totalexpent”, nulos foram substituídos por zero, assumindo que a ausência de valor indica ausência de despesas; e para variáveis com aproximadamente 5% de ausência, as linhas correspondentes foram removidas para não introduzir ruído. Foram selecionados cinco algoritmos de classificação para avaliação comparativa: Regressão Logística, Random Forest, Gradient Boosting, uma Rede Neural Densa (Multilayer Perceptron – MLP) e um Voting Classifier que combina as predições dos outros modelos.
O treinamento foi encapsulado em Pipelines do Scikit-learn para garantir a reprodutibilidade e evitar vazamento de dados, com uma divisão de 70% para treino e 30% para teste, utilizando amostragem estratificada para manter a proporção da variável-alvo e técnicas de balanceamento como o parâmetro class_weight=’balanced’ para penalizar erros na classe minoritária (Bishop, 2006).
A análise exploratória de dados revelou insights cruciais para a modelagem. A distribuição da variável-alvo “is_fraud” mostrou-se adequadamente balanceada após o processo de amostragem (aproximadamente 950 casos de não fraude e 1000 de fraude), um cenário ideal que minimiza o risco de viés do modelo em favor da classe majoritária.
A análise da variável “modalidade” demonstrou que “Pregão – Registro de Preço” era um forte preditor, estando associada quase inteiramente a licitações rotuladas como fraudulentas, com mais de 600 ocorrências nesta classe. Em contraste, a “Dispensa de Licitação”, embora fosse a modalidade com o maior número de registros não fraudulentos, também apresentou um volume considerável de fraudes, indicando uma relação mais complexa e menos direta com o desfecho.
A análise do porte da empresa mostrou que Microempresa (ME) e Empresa de Pequeno Porte (EPP) concentraram o maior volume total de licitações, com números expressivos tanto na classe de fraude quanto na de não fraude. Contudo, um padrão interessante emergiu na categoria “DEMAIS”, que agrupa empresas de médio e grande porte. Neste segmento, observou-se uma inversão na proporção, com um número de fraudes superior ao de não fraudes. A natureza jurídica “Sociedade Empresária Limitada” (código 206-2) dominou ambas as classes de forma esmagadora, refletindo sua prevalência no cenário empresarial brasileiro. Consequentemente, essa variável, isoladamente, demonstrou ter poder preditivo limitado. Um resultado particularmente contraintuitivo foi relacionado à idade da empresa. A hipótese inicial era de que empresas fraudulentas seriam, em média, mais jovens, possivelmente criadas especificamente para fins ilícitos.
No entanto, a análise de boxplots comparando a distribuição da variável “tempodeempresa” entre os grupos “Fraude” e “Não Fraude” refutou essa hipótese. As medianas e a dispersão de idade (intervalo interquartil) foram notavelmente similares entre os dois grupos, indicando que o tempo de existência da empresa não foi um preditor relevante neste contexto específico.
A análise de correlação quantificou a relação das variáveis com a fraude. A modalidade “Registro de Preço” apresentou o maior coeficiente (ρ = 0.66), confirmando sua importância como preditor. Contudo, esta etapa foi crucial para identificar um problema metodológico grave: vazamento de dados (data leakage). Variáveis como a presença de sanções nos cadastros CEIS/CNEP, o valor exato da licitação, o município e o nome da unidade gestora apresentaram correlações artificialmente elevadas. A inclusão dessas variáveis seria inadequada, pois frequentemente representam informações que são consequência do evento de fraude já descoberto e investigado, e não preditores disponíveis antes da auditoria. Por exemplo, uma sanção é aplicada após a detecção da fraude. Incluí-las levaria a um modelo com desempenho superestimado na fase de teste, mas completamente ineficaz na prática para prever futuras fraudes. A identificação do data leakage exigiu uma revisão criteriosa da seleção de variáveis.
A remoção dessas variáveis foi uma decisão metodológica fundamental para garantir a integridade e a validade do modelo em um cenário de inferência real. Este passo foi essencial para evitar a construção de um modelo ilusoriamente preciso, mas sem qualquer capacidade de generalização para novos dados; o desfecho (fraude) ainda é desconhecido. A avaliação do desempenho dos cinco algoritmos, realizada por meio da Curva ROC e do cálculo da Área Sob a Curva (AUC), demonstrou a robustez da abordagem mesmo com um conjunto reduzido de preditores. O Random Forest destacou-se com o melhor desempenho, alcançando um AUC de 0.90, o que indica uma excelente capacidade de discriminação entre licitações fraudulentas e legítimas. O Voting Classifier, que agrega as predições dos demais, obteve o segundo melhor resultado (AUC de 0.88), seguido pela Rede Neural MLP (AUC = 0.84), Gradient Boosting (AUC = 0.83) e Regressão Logística (AUC = 0.81).
A matriz de confusão do modelo Random Forest foi examinada para uma análise mais pragmática e orientada à aplicação. O modelo identificou corretamente 248 casos de fraude (Verdadeiros Positivos), mas falhou em detectar 50 casos (Falsos Negativos). Adicionalmente, classificou incorretamente 63 licitações legítimas como fraudulentas (Falsos Positivos). Os 50 Falsos Negativos representam a limitação mais crítica do ponto de vista do controle, pois correspondem a cerca de 17% das fraudes presentes no conjunto de teste que não seriam capturadas pelo sistema de alerta. Por outro lado, os 63 Falsos Positivos representam um custo operacional, pois cada um desses alertas demandaria tempo e recursos de auditores para uma investigação que, ao final, se mostraria desnecessária. Apesar disso, a capacidade do modelo de priorizar e direcionar os recursos de investigação para os casos de maior suspeita representa um ganho de eficiência significativo em comparação com a amostragem aleatória.
O modelo deve, portanto, ser empregado como um sistema de suporte à decisão; seus alertas servem como ponto de partida para uma análise aprofundada, complementando o julgamento de especialistas. Este trabalho desenvolveu e validou uma metodologia para detectar fraudes em licitações públicas, desde a coleta e estruturação de dados até a implementação e avaliação de modelos de aprendizado de máquina. A principal inovação reside na criação de uma variável-alvo por meio da mineração de texto em relatórios de auditoria, contornando um dos maiores obstáculos em projetos de ciência de dados aplicada ao setor público. Os resultados demonstram que é possível construir um modelo preditivo com alta acurácia (AUC de 0.90) utilizando dados abertos, mesmo após a remoção de variáveis com data leakage.
A análise dos erros do modelo (Falsos Positivos e Falsos Negativos) reforça sua utilidade como ferramenta de triagem, capaz de otimizar o trabalho de auditoria e aumentar a eficácia do controle governamental.
Conclui-se que o objetivo foi atingido.
Referências:
ASH, E. et al. A machine learning approach to analyze and support anti-corruption policy. Available at SSRN, 2021.
Bishop, C. M. Pattern Recognition and Machine Learning. Springer, 2006.
FINAN, F.; FERRAZ, C. Exposing corrupt politicians: The effect of brazil’s publicly released audits on electoral outcomes. 2005.
Gründler, K.; Potrafke, N. 2019. Corruption and economic growth: New empirical evidence. European Journal of Political Economy, v. 60(101810).
Mauro, P. 1995. Corruption and growth. The Quarterly Journal of Economics 110(3): 681-712.
Nye, J. S. 1967. Corruption and political development: A cost-benefit analysis. American Political Science Review 61(2): 417-427.
ROSE-ACK
Resumo executivo oriundo de Trabalho de Conclusão de Curso de Especialização em Data Science e Analytics do MBA USP/Esalq
Saiba mais sobre o curso; clique aqui:





































