Finanzas — operacións de pagos Modelo en directo

Estás na mesa de operacións dun conmutador de pagos (payment switch) situado entre os comercios e os emisores de tarxetas. Cada minuto chegan ao redor de 400 transaccións por segundo; cada unha puntúase por fraude, agarda por unha ranura de conexión libre e réenvíase ao seu emisor para obter resposta. O modelo calcula as colas, os tempos de espera, os reintentos dos clientes, o equilibrio do filtro de fraude e a exposición do stand-in con fórmulas de manual. Os importes están en unidades monetarias xenéricas (u). Só simulación educativa — non é asesoramento financeiro, xurídico nin de investimento.

O que aprenderás

Simulador

Tempo 0 min
Carga ofrecida (novas + reintentos) 400 · Reintentos 0 · Taxa de aprobación de bos clientes 99,9% · Tempo de autorización 330 ms · Ranuras de conexión ocupadas 69% · Servidores en servizo 6 (+0) · Taxa de fraude (porcentaxe do importe aprobado) 10,4 bp · Tempos de espera dos emisores 0,0% · Exposición do stand-in 0,00 M uFiltro de fraudet = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Fraude detido 31%Taxa de fraude (porcentaxedo importe aprobado) 10,4 bp400 tx/s · ↻ 0Servidores de autorización▶▶▶▶▶▶··················Ranuras de conexiónocupadas 69% · 330 ms · ✗ 0,0%Emisores A✓ 250 msEmisores B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uTaxa de aprobación de bos clientes 99,9%Exposición do stand-in 0,00 M u
  • Servidor en servizo
  • Servidor arrancando
  • Posición de rack libre
  • O emisor responde con normalidade
  • Emisor lento ou caído
  • Procesamento por stand-in activado
  • Transaccións entrantes

Controis

Cada servidor ten 32 ranuras de conexión. Os servidores engadidos tardan 5 minutos en arrancar; factúrase cada servidor, estea arrancando ou non.

Admite como máximo o 90 % da capacidade e responde ao exceso ao momento con “téntao de novo máis tarde”, en vez de deixalo facer cola e caducar.

Como reintentan os comercios un fallo técnico (ata 3 reintentos). Inmediato = no minuto seguinte; backoff = backoff exponencial aleatorizado, atrasos medios de 1, 2 e 4 minutos.

As transaccións cunha puntuación igual ou superior a esta denéganse. As puntuacións están en desviacións típicas do tráfico lexítimo: máis baixo significa máis fraude detido e máis bos clientes denegados.

As puntuacións que están así de por debaixo do limiar reciben un desafío adicional ao cliente en vez dunha decisión: o 85 % dos clientes lexítimos complétao, o 5 % dos fraudulentos pásao. 0 = desactivado.

Canto tempo espera unha ranura de conexión a resposta do emisor. Despois o conmutador envía unha anulación (reversal) e usa o stand-in, ou deniega “emisor non dispoñible”.

Cando o emisor non responde a tempo, o conmutador aproba en nome del ata este importe. Cada aprobación de stand-in é unha exposición que o emisor nunca comprobou. 0 = desactivado.

Indicadores

Taxa de aprobación de bos clientes
99,9%
normal
Tempo de autorización
330ms
normal
Taxa de fraude (porcentaxe do importe aprobado)
10,4bp
normal
Ranuras de conexión ocupadas
69%
normal
Taxa de aprobación, emisores sans99,9 %
Bos clientes denegados pola regra de fraude1,3 ‰
Transaccións enviadas a step-up0,0 %
Fraude detido31 %
Novas transaccións400 tx/s
Carga ofrecida (novas + reintentos)400 tx/s
Reintentos0 tx/s
Descartadas por limitación (respondidas “téntao máis tarde”)0 tx/s
Descartadas na cola0,0 %
Tempos de espera dos emisores0,0 %
Aprobacións de stand-in0 tx/s
Servidores en servizo6
Servidores arrancando0
Ritmo de custo dos servidores36 u/h
Custo dos servidores ata agora0 u
Exposición do stand-in0,00 M u
Fraude aprobado ata agora0,00 M u
Boas transaccións perdidas ata agora0,0 k tx
Transaccións á espera de reintento0 tx
Latencia do grupo de emisores B (media)250 ms

Tendencia

Taxa de aprobación de bos clientes: — %100,00,0

Escenarios de crise

Nivel 1 · Pico de venda

Unha gran venda en liña ábrese no minuto 5 e duplica o tráfico a ao redor de 800 transaccións por segundo durante 45 minutos. O conmutador funciona con 6 servidores, dimensionados para un día normal a ao redor do 70 % de ocupación. Os comercios reintentan cada fallo técnico ao momento. Mantén aprobados os bos clientes e as respostas rápidas sen mercar capacidade que non necesitas.

  • Aprobación media de bos clientes ≥ 95 % desde a venda
  • Tempo medio de autorización ≤ 500 ms
  • Custo dos servidores ≤ 75 u

Nivel 2 · Onda de fraude

