Anexo Técnico — Especificação do Motor de Classificação PF/PJ
Detalhamento operacional da lógica de decisão e origens de dados.
De onde vêm os dados?
Cada sinal do motor tem uma origem específica. A tabela abaixo descreve a fonte de cada um e quem é responsável por supri-lo:
| Sinal | Quem supre |
|---|---|
| Documental | SEFAZ via integração do banco |
| Identidade do Favorecido | Open Finance com consentimento do usuário |
| Categoria Fiscal | O próprio banco — taxonomia interna construída e mantida pela engenharia |
| Afinidade | Receita Federal via API, ou onboarding do usuário informando CNAE |
| Recorrência | O próprio banco — histórico nativo de transações do cliente |
| Contexto de Gasto | Bandeira do cartão ou infraestrutura de pagamento — MCC atribuído na transação |
| Horário | Metadado nativo da própria transação |
Três sinais são completamente nativos — Recorrência, Contexto de Gasto e Horário.
O banco já tem acesso sem depender de nenhuma integração externa.
Dois dependem de integração externa — Documental e Identidade do Favorecido.
Um depende de dado do usuário ou consulta externa — Afinidade.
Um é construído internamente uma vez e opera de forma permanente — Categoria Fiscal.
O que o usuário pode personalizar?
O usuário opera na camada de override — ele pode sobrepor qualquer decisão do sistema, mas não edita a lógica base. A tabela abaixo descreve o que pode ser personalizado e os limites de cada ação:
| Personalização | Como funciona | Limite |
|---|---|---|
| Regras por favorecido | "Posto Shell → sempre PJ" | Soberana — sobrepõe todos os sinais |
| Regras por valor | "Acima de R$ 500 → sugerir PJ" | Sobrepõe sinais do sistema |
| Regras por recorrência | "Todo pagamento mensal para esse CNPJ → PJ" | Sobrepõe sinais do sistema |
| Reclassificação manual | Alterar qualquer transação já classificada | Corrige pontualmente, não cria regra |
| Confirmação ou rejeição | Aceitar ou recusar classificação de média confiança | Alimenta aprendizado do sistema |
| Criação de regra a partir de padrão | Aceitar sugestão do sistema de transformar hábito em regra | Automatiza comportamento validado |
O que o usuário não pode personalizar diretamente: a taxonomia da Categoria Fiscal, a hierarquia de sinais e os critérios de convergência. Esses elementos são camada de sistema — editáveis pelo banco, não pelo usuário. Se o usuário discordar de uma classificação, o caminho é o override ou a reclassificação manual, não a edição da lógica base.
Como o sistema decide?
Definição operacional dos níveis de confiança
O nível de confiança de uma classificação não é calculado por score numérico. É determinado pela consistência estrutural entre os sinais disponíveis no momento da avaliação.
O sistema avalia dois fatores para cada transação: quantos sinais independentes estão presentes e se esses sinais apontam para a mesma direção ou se contradizem.
Alta confiança — classificação silenciosa
Condição: dois ou mais sinais independentes de peso alto ou médio convergem para a mesma classificação, sem contradição entre si.
Exemplos de combinações que atingem alta confiança:
- CNPJ recorrente + Categoria Fiscal PJ
- NF-e presente (sinal crítico — alta confiança por definição)
- Regra personalizada ativa (override — alta confiança por definição)
- Identidade PJ + Afinidade confirmada pelo CNAE
Comportamento do sistema: classifica silenciosamente, sem notificar o usuário. A classificação é registrada no histórico auditável e pode ser revertida a qualquer momento.
Média confiança — sugestão agrupada
Condição: um sinal forte presente sem corroboração de outros sinais independentes. Ou sinal forte inédito — favorecido novo com CNPJ mas sem histórico de recorrência ou Categoria Fiscal definida.
- CNPJ inédito sem histórico de recorrência
- Categoria Fiscal PJ sem Identidade confirmada
- Afinidade sugerida sem recorrência ou documento
Comportamento do sistema: gera sugestão agrupada para revisão periódica. Não cria urgência — o usuário revisa em momento conveniente, não em tempo real.
Baixa confiança — decisão direta do usuário
Condição: sinais ausentes, insuficientes ou contraditórios entre si. O sistema não tem hipótese defensável.
- CPF como favorecido com Categoria Fiscal ambígua
- CNPJ inédito em categoria mista sem histórico
- Apenas horário disponível como sinal
- Identidade PJ contradizendo padrão de recorrência PF estabelecido
Comportamento do sistema: solicita decisão direta do usuário. Não classifica automaticamente. A resposta do usuário alimenta o aprendizado e pode gerar sugestão de regra personalizada se o padrão se repetir.
O que acontece quando há conflito entre sinais?
Quando sinais de pesos diferentes contradizem, o sinal de maior confiabilidade na hierarquia prevalece para definir a sugestão — mas o nível de confiança cai para médio ou baixo dependendo da intensidade da contradição. O sistema nunca eleva o nível de confiança na presença de contradição, independentemente do número de sinais disponíveis.
Como rastreio uma decisão?
Para cada transação classificada, o sistema registra: quais sinais estavam presentes; se convergiam ou contradiziam; qual nível de confiança resultou; qual ação foi executada.
Isso permite que engenharia e suporte rastreiem a lógica de qualquer classificação sem ambiguidade, reduzindo o custo de manutenção e eliminando a dependência de modelos opacos para depuração.
Como o sistema evolui ao longo do tempo?
Ao detectar repetição de padrão validado pelo usuário — mesmo favorecido classificado da mesma forma em múltiplas ocasiões — o sistema identifica o comportamento como candidato a automação e sugere a criação de uma regra personalizada explícita.
O critério de sugestão é observável e auditável: repetição de override ou confirmação manual para o mesmo favorecido, categoria ou valor em ocasiões distintas. Não há inferência probabilística — o sistema detecta repetição de comportamento validado, não padrões latentes.
Quando o usuário aceita a sugestão, o padrão sobe para a camada de Regras Personalizadas e passa a operar como override soberano, eliminando futuras notificações para aquele caso. O comportamento passado se transforma em automação futura de forma transparente e controlada.