Finanzas: operaciones de pagos Modelo en vivo

Trabajas en la mesa de operaciones de un conmutador de pagos que se sitúa entre los comercios y los emisores de tarjetas. Cada minuto llegan unas 400 transacciones por segundo; a cada una se le calcula un puntaje de fraude, espera una ranura de conexión libre y se reenvía a su emisor para obtener una respuesta. El modelo calcula las colas, los tiempos de espera, los reintentos de los clientes, el equilibrio de la detección de fraude y la exposición del stand-in con fórmulas de libro de texto. Los montos están en unidades monetarias genéricas (u). Solo simulación educativa: no es asesoría financiera, legal ni de inversión.

Qué aprenderás

Simulador

Tiempo 0 min
Carga ofrecida (nuevas + reintentos) 400 · Reintentos 0 · Tasa de aprobación de clientes buenos 99.9% · Tiempo de autorización 330 ms · Ranuras de conexión ocupadas 69% · Servidores en servicio 6 (+0) · Tasa de fraude (porcentaje del monto aprobado) 10.4 bp · Tiempos de espera de emisores agotados 0.0% · Exposición del stand-in 0.00 M uFiltro de fraudet = 3.00σ✓ 99.9% · ? 0.0% · ✗ 0.1%Fraude detenido 31%Tasa de fraude (porcentajedel monto 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 uTasa de aprobación de clientes buenos 99.9%Exposición del stand-in 0.00 M u
  • Servidor en servicio
  • Servidor arrancando
  • Posición libre en el rack de servidores
  • Emisor respondiendo con normalidad
  • Emisor lento o caído
  • Procesamiento stand-in activado
  • Transacciones entrantes

Controles

Cada servidor tiene 32 ranuras de conexión. Los servidores añadidos tardan 5 minutos en arrancar; se factura cada servidor, esté arrancando o no.

Admite como máximo 90 % de la capacidad y responde de inmediato el exceso con “vuelva a intentarlo más tarde”, en lugar de dejar que haga cola y agote el tiempo de espera.

Cómo reintentan los comercios un fallo técnico (hasta 3 reintentos). Inmediato = en el siguiente minuto; retroceso = retroceso exponencial aleatorizado, con demoras medias de 1, 2 y 4 minutos.

Las transacciones con un puntaje igual o superior a este se rechazan. Los puntajes están en desviaciones estándar del tráfico genuino: más bajo significa más fraude detenido y más clientes buenos rechazados.

Los puntajes que están tan por debajo del umbral reciben un desafío adicional al cliente en lugar de una decisión: 85 % de los clientes genuinos lo completan, 5 % de los defraudadores lo superan. 0 = desactivado.

Cuánto espera una ranura de conexión la respuesta del emisor. Pasado ese tiempo, el conmutador envía una reversión y usa el stand-in (aprobación en nombre del emisor), o rechaza con “emisor no disponible”.

Cuando el emisor no responde a tiempo, el conmutador aprueba en su nombre hasta este monto. Cada aprobación stand-in es una exposición que el emisor nunca revisó. 0 = desactivado.

Indicadores

Tasa de aprobación de clientes buenos
99.9%
normal
Tiempo de autorización
330ms
normal
Tasa de fraude (porcentaje del monto aprobado)
10.4bp
normal
Ranuras de conexión ocupadas
69%
normal
Tasa de aprobación, emisores sanos99.9 %
Clientes buenos rechazados por la regla de fraude1.3 ‰
Transacciones enviadas al step-up0.0 %
Fraude detenido31 %
Transacciones nuevas400 tx/s
Carga ofrecida (nuevas + reintentos)400 tx/s
Reintentos0 tx/s
Descartadas (respondidas con “inténtelo más tarde”)0 tx/s
Descartadas en la cola0.0 %
Tiempos de espera de emisores agotados0.0 %
Aprobaciones stand-in0 tx/s
Servidores en servicio6
Servidores arrancando0
Tasa de costo de servidores36 u/h
Costo de servidores hasta ahora0 u
Exposición del stand-in0.00 M u
Fraude aprobado hasta ahora0.00 M u
Transacciones buenas perdidas hasta ahora0.0 k tx
Transacciones esperando para reintentar0 tx
Latencia del grupo de emisores B (media)250 ms

Tendencia

Tasa de aprobación de clientes buenos: — %100.00.0

Escenarios de crisis

Nivel 1 · Pico de demanda por una venta

Una gran venta en línea abre en el minuto 5 y duplica el tráfico a unas 800 transacciones por segundo durante 45 minutos. El conmutador opera con 6 servidores, dimensionados para un día normal con aproximadamente 70 % de ocupación. Los comercios reintentan de inmediato cada fallo técnico. Mantén aprobados a los clientes buenos y las respuestas rápidas sin comprar capacidad que no necesitas.

  • Aprobación media de clientes buenos ≥ 95 % desde el inicio de la venta
  • Tiempo medio de autorización ≤ 500 ms
  • Costo de servidores ≤ 75 u

Nivel 2 · Oleada de fraude

En el minuto 5 empieza a usarse un lote de datos de tarjetas robadas: la proporción de fraude en el tráfico salta de 0.1 % a 1 %. El umbral de rechazo está fijado para días normales (3σ) y el step-up está desactivado. Reduce la tasa de fraude sin rechazar a los clientes buenos.

  • Tasa media de fraude ≤ 25 pb
  • Aprobación media de clientes buenos ≥ 98 %
  • Clientes buenos rechazados por la regla ≤ 5 ‰

Nivel 3 · Caída de emisores

En el minuto 5 los emisores del grupo B, una cuarta parte de todo el tráfico, se ralentizan hasta un tiempo medio de respuesta de 12 segundos. El conmutador espera hasta 8 s por una respuesta, no tiene stand-in y opera con 6 servidores. Mantén fluyendo a los clientes de los emisores sanos, atiende al grupo B hasta donde sea seguro y mantén bajo control la exposición del stand-in y el costo.

  • Aprobación media de clientes de emisores sanos ≥ 90 %
  • Aprobación media de clientes buenos ≥ 86 %
  • Exposición del stand-in ≤ 9 M u
  • Costo de servidores ≤ 65 u

Base: el modelo detrás de las cifras

Todas las relaciones que usa el simulador, con su fuente. Las constantes marcadas como supuestos son calibraciones ilustrativas.

Las transacciones nuevas llegan a una tasa base multiplicada por el aumento de ventas; el conteo por minuto es aleatorio (Poisson, aproximación normal) con algo de irregularidad.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Supuesto: el número de ranuras, los tiempos de servicio y del emisor, la separación de puntajes, las tasas de aprobación del step-up, la proporción de trabajo desperdiciado, los montos y los precios son valores ilustrativos de un conmutador mediano, no cifras de ninguna red real.
Puntaje de fraude binormal: los puntajes genuinos y de fraude son dos curvas normales separadas por d′; el umbral elige un punto de la 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]Supuesto: el número de ranuras, los tiempos de servicio y del emisor, la separación de puntajes, las tasas de aprobación del step-up, la proporción de trabajo desperdiciado, los montos y los precios son valores ilustrativos de un conmutador mediano, no cifras de ninguna red real.
Umbral de costo óptimo: rechazar cuando la razón de verosimilitud supera la razón de costos ponderada por la tasa base; si el fraude es diez veces más frecuente, el umbral baja ln 10 / d′ ≈ 0.9σ.
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: los puntajes de la banda bajo el umbral reciben un desafío en lugar de una decisión.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Supuesto: el número de ranuras, los tiempos de servicio y del emisor, la separación de puntajes, las tasas de aprobación del step-up, la proporción de trabajo desperdiciado, los montos y los precios son valores ilustrativos de un conmutador mediano, no cifras de ninguna red real.
La latencia del emisor es exponencial; una ranura se mantiene ocupada durante la latencia o el tiempo de espera, lo que ocurra primero.
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]
Ley de Little: ranuras ocupadas = tasa de llegada × tiempo de ocupación.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: la probabilidad de que una transacción espere una ranura libre y la probabilidad de que espere más que el tiempo de espera de la 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ás allá de la capacidad, el conmutador también gasta trabajo en solicitudes que luego descarta, así que el rendimiento útil cae a medida que sube la carga; el descarte de carga rechaza el exceso a bajo costo.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Supuesto: el número de ranuras, los tiempos de servicio y del emisor, la separación de puntajes, las tasas de aprobación del step-up, la proporción de trabajo desperdiciado, los montos y los precios son valores ilustrativos de un conmutador mediano, no cifras de ninguna red real.
Reintentos del cliente: cada fallo técnico se reintenta hasta tres veces, de inmediato o con retroceso exponencial aleatorizado.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Supuesto: el número de ranuras, los tiempos de servicio y del emisor, la separación de puntajes, las tasas de aprobación del step-up, la proporción de trabajo desperdiciado, los montos y los precios son valores ilustrativos de un conmutador mediano, no cifras de ninguna red real.
Tiempo de espera del emisor, reversión y stand-in: los montos son lognormales, así que la proporción por debajo del límite y el volumen aprobado se obtienen de la FDA normal.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Tasa de fraude en puntos básicos del monto aprobado; se usa 13 pb como escala de referencia para pagos remotos pequeños con tarjeta.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Otras constantes de operación que usa el 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 timeSupuesto: el número de ranuras, los tiempos de servicio y del emisor, la separación de puntajes, las tasas de aprobación del step-up, la proporción de trabajo desperdiciado, los montos y los precios son valores ilustrativos de un conmutador mediano, no cifras de ninguna red real.

Aleatoriedad: un generador mulberry32 con semilla; distribuciones usadas: uniforme, exponencial (CDF inversa), normal (Box–Muller), Poisson (Knuth). La semilla se muestra y se puede compartir.

Fuentes

  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

Quién se dedica a esto

Modelo educativo: no sirve para decisiones operativas. Las instalaciones reales calibran cada constante con sus propios equipos y datos.