Finanças — operações de pagamentos Modelo ao vivo

Você está na mesa de operações de um switch de pagamentos que fica entre lojistas e emissores de cartões. A cada minuto chegam, em média, cerca de 400 transações por segundo; cada uma é pontuada quanto a fraude, espera por um slot de conexão livre e é encaminhada ao seu emissor para obter resposta. O modelo calcula filas, tempos limite, novas tentativas dos clientes, o trade-off do filtro de fraude e a exposição em stand-in a partir de fórmulas de livro-texto. Os valores estão em unidades monetárias genéricas (u). Apenas simulação educacional — não é aconselhamento financeiro, jurídico ou de investimento.

O que vai aprender

Simulador

Tempo 0 min
Carga oferecida (novas + novas tentativas) 400 · Novas tentativas 0 · Taxa de aprovação de bons clientes 99,9% · Tempo de autorização 330 ms · Slots de conexão ocupados 69% · Servidores em operação 6 (+0) · Taxa de fraude (parte do valor aprovado) 10,4 bp · Tempos limite de emissores 0,0% · Exposição em stand-in 0,00 M uFiltro de fraudet = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Fraude barrada 31%Taxa de fraude (parte do valoraprovado) 10,4 bp400 tx/s · ↻ 0Servidores de autorização▶▶▶▶▶▶··················Slots de conexão ocupados 69%330 ms · ✗ 0,0%Emissores A✓ 250 msEmissores B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uTaxa de aprovação de bons clientes 99,9%Exposição em stand-in 0,00 M u
  • Servidor em operação
  • Servidor subindo
  • Posição livre no rack de servidores
  • Emissor respondendo normalmente
  • Emissor lento ou fora do ar
  • Processamento em stand-in ativo
  • Transações chegando

Controles

Cada servidor tem 32 slots de conexão. Servidores adicionados levam 5 minutos para subir; todos os servidores são cobrados, subindo ou não.

Admite no máximo 90 % da capacidade e responde ao excedente na hora com «tente mais tarde», em vez de deixá-lo entrar na fila e expirar.

Como os lojistas repetem uma falha técnica (até 3 novas tentativas). Imediata = no minuto seguinte; backoff = backoff exponencial aleatório, atrasos médios de 1, 2 e 4 minutos.

Transações com pontuação igual ou acima desse valor são recusadas. As pontuações estão em desvios-padrão do tráfego legítimo: mais baixo significa mais fraude barrada e mais bons clientes recusados.

Pontuações tão abaixo do limiar recebem um desafio adicional ao cliente em vez de uma decisão: 85 % dos clientes legítimos o completam, 5 % dos fraudadores passam. 0 = desligado.

Quanto tempo um slot de conexão espera pela resposta do emissor. Depois disso o switch envia um estorno e usa o stand-in, ou recusa com «emissor indisponível».

Quando o emissor não responde a tempo, o switch aprova em nome dele até esse valor. Cada aprovação em stand-in é uma exposição que o emissor nunca verificou. 0 = desligado.

Indicadores

Taxa de aprovação de bons clientes
99,9%
normal
Tempo de autorização
330ms
normal
Taxa de fraude (parte do valor aprovado)
10,4bp
normal
Slots de conexão ocupados
69%
normal
Taxa de aprovação, emissores saudáveis99,9 %
Bons clientes recusados pela regra de fraude1,3 ‰
Transações enviadas ao step-up0,0 %
Fraude barrada31 %
Novas transações400 tx/s
Carga oferecida (novas + novas tentativas)400 tx/s
Novas tentativas0 tx/s
Recusadas por limitação (resposta «tente mais tarde»)0 tx/s
Descartadas na fila0,0 %
Tempos limite de emissores0,0 %
Aprovações em stand-in0 tx/s
Servidores em operação6
Servidores subindo0
Taxa de custo de servidores36 u/h
Custo de servidores até agora0 u
Exposição em stand-in0,00 M u
Fraude aprovada até agora0,00 M u
Boas transações perdidas até agora0,0 k tx
Transações aguardando nova tentativa0 tx
Latência dos emissores do grupo B (média)250 ms

