Skip to main content
O Scoring Engine usa três tabelas de decisão DMN com política COLLECT + SUM. Múltiplas regras podem ser ativadas por um único depósito — os pontos são somados em cada módulo antes do cálculo do score final.
Todas as regras são avaliadas com FEEL (Friendly Enough Expression Language) conforme a spec DMN 1.3. Intervalos fechados [a..b] incluem os extremos; [a..b) exclui o limite superior.

Módulo 1 — Risco Financeiro

Decision ID: financial-risk-score · Peso no score final: 40% Avalia o valor do depósito individual, o volume mensal acumulado e a proporção de saques sobre depósitos.

Regras

withdrawalRatio é calculado pelo consumer Go antes da correlação: withdrawalRatio = withdrawals_total_amount / deposits_total_amount. Nunca divide por zero — se deposits_total_amount = 0, o ratio é 0.0.

Exemplos — Risco Financeiro

Perfil: Jogador recreativo, depósito pequeno, volume mensal baixo, sem saques expressivos.
scoresFinancial = 0
Perfil: Depósito acima do COAF, volume mensal altíssimo, ratio de saque extremo.
scoresFinancial = 95
Interpretação de risco: Depósito de R$ 35k com 95% sacado no mesmo mês é um padrão clássico de layering — o dinheiro passa pela plataforma sem finalidade legítima de jogo, apenas para obter histórico de transação “limpo”.
Perfil: Usuário frequente com depósitos médios e padrão saudável de saques.
scoresFinancial = 50

Módulo 2 — PLD / AML

Decision ID: aml-rules · Peso no score final: 30% Implementa as obrigações da Lei 9.613/98, Circular BACEN 3.978/2020 e COAF Resolution 36/2021. Avalia indicadores de lavagem de dinheiro com ênfase em operações de alto valor, ausência de KYC e redes de contas suspeitas.

Regras

Conceitos das Regras

Contas vinculadas são detectadas por IPS (IP/device fingerprint compartilhado). O campo ips.linked_accounts contém os user_ext_id das contas que compartilham o mesmo dispositivo ou endereço IP recente. Smurfing é a técnica de fragmentar operações entre múltiplas contas para ficar abaixo dos limiares de reporte. A presença de 5+ contas vinculadas é um indicador forte desse padrão. KYC pendente em operações de alto valor indica que o operador aceitou um depósito relevante antes de completar a identificação do usuário — violação potencial das obrigações de “conheça seu cliente”.

Exemplos — PLD / AML

Perfil: Usuário com KYC aprovado, sem contas vinculadas, depósito dentro do normal.
scoresAml = 0
Perfil: Depósito COAF, KYC pendente, 7 contas no mesmo dispositivo.
scoresAml = 110 (capped em 100 no score final ponderado)
Interpretação de risco: Combinação perfeita das três fases de lavagem: placement (depósito em cash equivalente), layering (múltiplas contas fragmentando a origem) e ausência de KYC que dificultaria rastreamento. Reporte COAF obrigatório.
Perfil: Usuário com 3 contas vinculadas, KYC aprovado, depósito moderado.
scoresAml = 25
Interpretação: Poderia ser uma família compartilhando dispositivo. Score baixo, mas merece monitoramento — especialmente se o volume de depósitos crescer.

Módulo 3 — Comportamento / Ludopatia

Decision ID: behavior-score · Peso no score final: 30% Detecta padrões comportamentais associados a jogo problemático (ludopatia) e uso intensivo que pode indicar transtorno de jogo. Alinhado às diretrizes da Portaria SPA/MF nº 827/2024 sobre jogo responsável.

Regras

Definição dos flags de volume

Os flags sportsBetsHigh, casinoBetsHigh, sportsBetsModerate e sportsBetsLow são computados pelo consumer antes de enviados ao Camunda:

Exemplos — Comportamento

Perfil: Apostas esportivas leves, sem cassino, sem ganhos expressivos.
scoresBehavior = 0
Perfil: Alto volume em esportes e cassino, ganhos de R$ 12k — padrão de jogo compulsivo.
scoresBehavior = 90
Interpretação de risco: Volume de apostas incompatível com a renda típica, combinação esportes+cassino (multimodal compulsive gambling) e ganhos de R$ 12k em cassino online são vetores clássicos de integração na lavagem e de jogo compulsivo severo. Intervenção de jogo responsável recomendada.
Perfil: Apostas de cassino moderadas com ganho relevante.
scoresBehavior = 35

Cenário Completo: Low Risk vs. High Risk

A tabela abaixo resume como os dois perfis de teste do make kafka-produce ativam as regras DMN:

Perfil LOW RISK — Jogador Recreativo


Perfil HIGH RISK — Indicadores Máximos

Score acima de 75 indica risco crítico. Recomenda-se revisão manual imediata, bloqueio preventivo de saques e avaliação de reporte ao COAF.