No minuto 5 comeza a usarse un lote de datos de tarxetas roubados: a porcentaxe de fraude no tráfico salta do 0,1 % ao 1 %. O limiar de denegación está axustado para días normais (3σ) e o step-up está desactivado. Reduce a taxa de fraude sen rexeitar bos clientes.

  • Taxa media de fraude ≤ 25 bp
  • Aprobación media de bos clientes ≥ 98 %
  • Bos clientes denegados pola regra ≤ 5 ‰

Nivel 3 · Caída dun emisor

No minuto 5 os emisores do grupo B — un cuarto de todo o tráfico — pasan a un tempo medio de resposta de 12 segundos. O conmutador agarda ata 8 s por unha resposta, non ten stand-in e funciona con 6 servidores. Mantén fluíndo os clientes dos emisores sans, atende o grupo B ata onde poidas con seguridade e mantén baixo control a exposición do stand-in e o custo.

  • Aprobación media dos clientes de emisores sans ≥ 90 %
  • Aprobación media de bos clientes ≥ 86 %
  • Exposición do stand-in ≤ 9 M u
  • Custo dos servidores ≤ 65 u

Base — o modelo detrás dos números

Todas as relacións que usa o simulador, coa súa fonte. As constantes marcadas como suposicións son calibracións ilustrativas.

As novas transaccións chegan a un ritmo base multiplicado polo pico de vendas; a conta por minuto é aleatoria (Poisson, aproximación normal) cun pouco de ráfagas.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Suposición: o número de ranuras, os tempos de servizo e do emisor, a separación das puntuacións, as taxas de éxito do step-up, a porcentaxe de traballo desperdiciado, os importes e os prezos son valores ilustrativos para un conmutador de tamaño medio, non cifras de ningunha rede real.
Puntuación de fraude binormal: as puntuacións lexítimas e fraudulentas son dúas curvas normais separadas por d′; o limiar escolle un punto 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]Suposición: o número de ranuras, os tempos de servizo e do emisor, a separación das puntuacións, as taxas de éxito do step-up, a porcentaxe de traballo desperdiciado, os importes e os prezos son valores ilustrativos para un conmutador de tamaño medio, non cifras de ningunha rede real.
Limiar óptimo en custo: denegar cando a razón de verosimilitude supera a razón de custos ponderada pola taxa base — dez veces máis fraude móveo ln 10 / d′ ≈ 0,9σ máis abaixo.
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: as puntuacións na banda por debaixo do limiar reciben un desafío en vez de decidirse.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Suposición: o número de ranuras, os tempos de servizo e do emisor, a separación das puntuacións, as taxas de éxito do step-up, a porcentaxe de traballo desperdiciado, os importes e os prezos son valores ilustrativos para un conmutador de tamaño medio, non cifras de ningunha rede real.
A latencia do emisor é exponencial; unha ranura ocúpase durante a latencia ou o tempo de espera, o que veña 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: ranuras ocupadas = ritmo de chegada × tempo de ocupación.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: a probabilidade de que unha transacción espere por unha ranura libre, e a probabilidade de que espere máis que o tempo de espera da cola de 2 s.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Máis alá da capacidade o conmutador tamén gasta traballo en solicitudes que despois descarta, así que o caudal útil cae a medida que sobe a carga; a limitación de carga rexeita o exceso 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]Suposición: o número de ranuras, os tempos de servizo e do emisor, a separación das puntuacións, as taxas de éxito do step-up, a porcentaxe de traballo desperdiciado, os importes e os prezos son valores ilustrativos para un conmutador de tamaño medio, non cifras de ningunha rede real.
Reintentos dos clientes: cada fallo técnico reiníntase ata tres veces, ao momento ou con backoff exponencial aleatorizado.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Suposición: o número de ranuras, os tempos de servizo e do emisor, a separación das puntuacións, as taxas de éxito do step-up, a porcentaxe de traballo desperdiciado, os importes e os prezos son valores ilustrativos para un conmutador de tamaño medio, non cifras de ningunha rede real.
Tempo de espera do emisor, anulación e stand-in: os importes son lognormais, así que a porcentaxe por debaixo do límite e o volume aprobado saen da función de distribución normal.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Taxa de fraude en puntos básicos do importe aprobado; 13 bp úsanse como escala de referencia para pagos remotos pequenos con tarxeta.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Outras constantes de funcionamento que usa o 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 timeSuposición: o número de ranuras, os tempos de servizo e do emisor, a separación das puntuacións, as taxas de éxito do step-up, a porcentaxe de traballo desperdiciado, os importes e os prezos son valores ilustrativos para un conmutador de tamaño medio, non cifras de ningunha rede real.

Aleatoriedade: un xerador mulberry32 con semente; distribucións usadas — uniforme, exponencial (CDF inversa), normal (Box–Muller), Poisson (Knuth). A semente móstrase e pódese compartir.

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

Quen se dedica a isto

Modelo educativo — non apto para decisións operativas. Os emprazamentos reais calibran cada constante segundo o seu propio equipamento e datos.