Finans — betalingsdrift Live-model

Du sidder i driftscentralen for en betalingsswitch, der står mellem forhandlere og kortudstedere. Hvert minut ankommer omkring 400 transaktioner i sekundet; hver scores for svindel, venter på en ledig forbindelsesplads og sendes videre til sin udsteder for at få svar. Modellen beregner køer, timeouts, klientgenforsøg, afvejningen i svindelfiltret og stand-in-eksponering ud fra lærebogsformler. Beløb er i generiske valutaenheder (u). Kun en uddannelsessimulation — ikke finansiel, juridisk eller investeringsrådgivning.

Det lærer du

Simulator

Tid 0 min
Tilbudt belastning (nye + genforsøg) 400 · Genforsøg 0 · Godkendelsesrate for gode kunder 99,9% · Autorisationstid 330 ms · Forbindelsespladser optaget 69% · Servere i drift 6 (+0) · Svindelrate (andel af godkendt beløb) 10,4 bp · Udsteder-timeouts 0,0% · Stand-in-eksponering 0,00 M uSvindelfiltert = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Stoppet svindel 31%Svindelrate (andel afgodkendt beløb) 10,4 bp400 tx/s · ↻ 0Autorisationsservere▶▶▶▶▶▶··················Forbindelsespladseroptaget 69% · 330 ms · ✗ 0,0%Udstedere A✓ 250 msUdstedere B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uGodkendelsesrate for gode kunder 99,9%Stand-in-eksponering 0,00 M u
  • Server i drift
  • Server under opstart
  • Ledig rackplads
  • Udsteder svarer normalt
  • Udsteder langsom eller nede
  • Stand-in-behandling slået til
  • Indkommende transaktioner

Betjening

Hver server har 32 forbindelsespladser. Tilføjede servere bruger 5 minutter på at starte; hver server faktureres, uanset om den starter eller ej.

Lukker højst 90 % af kapaciteten ind og besvarer overskuddet med det samme med „prøv igen senere” i stedet for at lade det stå i kø og time ud.

Hvordan forhandlere gentager en teknisk fejl (op til 3 genforsøg). Straks = inden for næste minut; backoff = tilfældig eksponentiel backoff, gennemsnitlige forsinkelser på 1, 2 og 4 minutter.

Transaktioner med en score på eller over denne værdi afvises. Scorer er i standardafvigelser af ægte trafik: lavere betyder flere stoppede svindelforsøg og flere afviste gode kunder.

Scorer så langt under tærsklen får en ekstra kundeudfordring i stedet for en afgørelse: 85 % af ægte kunder gennemfører den, 5 % af svindlerne består. 0 = fra.

Hvor længe en forbindelsesplads venter på udsterens svar. Derefter sender switchen en tilbageførsel og bruger stand-in eller afviser med „udsteder utilgængelig”.

Når udstederen ikke svarer i tide, godkender switchen på dens vegne op til dette beløb. Hver stand-in-godkendelse er en eksponering, udstederen aldrig har tjekket. 0 = fra.

Indikatorer

Godkendelsesrate for gode kunder
99,9%
normal
Autorisationstid
330ms
normal
Svindelrate (andel af godkendt beløb)
10,4bp
normal
Forbindelsespladser optaget
69%
normal
Godkendelsesrate, sunde udstedere99,9 %
Gode kunder afvist af svindelreglen1,3 ‰
Transaktioner sendt til step-up0,0 %
Stoppet svindel31 %
Nye transaktioner400 tx/s
Tilbudt belastning (nye + genforsøg)400 tx/s
Genforsøg0 tx/s
Afvist (besvaret „prøv senere”)0 tx/s
Droppet i køen0,0 %
Udsteder-timeouts0,0 %
Stand-in-godkendelser0 tx/s
Servere i drift6
Servere under opstart0
Serveromkostningsrate36 u/h
Serveromkostninger indtil nu0 u
Stand-in-eksponering0,00 M u
Godkendt svindel indtil nu0,00 M u
Mistede gode transaktioner indtil nu0,0 k tx
Transaktioner, der venter på genforsøg0 tx
Latenstid for udstedergruppe B (gennemsnit)250 ms

Tendens

Godkendelsesrate for gode kunder: — %100,00,0

Krisescenarier

Niveau 1 · Udsalgsspids

Et stort onlineudsalg åbner i minut 5 og fordobler trafikken til omkring 800 transaktioner i sekundet i 45 minutter. Switchen kører med 6 servere, dimensioneret til en normal dag med omkring 70 % belastning. Forhandlere gentager hver teknisk fejl med det samme. Hold gode kunder godkendt og svarene hurtige uden at købe kapacitet, du ikke har brug for.

  • Gennemsnitlig godkendelse af gode kunder ≥ 95 % fra udsalget åbner
  • Gennemsnitlig autorisationstid ≤ 500 ms
  • Serveromkostninger ≤ 75 u

