Finanțe — operațiuni de plăți Model live

Lucrați la pupitrul de operațiuni al unui comutator de plăți situat între comercianți și emitenții de carduri. În fiecare minut sosesc aproximativ 400 de tranzacții pe secundă; fiecare este evaluată pentru fraudă, așteaptă un slot de conexiune liber și este trimisă emitentului pentru un răspuns. Modelul calculează cozile, timeout-urile, reîncercările clienților, compromisul filtrului antifraudă și expunerea din aprobări prin delegare cu formule din manuale. Sumele sunt exprimate în unități monetare generice (u.m.). Doar simulare educațională — nu reprezintă consultanță financiară, juridică sau de investiții.

Ce vei învăța

Simulator

Timp 0 min
Sarcină oferită (noi + reîncercări) 400 · Reîncercări 0 · Rata de aprobare a clienților buni 99,9% · Timp de autorizare 330 ms · Sloturi de conexiune ocupate 69% · Servere în funcțiune 6 (+0) · Rata fraudei (pondere din suma aprobată) 10,4 bp · Timeout-uri ale emitenților 0,0% · Expunere din aprobări prin delegare 0,00 M uFiltru antifraudăt = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Fraudă oprită 31%Rata fraudei (pondere dinsuma aprobată) 10,4 bp400 tr/s · ↻ 0Servere de autorizare▶▶▶▶▶▶··················Sloturi de conexiuneocupate 69% · 330 ms · ✗ 0,0%Emitenți A✓ 250 msEmitenți B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uRata de aprobare a clienților buni 99,9%Expunere din aprobări prin delegare 0,00 M u
  • Server în funcțiune
  • Server în pornire
  • Loc liber în rack pentru server
  • Emitentul răspunde normal
  • Emitent lent sau căzut
  • Procesarea prin delegare este pornită
  • Tranzacții primite

Comenzi

Fiecare server are 32 de sloturi de conexiune. Serverele adăugate au nevoie de 5 minute să pornească; fiecare server este facturat, pornit sau nu.

Admite cel mult 90 % din capacitate și răspunde imediat excesului cu „încercați mai târziu”, în loc să-l lase să stea la coadă și să expire.

Cum reîncearcă comercianții după un eșec tehnic (până la 3 reîncercări). Imediat = în minutul următor; retragere = întârziere exponențială aleatorie, cu întârzieri medii de 1, 2 și 4 minute.

Tranzacțiile cu scor egal sau mai mare decât acesta sunt respinse. Scorurile sunt în abateri standard ale traficului autentic: mai jos înseamnă mai multă fraudă oprită și mai mulți clienți buni respinși.

Scorurile situate atât de jos sub prag primesc o provocare suplimentară pentru client în loc de o decizie: 85 % dintre clienții autentici o finalizează, 5 % dintre fraudatori o trec. 0 = dezactivat.

Cât timp așteaptă un slot de conexiune răspunsul emitentului. După aceea comutatorul trimite o stornare (reversal) și folosește aprobarea prin delegare (stand-in) sau respinge cu mesajul „emitent indisponibil”.

Când emitentul nu răspunde la timp, comutatorul aprobă în numele lui până la această sumă. Fiecare aprobare prin delegare este o expunere pe care emitentul nu a verificat-o niciodată. 0 = dezactivat.

Indicatori

Rata de aprobare a clienților buni
99,9%
normal
Timp de autorizare
330ms
normal
Rata fraudei (pondere din suma aprobată)
10,4bp
normal
Sloturi de conexiune ocupate
69%
normal
Rata de aprobare, emitenți sănătoși99,9 %
Clienți buni respinși de regula antifraudă1,3 ‰
Tranzacții trimise la autentificare suplimentară0,0 %
Fraudă oprită31 %
Tranzacții noi400 tx/s
Sarcină oferită (noi + reîncercări)400 tx/s
Reîncercări0 tx/s
Respinse (răspuns „încercați mai târziu”)0 tx/s
Abandonate în coadă0,0 %
Timeout-uri ale emitenților0,0 %
Aprobări prin delegare0 tx/s
Servere în funcțiune6
Servere în pornire0
Ritmul costului serverelor36 u/h
Costul serverelor până acum0 u
Expunere din aprobări prin delegare0,00 M u
Fraudă aprobată până acum0,00 M u
Tranzacții bune pierdute până acum0,0 k tx
Tranzacții în așteptarea reîncercării0 tx
Latența emitenților din grupul B (medie)250 ms

Tendință

Rata de aprobare a clienților buni: — %100,00,0

Scenarii de criză

Nivel 1 · Vârful de trafic al unei reduceri

O mare reducere online se deschide în minutul 5 și dublează traficul la aproximativ 800 de tranzacții pe secundă timp de 45 de minute. Comutatorul rulează pe 6 servere, dimensionate pentru o zi normală, cu aproximativ 70 % ocupare. Comercianții reîncearcă imediat fiecare eșec tehnic. Păstrați clienții buni aprobați și răspunsurile rapide, fără să cumpărați capacitate de care nu aveți nevoie.

  • Rata medie de aprobare a clienților buni ≥ 95 % din momentul reducerii
  • Timpul mediu de autorizare ≤ 500 ms
  • Costul serverelor ≤ 75 u.m.

Nivel 2 · Val de fraudă