Tendência

Taxa de aprovação de bons clientes: — %100,00,0

Cenários de crise

Nível 1 · Pico de liquidação

No minuto 5 abre uma grande liquidação online e dobra o tráfego para cerca de 800 transações por segundo por 45 minutos. O switch tem 6 servidores, dimensionados para um dia normal com cerca de 70 % de ocupação. Os lojistas repetem imediatamente cada falha técnica. Mantenha os bons clientes aprovados e as respostas rápidas sem comprar capacidade de que você não precisa.

  • Aprovação média de bons clientes ≥ 95 % a partir da liquidação
  • Tempo médio de autorização ≤ 500 ms
  • Custo de servidores ≤ 75 u

Nível 2 · Onda de fraude

No minuto 5 começa a ser usado um lote de dados de cartões roubados: a parte de fraude no tráfego salta de 0,1 % para 1 %. O limiar de recusa está definido para dias normais (3σ) e o step-up está desligado. Reduza a taxa de fraude sem recusar bons clientes.

  • Taxa média de fraude ≤ 25 bp
  • Aprovação média de bons clientes ≥ 98 %
  • Bons clientes recusados pela regra ≤ 5 ‰

Nível 3 · Falha de emissores

No minuto 5 os emissores do grupo B — um quarto de todo o tráfego — ficam lentos, com tempo médio de resposta de 12 segundos. O switch espera até 8 s por uma resposta, não tem stand-in e tem 6 servidores. Mantenha os clientes dos emissores saudáveis fluindo, atenda o grupo B até onde for seguro e mantenha a exposição em stand-in e o custo sob controle.

  • Aprovação média dos clientes de emissores saudáveis ≥ 90 %
  • Aprovação média de bons clientes ≥ 86 %
  • Exposição em stand-in ≤ 9 M u
  • Custo de servidores ≤ 65 u

Base — o modelo por trás dos números

Todas as relações que o simulador usa, com a respetiva fonte. As constantes marcadas como pressupostos são calibrações ilustrativas.

Novas transações chegam a uma taxa base vezes o pico de vendas; a contagem por minuto é aleatória (Poisson, aproximação normal) com alguma irregularidade.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Premissa: número de slots, tempos de serviço e dos emissores, separação das pontuações, taxas de aprovação do step-up, parcela de trabalho desperdiçado, valores e preços são valores ilustrativos para um switch de porte médio, não números de nenhuma rede real.
Pontuação de fraude binormal: as pontuações legítimas e de fraude são duas curvas normais separadas por d′; o limiar escolhe um ponto na curva ROC.
genuine score ~ N(0,1), fraud ~ N(d′,1), d′ = 2.5; FPR(t) = 1 − Φ(t), TPR(t) = 1 − Φ(t − d′); AUC = Φ(d′/√2) ≈ 0.96[6][7]Premissa: número de slots, tempos de serviço e dos emissores, separação das pontuações, taxas de aprovação do step-up, parcela de trabalho desperdiçado, valores e preços são valores ilustrativos para um switch de porte médio, não números de nenhuma rede real.
Limiar de custo ótimo: recuse quando a razão de verossimilhança excede a razão de custos ponderada pela taxa base — dez vezes mais fraude o desloca ln 10 / d′ ≈ 0,9σ para baixo.
decline when e^(d′x − d′²/2) ≥ (1 − π)·c_FP / (π·c_FN) ⇒ t* = [ln((1 − π)c_FP/(π c_FN)) + d′²/2] / d′[8][7]
Step-up: pontuações na faixa abaixo do limiar são desafiadas em vez de decididas.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Premissa: número de slots, tempos de serviço e dos emissores, separação das pontuações, taxas de aprovação do step-up, parcela de trabalho desperdiçado, valores e preços são valores ilustrativos para um switch de porte médio, não números de nenhuma rede real.
A latência do emissor é exponencial; um slot fica retido pela latência ou pelo tempo limite, o que ocorrer primeiro.
L ~ Exp(mean m); E[min(L, T)] = m(1 − e^(−T/m)), P(L > T) = e^(−T/m); S = 80 ms + forwarded × Σ share·E[min(L,T)][2][9]
Lei de Little: slots ocupados = taxa de chegada × tempo de retenção.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: a chance de uma transação esperar por um slot livre, e a chance de esperar mais que o tempo limite de fila de 2 s.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Além da capacidade, o switch também gasta trabalho em requisições que depois descarta, então o throughput útil cai quando a carga sobe; a limitação de carga recusa o excedente a baixo custo.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Premissa: número de slots, tempos de serviço e dos emissores, separação das pontuações, taxas de aprovação do step-up, parcela de trabalho desperdiçado, valores e preços são valores ilustrativos para um switch de porte médio, não números de nenhuma rede real.
Novas tentativas do cliente: cada falha técnica é repetida até três vezes, de imediato ou com backoff exponencial aleatório.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Premissa: número de slots, tempos de serviço e dos emissores, separação das pontuações, taxas de aprovação do step-up, parcela de trabalho desperdiçado, valores e preços são valores ilustrativos para um switch de porte médio, não números de nenhuma rede real.
Tempo limite do emissor, estorno e stand-in: os valores são lognormais, então a parcela abaixo do limite e o volume aprovado decorrem da função de distribuição normal.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Taxa de fraude em pontos-base do valor aprovado; 13 bp é usado como escala de referência para pequenos pagamentos remotos com cartão.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Outras constantes de operação usadas pelo modelo.
32 slots per server, 2–24 servers, +5 min boot, 6 u per server-hour · switch time 80 ms · queue timeout 2 s · issuer latency 250 ms (group B = 25 % of traffic, ±15 % per minute) · amounts lognormal, median 40 u, σ = 1, fraud ×1.5 · ω = 0.3 · shedding at 90 % · reversal = 80 ms of switch timePremissa: número de slots, tempos de serviço e dos emissores, separação das pontuações, taxas de aprovação do step-up, parcela de trabalho desperdiçado, valores e preços são valores ilustrativos para um switch de porte médio, não números de nenhuma rede real.