Niveau 2 · Svindelbølge

I minut 5 begynder en bunke stjålne kortoplysninger at blive brugt: svindelandelen af trafikken springer fra 0,1 % til 1 %. Afvisningstærsklen er sat til normale dage (3σ), og step-up er slået fra. Bring svindelraten ned uden at afvise gode kunder.

  • Gennemsnitlig svindelrate ≤ 25 bp
  • Gennemsnitlig godkendelse af gode kunder ≥ 98 %
  • Gode kunder afvist af reglen ≤ 5 ‰

Niveau 3 · Udstederudfald

I minut 5 bliver udstederne i gruppe B — en fjerdedel af al trafik — langsomme til en gennemsnitlig svartid på 12 sekunder. Switchen venter op til 8 s på et svar, har ingen stand-in og kører med 6 servere. Hold de sunde udsteders kunder i gang, betjen gruppe B så vidt, det er sikkert, og hold stand-in-eksponering og omkostninger i skak.

  • Gennemsnitlig godkendelse af kunder hos sunde udstedere ≥ 90 %
  • Gennemsnitlig godkendelse af gode kunder ≥ 86 %
  • Stand-in-eksponering ≤ 9 M u
  • Serveromkostninger ≤ 65 u

Grundlag — modellen bag tallene

Alle sammenhænge, simulatoren bruger, med deres kilde. Konstanter markeret som antagelser er illustrative kalibreringer.

Nye transaktioner ankommer med en basisrate gange udsalgets stigning; antallet pr. minut er tilfældigt (Poisson, normaltilnærmelse) med en smule stødvis variation.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Antagelse: antal pladser, service- og udstedertider, scoreadskillelse, step-up-beståelsesrater, andel spildt arbejde, beløb og priser er illustrative værdier for en mellemstor switch, ikke tal fra noget reelt netværk.
Binormal svindelscore: ægte og svindelagtige scorer er to normalkurver med afstanden d′; tærsklen vælger et punkt på ROC-kurven.
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]Antagelse: antal pladser, service- og udstedertider, scoreadskillelse, step-up-beståelsesrater, andel spildt arbejde, beløb og priser er illustrative værdier for en mellemstor switch, ikke tal fra noget reelt netværk.
Omkostningsoptimal tærskel: afvis, når sandsynlighedsforholdet overstiger omkostningsforholdet vægtet med basisraten — ti gange mere svindel flytter den ln 10 / d′ ≈ 0,9σ lavere.
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: scorer i båndet under tærsklen udfordres i stedet for at blive afgjort.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Antagelse: antal pladser, service- og udstedertider, scoreadskillelse, step-up-beståelsesrater, andel spildt arbejde, beløb og priser er illustrative værdier for en mellemstor switch, ikke tal fra noget reelt netværk.
Udstederens latenstid er eksponentiel; en plads holdes i latenstiden eller timeouten, alt efter hvad der kommer først.
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]
Littles lov: optagne pladser = ankomstrate × holdetid.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: sandsynligheden for, at en transaktion venter på en ledig plads, og sandsynligheden for, at den venter længere end køens timeout på 2 s.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Ud over kapaciteten bruger switchen også arbejde på forespørgsler, den senere dropper, så nyttig gennemstrømning falder, når belastningen stiger; belastningsafvisning afviser overskuddet billigt.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Antagelse: antal pladser, service- og udstedertider, scoreadskillelse, step-up-beståelsesrater, andel spildt arbejde, beløb og priser er illustrative værdier for en mellemstor switch, ikke tal fra noget reelt netværk.
Klientgenforsøg: hver teknisk fejl gentages op til tre gange, straks eller med tilfældig eksponentiel backoff.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Antagelse: antal pladser, service- og udstedertider, scoreadskillelse, step-up-beståelsesrater, andel spildt arbejde, beløb og priser er illustrative værdier for en mellemstor switch, ikke tal fra noget reelt netværk.
Udsteder-timeout, tilbageførsel og stand-in: beløb er lognormale, så andelen under grænsen og det godkendte volumen følger af normalfordelingens CDF.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Svindelrate i basispoint af det godkendte beløb; 13 bp bruges som referenceskala for små kortbetalinger på afstand.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Andre driftskonstanter, som modellen bruger.
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 timeAntagelse: antal pladser, service- og udstedertider, scoreadskillelse, step-up-beståelsesrater, andel spildt arbejde, beløb og priser er illustrative værdier for en mellemstor switch, ikke tal fra noget reelt netværk.

Tilfældighed: en seedet mulberry32-generator; anvendte fordelinger — uniform, eksponentiel (invers CDF), normal (Box–Muller), Poisson (Knuth). Seed vises og kan deles.

Kilder

  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

Hvem arbejder med dette

Uddannelsesmodel — ikke til operative beslutninger. Rigtige anlæg kalibrerer hver konstant efter deres eget udstyr og data.