În minutul 5 începe să fie folosit un lot de date furate de carduri: ponderea fraudei în trafic sare de la 0,1 % la 1 %. Pragul de respingere este setat pentru zilele normale (3σ), iar autentificarea suplimentară este oprită. Reduceți rata fraudei fără a refuza clienți buni.

  • Rata medie a fraudei ≤ 25 pb
  • Rata medie de aprobare a clienților buni ≥ 98 %
  • Clienți buni respinși de regulă ≤ 5 ‰

Nivel 3 · Întrerupere la emitent

În minutul 5 emitenții din grupul B — un sfert din tot traficul — încetinesc la un timp mediu de răspuns de 12 secunde. Comutatorul așteaptă până la 8 s un răspuns, nu are aprobare prin delegare și rulează 6 servere. Mențineți fluxul clienților emitenților sănătoși, serviți grupul B cât puteți în siguranță și țineți sub control expunerea din aprobările prin delegare și costul.

  • Rata medie de aprobare pentru clienții emitenților sănătoși ≥ 90 %
  • Rata medie de aprobare a clienților buni ≥ 86 %
  • Expunerea din aprobări prin delegare ≤ 9 M u.m.
  • Costul serverelor ≤ 65 u.m.

Baza — modelul din spatele cifrelor

Fiecare relație folosită de simulator, cu sursa ei. Constantele marcate ca ipoteze sunt calibrări ilustrative.

Tranzacțiile noi sosesc cu o rată de bază înmulțită cu creșterea din vânzări; numărul pe minut este aleatoriu (Poisson, aproximare normală) cu o ușoară neregularitate.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Ipoteză: numărul de sloturi, timpii de servire și ai emitentului, separarea scorurilor, ratele de trecere a autentificării suplimentare, ponderea muncii irosite, sumele și prețurile sunt valori ilustrative pentru un comutator de dimensiune medie, nu cifre ale vreunei rețele reale.
Scor de fraudă binormal: scorurile autentice și cele frauduloase sunt două curbe normale la distanța d′; pragul alege un punct pe curba 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]Ipoteză: numărul de sloturi, timpii de servire și ai emitentului, separarea scorurilor, ratele de trecere a autentificării suplimentare, ponderea muncii irosite, sumele și prețurile sunt valori ilustrative pentru un comutator de dimensiune medie, nu cifre ale vreunei rețele reale.
Pragul optim ca cost: respingeți când raportul de plauzibilitate depășește raportul costurilor ponderat cu rata de bază — o fraudă de zece ori mai frecventă îl mută cu ln 10 / d′ ≈ 0,9σ mai jos.
decline when e^(d′x − d′²/2) ≥ (1 − π)·c_FP / (π·c_FN) ⇒ t* = [ln((1 − π)c_FP/(π c_FN)) + d′²/2] / d′[8][7]
Autentificare suplimentară: scorurile din banda de sub prag sunt provocate în loc să fie decise.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Ipoteză: numărul de sloturi, timpii de servire și ai emitentului, separarea scorurilor, ratele de trecere a autentificării suplimentare, ponderea muncii irosite, sumele și prețurile sunt valori ilustrative pentru un comutator de dimensiune medie, nu cifre ale vreunei rețele reale.
Latența emitentului este exponențială; un slot este ocupat pe durata latenței sau a timeout-ului, oricare vine primul.
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]
Legea lui Little: sloturi ocupate = rata de sosire × timpul de ocupare.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: probabilitatea ca o tranzacție să aștepte un slot liber și probabilitatea să aștepte mai mult de 2 s, timpul de expirare al cozii.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Peste capacitate, comutatorul consumă muncă și pe cereri pe care le abandonează mai târziu, deci debitul util scade pe măsură ce sarcina crește; limitarea sarcinii refuză excesul ieftin.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Ipoteză: numărul de sloturi, timpii de servire și ai emitentului, separarea scorurilor, ratele de trecere a autentificării suplimentare, ponderea muncii irosite, sumele și prețurile sunt valori ilustrative pentru un comutator de dimensiune medie, nu cifre ale vreunei rețele reale.
Reîncercările clienților: fiecare eșec tehnic este reîncercat de până la trei ori, imediat sau cu retragere exponențială aleatorie.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Ipoteză: numărul de sloturi, timpii de servire și ai emitentului, separarea scorurilor, ratele de trecere a autentificării suplimentare, ponderea muncii irosite, sumele și prețurile sunt valori ilustrative pentru un comutator de dimensiune medie, nu cifre ale vreunei rețele reale.
Timeout al emitentului, stornare și aprobare prin delegare: sumele sunt lognormale, deci ponderea sub limită și volumul aprobat rezultă din funcția de repartiție normală.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Rata fraudei în puncte de bază din suma aprobată; 13 pb se folosește ca scară de referință pentru plățile mici cu card la distanță.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Alte constante de funcționare folosite de model.
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 timeIpoteză: numărul de sloturi, timpii de servire și ai emitentului, separarea scorurilor, ratele de trecere a autentificării suplimentare, ponderea muncii irosite, sumele și prețurile sunt valori ilustrative pentru un comutator de dimensiune medie, nu cifre ale vreunei rețele reale.

Aleatoriu: un generator mulberry32 cu seed; distribuțiile folosite — uniformă, exponențială (CDF inversă), normală (Box–Muller), Poisson (Knuth). Seed-ul este afișat și poate fi partajat.

Surse

  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

Cine face asta ca meserie

Model educațional — nu pentru decizii operaționale. Site-urile reale calibrează fiecare constantă la propriile echipamente și date.