💳 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
Por que novas tentativas podem prender um switch sobrecarregado em uma tempestade de novas tentativas mesmo depois de se acrescentar capacidade — e como a limitação de carga quebra o ciclo.
Como um limiar de pontuação de fraude troca perdas por fraude por bons clientes recusados, e por que o limiar certo depende da taxa base de fraude.
Como um emissor lento enche todos os slots de conexão (lei de Little), e quanto custam os tempos limite e o processamento em stand-in.
Simulador
Tempo 0 min
▶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áveis
99,9 %
Bons clientes recusados pela regra de fraude
1,3 ‰
Transações enviadas ao step-up
0,0 %
Fraude barrada
31 %
Novas transações
400 tx/s
Carga oferecida (novas + novas tentativas)
400 tx/s
Novas tentativas
0 tx/s
Recusadas por limitação (resposta «tente mais tarde»)
0 tx/s
Descartadas na fila
0,0 %
Tempos limite de emissores
0,0 %
Aprovações em stand-in
0 tx/s
Servidores em operação
6
Servidores subindo
0
Taxa de custo de servidores
36 u/h
Custo de servidores até agora
0 u
Exposição em stand-in
0,00 M u
Fraude aprovada até agora
0,00 M u
Boas transações perdidas até agora
0,0 k tx
Transações aguardando nova tentativa
0 tx
Latência dos emissores do grupo B (média)
250 ms
Tendência
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.
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.
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.
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.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013