Finanza: operazioni di pagamento Modello live

Sei nella sala operativa di uno switch di pagamento che sta tra esercenti ed emittenti di carte. Ogni minuto arrivano circa 400 transazioni al secondo; ognuna riceve un punteggio di frode, attende uno slot di connessione libero e viene inoltrata al suo emittente per una risposta. Il modello calcola code, timeout, retry dei client, il compromesso del filtro antifrode ed esposizione dello stand-in da formule di manuale. Gli importi sono in unità monetarie generiche (u). Solo simulazione didattica: non è consulenza finanziaria, legale o di investimento.

Cosa imparerai

Simulatore

Tempo 0 min
Carico offerto (nuove + retry) 400 · Retry 0 · Tasso di approvazione dei clienti onesti 99,9% · Tempo di autorizzazione 330 ms · Slot di connessione occupati 69% · Server in servizio 6 (+0) · Tasso di frode (quota dell'importo approvato) 10,4 bp · Timeout degli emittenti 0,0% · Esposizione dello stand-in 0,00 M uFiltro antifrodet = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Frodi fermate 31%Tasso di frode (quotadell'importoapprovato) 10,4 bp400 tx/s · ↻ 0Server di autorizzazione▶▶▶▶▶▶··················Slot di connessioneoccupati 69% · 330 ms · ✗ 0,0%Emittenti A✓ 250 msEmittenti B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uTasso di approvazione dei clienti onesti 99,9%Esposizione dello stand-in 0,00 M u
  • Server in servizio
  • Server in avvio
  • Posizione libera nel rack dei server
  • Emittente che risponde normalmente
  • Emittente lento o fuori servizio
  • Elaborazione in stand-in attiva
  • Transazioni in arrivo

Comandi

Ogni server ha 32 slot di connessione. I server aggiunti impiegano 5 minuti ad avviarsi; ogni server è fatturato, in avvio o no.

Ammette al massimo il 90 % della capacità e risponde subito all'eccesso con «riprova più tardi», invece di lasciarlo in coda a scadere per timeout.

Come gli esercenti ripetono un errore tecnico (fino a 3 tentativi). Immediato = entro il minuto successivo; backoff = backoff esponenziale casualizzato, ritardi medi di 1, 2 e 4 minuti.

Le transazioni con punteggio pari o superiore a questo valore vengono rifiutate. I punteggi sono in deviazioni standard del traffico genuino: più basso significa più frodi fermate e più clienti onesti rifiutati.

I punteggi così al di sotto della soglia ricevono una verifica aggiuntiva al cliente invece di una decisione: l'85 % dei clienti genuini la completa, il 5 % dei truffatori la supera. 0 = disattivato.

Quanto tempo uno slot di connessione attende la risposta dell'emittente. Poi lo switch invia uno storno e usa lo stand-in, oppure rifiuta con «emittente non disponibile».

Quando l'emittente non risponde in tempo, lo switch approva per suo conto fino a questo importo. Ogni approvazione in stand-in è un'esposizione che l'emittente non ha mai verificato. 0 = disattivato.

Indicatori

