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
Por qué los reintentos pueden atrapar a un conmutador sobrecargado en una tormenta de reintentos incluso después de añadir capacidad, y cómo el descarte de carga rompe el ciclo.
Cómo un umbral de puntaje de fraude equilibra las pérdidas por fraude contra los buenos clientes rechazados, y por qué el umbral correcto depende de la tasa base de fraude.
Cómo un solo emisor lento llena todas las ranuras de conexión (ley de Little) y cuánto cuestan los tiempos de espera y el procesamiento stand-in.
Simulador
Tiempo 0 min
▶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 sanos
99.9 %
Clientes buenos rechazados por la regla de fraude
1.3 ‰
Transacciones enviadas al step-up
0.0 %
Fraude detenido
31 %
Transacciones nuevas
400 tx/s
Carga ofrecida (nuevas + reintentos)
400 tx/s
Reintentos
0 tx/s
Descartadas (respondidas con “inténtelo más tarde”)
0 tx/s
Descartadas en la cola
0.0 %
Tiempos de espera de emisores agotados
0.0 %
Aprobaciones stand-in
0 tx/s
Servidores en servicio
6
Servidores arrancando
0
Tasa de costo de servidores
36 u/h
Costo de servidores hasta ahora
0 u
Exposición del stand-in
0.00 M u
Fraude aprobado hasta ahora
0.00 M u
Transacciones buenas perdidas hasta ahora
0.0 k tx
Transacciones esperando para reintentar
0 tx
Latencia del grupo de emisores B (media)
250 ms
Tendencia
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σ.
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.
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.
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.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013