Aleatoriedade: um gerador mulberry32 com semente; distribuições usadas — uniforme, exponencial (inversa da CDF), normal (Box–Muller), Poisson (Knuth). A semente é apresentada e compartilhável.

Fontes

  1. Teletraffic Engineering Handbook — Erlang C formula; waiting-time distribution for M/M/n, FCFS — ITU-D Study Group 2 Question 16/2 (V. B. Iversen), 2005
  2. M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013
  3. J. D. C. Little — A Proof for the Queuing Formula: L = λW — Operations Research 9(3):383–387, 1961
  4. Site Reliability Engineering — Ch. 22 Addressing Cascading Failures (retries, randomized exponential backoff, load shedding, work on requests past their deadline) — Beyer, Jones, Petoff, Murphy (eds.), O'Reilly, 2016
  5. N. Bronson, A. Aghayev, A. Charapko, T. Zhu — Metastable Failures in Distributed Systems — HotOS ’21, ACM, 2021
  6. T. Fawcett — An introduction to ROC analysis — Pattern Recognition Letters 27(8):861–874, 2006
  7. R. J. Bolton, D. J. Hand — Statistical Fraud Detection: A Review — Statistical Science 17(3):235–255, 2002
  8. C. Elkan — The Foundations of Cost-Sensitive Learning — IJCAI 2001, 2001
  9. ISO 8583-1:2003 Financial transaction card originated messages — Interchange message specifications — Part 1 (authorization, reversal messages) — ISO/TC 68/SC 9, 2003
  10. Commission Delegated Regulation (EU) 2018/389 — RTS on strong customer authentication, Annex: reference fraud rates (0.13 % for remote card payments up to EUR 100) — Official Journal of the European Union, 2018
  11. N. L. Johnson, S. Kotz, N. Balakrishnan — Continuous Univariate Distributions, Vol. 1 (lognormal distribution, partial moments) — Wiley, 1994

Quem faz isso profissionalmente

Modelo educativo — não para decisões operacionais. Os locais reais calibram cada constante para seu próprio equipamento e dados.