Tasso di approvazione dei clienti onesti
99,9%
normale
Tempo di autorizzazione
330ms
normale
Tasso di frode (quota dell'importo approvato)
10,4bp
normale
Slot di connessione occupati
69%
normale
Tasso di approvazione, emittenti sani99,9 %
Clienti onesti rifiutati dalla regola antifrode1,3 ‰
Transazioni inviate allo step-up0,0 %
Frodi fermate31 %
Nuove transazioni400 tx/s
Carico offerto (nuove + retry)400 tx/s
Retry0 tx/s
Rifiutate (risposta «riprova più tardi»)0 tx/s
Scartate in coda0,0 %
Timeout degli emittenti0,0 %
Approvazioni in stand-in0 tx/s
Server in servizio6
Server in avvio0
Costo dei server per unità di tempo36 u/h
Costo dei server finora0 u
Esposizione dello stand-in0,00 M u
Frodi approvate finora0,00 M u
Transazioni valide perse finora0,0 k tx
Transazioni in attesa di retry0 tx
Latenza dell'emittente gruppo B (media)250 ms

Andamento

Tasso di approvazione dei clienti onesti: — %100,00,0

Scenari di crisi

Livello 1 · Picco di traffico per i saldi

Un grande saldo online si apre al minuto 5 e raddoppia il traffico a circa 800 transazioni al secondo per 45 minuti. Lo switch ha 6 server, dimensionati per una giornata normale con circa il 70 % di occupazione. Gli esercenti ripetono subito ogni errore tecnico. Mantieni approvati i clienti onesti e le risposte veloci senza comprare capacità che non ti serve.

  • Approvazione media dei clienti onesti ≥ 95 % dall'inizio del saldo
  • Tempo medio di autorizzazione ≤ 500 ms
  • Costo dei server ≤ 75 u

Livello 2 · Ondata di frodi

Al minuto 5 inizia l'uso di un lotto di dati di carte rubate: la quota di frodi nel traffico passa dallo 0,1 % all'1 %. La soglia di rifiuto è impostata per i giorni normali (3σ) e lo step-up è disattivato. Riduci il tasso di frode senza respingere i clienti onesti.

  • Tasso medio di frode ≤ 25 bp
  • Approvazione media dei clienti onesti ≥ 98 %
  • Clienti onesti rifiutati dalla regola ≤ 5 ‰

Livello 3 · Guasto degli emittenti

Al minuto 5 gli emittenti del gruppo B, un quarto di tutto il traffico, rallentano a un tempo medio di risposta di 12 secondi. Lo switch attende fino a 8 s una risposta, non ha stand-in e ha 6 server. Mantieni fluidi i clienti degli emittenti sani, servi il gruppo B finché puoi farlo in sicurezza e tieni sotto controllo esposizione dello stand-in e costi.

  • Approvazione media dei clienti degli emittenti sani ≥ 90 %
  • Approvazione media dei clienti onesti ≥ 86 %
  • Esposizione dello stand-in ≤ 9 M u
  • Costo dei server ≤ 65 u

Base: il modello dietro i numeri

Ogni relazione usata dal simulatore, con la sua fonte. Le costanti indicate come ipotesi sono tarature illustrative.

Le nuove transazioni arrivano a un tasso di base moltiplicato per l'impennata delle vendite; il conteggio al minuto è casuale (Poisson, approssimazione normale) con un po' di burstiness.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Ipotesi: numero di slot, tempi di servizio e dell'emittente, separazione dei punteggi, tassi di superamento dello step-up, quota di lavoro sprecato, importi e prezzi sono valori illustrativi per uno switch di medie dimensioni, non dati di una rete reale.
Punteggio di frode binormale: i punteggi genuini e di frode sono due curve normali a distanza d′; la soglia sceglie un punto sulla 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]Ipotesi: numero di slot, tempi di servizio e dell'emittente, separazione dei punteggi, tassi di superamento dello step-up, quota di lavoro sprecato, importi e prezzi sono valori illustrativi per uno switch di medie dimensioni, non dati di una rete reale.
Soglia ottimale per costo: rifiuta quando il rapporto di verosimiglianza supera il rapporto dei costi pesato per il tasso di base; con dieci volte più frodi la soglia scende di 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: i punteggi nella fascia sotto la soglia vengono sottoposti a verifica invece di essere decisi.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Ipotesi: numero di slot, tempi di servizio e dell'emittente, separazione dei punteggi, tassi di superamento dello step-up, quota di lavoro sprecato, importi e prezzi sono valori illustrativi per uno switch di medie dimensioni, non dati di una rete reale.
La latenza dell'emittente è esponenziale; uno slot è occupato per la latenza o per il timeout, a seconda di quale arriva prima.
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]
Legge di Little: slot occupati = tasso di arrivo × tempo di occupazione.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: la probabilità che una transazione attenda uno slot libero e la probabilità che attenda più del timeout di coda di 2 s.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Oltre la capacità lo switch spende lavoro anche su richieste che scarta in seguito, quindi il throughput utile cala all'aumentare del carico; il load shedding rifiuta l'eccesso a basso costo.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Ipotesi: numero di slot, tempi di servizio e dell'emittente, separazione dei punteggi, tassi di superamento dello step-up, quota di lavoro sprecato, importi e prezzi sono valori illustrativi per uno switch di medie dimensioni, non dati di una rete reale.
Retry dei client: ogni errore tecnico viene ripetuto fino a tre volte, subito o con backoff esponenziale casualizzato.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Ipotesi: numero di slot, tempi di servizio e dell'emittente, separazione dei punteggi, tassi di superamento dello step-up, quota di lavoro sprecato, importi e prezzi sono valori illustrativi per uno switch di medie dimensioni, non dati di una rete reale.
Timeout dell'emittente, storno e stand-in: gli importi sono lognormali, quindi la quota sotto il limite e il volume approvato derivano dalla funzione di ripartizione normale.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Tasso di frode in punti base dell'importo approvato; 13 bp è usato come scala di riferimento per i piccoli pagamenti con carta a distanza.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Altre costanti operative usate dal modello.
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 timeIpotesi: numero di slot, tempi di servizio e dell'emittente, separazione dei punteggi, tassi di superamento dello step-up, quota di lavoro sprecato, importi e prezzi sono valori illustrativi per uno switch di medie dimensioni, non dati di una rete reale.

Casualità: un generatore mulberry32 con seed; distribuzioni usate: uniforme, esponenziale (CDF inversa), normale (Box–Muller), Poisson (Knuth). Il seed è mostrato e condivisibile.

Fonti

  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

Chi lo fa per mestiere

Modello didattico, non per decisioni operative. Gli impianti reali tarano ogni costante sulle proprie apparecchiature e sui propri dati.