Article image
Sergio Santos
Sergio Santos17/08/2026 10:21
Compartilhe

Engenharia de Decisões - Edição #01 — Como decidir entre SQL e grafos em um problema de fraude Pix

     Engenharia de Decisões

      Edição #01 — Como decidir entre SQL e grafos em um problema de fraude Pix

    Esta news analisa decisões de engenharia tomadas diante de problemas reais. Cada edição apresenta o contexto, os critérios de decisão, as alternativas avaliadas, os trade-offs aceitos e as evidências que sustentam a escolha.

    Sem tutorial. Sem lista de ferramentas. Decisão, critério, evidência, resultado.

    Hoje: FraudGraph Brasil, um agente de investigação de fraudes digitais baseado em Neo4j Aura e IA generativa.

     Baseline

    Instituições financeiras brasileiras enfrentam perdas crescentes com fraudes estruturadas em redes de contas laranja. Em muitas instituições financeiras, a detecção de fraude ainda é baseada em regras por CPF e análise individual de transações: limite de valor, frequência, score individual — analisadas em filas isoladas por cliente.

    Esse modelo funciona para fraude óbvia. Ele falha quando João, Maria e Pedro — três CPFs aparentemente independentes — usam o mesmo aparelho físico para transferir dinheiro ao mesmo destino Pix em minutos de diferença. Cada transação, olhada isoladamente, parece legítima. O alerta, quando chega, chega horas depois — quando o dinheiro já foi pulverizado.

    O problema nunca foi detectar uma transação suspeita. Foi enxergar a rede.

     Problema

    Como identificar padrões de fraude coordenada — não transações isoladas, mas estruturas de rede entre CPFs, dispositivos e contas de destino — em tempo hábil para bloqueio, sem inflar falsos positivos que travam clientes legítimos?

     Critérios de Decisão

    Antes de comparar as alternativas, era necessário definir o que caracterizaria uma boa solução para esse problema. A pergunta nunca foi "qual banco de dados é melhor?" — foi:

    - Capacidade de navegar múltiplos relacionamentos (CPF → dispositivo → conta destino) sem degradação de performance

    - Baixa taxa de falso positivo em cenários de triangulação

    - Tempo de resposta compatível com decisão em tempo real

    - Facilidade de traduzir o padrão técnico em decisão de negócio para quem não lê Cypher ou SQL

    Esses critérios, não preferência por tecnologia, é que orientaram a comparação seguinte.

     Alternativas Consideradas

     Regras estáticas + scoring tradicional. Baixo custo de infraestrutura, implementação rápida. Mas é reativo: captura padrões já catalogados, não descobre estrutura de rede nova.

     PostgreSQL com JOINs entre tabelas de clientes, dispositivos e transações. Tecnicamente viável, mas para cruzar três vetores (CPF, hardware, destino) em milhões de registros e tempo real, o custo computacional de JOINs sucessivos aumenta significativamente o custo das consultas e dificulta atender requisitos de resposta em tempo real.

     Neo4j Aura + agente de IA (GPT-4o via LangChain). Modelagem nativa de relacionamento — o dado já nasce como grafo, não como tabela a ser cruzada. Consultas de triangulação respondem em uma única travessia, e a camada de IA traduz o subgrafo técnico em parecer executivo legível por quem decide o bloqueio.

     Decisão

    Neo4j Aura como camada de detecção, com um agente GPT-4o (via LangChain) para interpretação contextual dos clusters suspeitos.

    A escolha não foi "grafo é superior a relacional" de forma genérica — foi específica ao critério definido acima: fraude Pix estruturada é, por natureza, um problema de topologia de rede, e bancos de grafo existem para responder exatamente esse tipo de pergunta com custo controlado.

      Trade-offs Aceitos

    Curva de aprendizado em Cypher e escassez relativa de profissionais especializados em grafo, frente à abundância de talento em SQL — aceito porque o ganho de expressividade na modelagem de rede compensa o custo de ramp-up.

    - Custo por token e latência da chamada ao GPT-4o, frente a uma consulta pura de banco — aceito porque o ganho em acessibilidade da decisão (parecer em linguagem natural para quem não lê grafo) supera o custo de infraestrutura adicional, mitigável com cache de pareceres para padrões idênticos.

    - Interface Streamlit em vez de frontend dedicado — menor flexibilidade de UI, aceito em troca de velocidade de entrega e foco no diferencial real: a detecção via grafo, não a interface.

     Evidências

     Evidência arquitetural — a modelagem em grafo

    A query que sustenta a decisão — o coração técnico do projeto — exige três condições simultâneas: mesmo dispositivo físico, mesmo destino Pix, três ou mais CPFs distintos.

    cypher
    MATCH (c:Cliente)-[:UTILIZA]->(d:Dispositivo),
     (c)-[:TRANSFERIU]->(p:ContaDestino)
    WITH d, p, collect(c.nome) AS clientes, count(c) AS total_cpfs
    WHERE total_cpfs >= 3
    RETURN d.device_id  AS dispositivo,
      d.ip     AS ip_dispositivo,
      p.pix     AS pix_destino,
      p.banco    AS banco_destino,
      clientes,
      total_cpfs
    

    Em uma modelagem relacional, responder essa mesma pergunta normalmente exige múltiplos JOINs entre tabelas de clientes, dispositivos e transações. Em um banco de grafos, a consulta pode ser expressa naturalmente como uma travessia entre relacionamentos.

    [ Analista / Interface Web ]
         ↓
      [ Streamlit UI ]
         ↓
     [ Aura Agent (IA) ]
      GPT-4o + LangChain
         ↓
     [ Neo4j Aura Cloud ]
     Query Cypher de Triangulação
         ↓
      [ Massa de Dados ]
    Clientes · Dispositivos · Contas
    

     Evidência operacional — o cluster encontrado

    Na massa de dados de validação, a query isolou um cluster real: três CPFs distintos, mesmo aparelho físico, mesmo destino Pix, mesma janela de tempo — padrão que, em fila SQL isolada por cliente, apareceria como três transações independentes sem sinal de alerta.

    Nenhuma dessas transações, analisada individualmente, ultrapassava os limites tradicionais de detecção. O comportamento suspeito surgiu apenas quando os relacionamentos foram analisados em conjunto.

     Evidência de negócio — por que isso importa

    Esse tipo de padrão é exatamente o que sistemas tradicionais de fila-por-cliente não capturam a tempo: o risco não está em nenhuma transação isolada, está na coincidência estrutural entre elas.

      Impacto

    Em investigação tradicional, correlacionar esses três registros manualmente entre sistemas legados consome minutos a horas de trabalho analítico. Com a triangulação em grafo, o padrão é identificado em uma única consulta — e o agente de IA já entrega o parecer formatado para decisão de bloqueio, sem exigir que o analista leia JSON ou Cypher.

    O ganho não é apenas velocidade. É visibilidade.

    Conexões que existiam nos dados, mas eram invisíveis ao modelo relacional, passam a ser o próprio critério de detecção.

     Próxima edição

    AWS Lambda vs. contêiner: a decisão por trás da automação serverless de um pipeline de dados — e o trade-off que a maioria ignora até o dia em que o volume cresce.

    Engenharia de Decisões — arquitetura, trade-offs e evidências reais em Cloud, IA e Dados.

    Compartilhe
    Comentários (0)