Rahandus — maksete operatsioonid Reaalaja mudel

Sa oled kauplejate ja kaardiväljastajate vahel asuva makselüliti operatsioonilaua juures. Igal minutil saabub umbes 400 tehingut sekundis; igaüks saab pettuse skoori, ootab vaba ühendusepesa ja edastatakse väljastajale vastuse saamiseks. Mudel arvutab järjekorrad, ajalõpud, kliendi korduskatsed, pettusesõela kompromissi ja asendusloa riski õpikuvalemitega. Summad on üldistes rahaühikutes (u). Ainult õppesimulatsioon — mitte finants-, õigus- ega investeerimisnõu.

Mida sa õpid

Simulaator

Aeg 0 min
Pakutud koormus (uued + korduskatsed) 400 · Korduskatsed 0 · Heade klientide heakskiitmise määr 99,9% · Autoriseerimise aeg 330 ms · Ühendusepesad hõivatud 69% · Serverid kasutusel 6 (+0) · Pettuse määr (osakaal heakskiidetud summast) 10,4 bp · Väljastajate ajalõpud 0,0% · Asendusloa risk 0,00 M uPettusesõelt = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Peatatud pettus 31%Pettuse määr (osakaalheakskiidetudsummast) 10,4 bp400 teh/s · ↻ 0Autoriseerimisserverid▶▶▶▶▶▶··················Ühendusepesad hõivatud 69%330 ms · ✗ 0,0%Väljastajad A✓ 250 msVäljastajad B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uHeade klientide heakskiitmise määr 99,9% · Asendusloa risk 0,00 M u
  • Server kasutusel
  • Server käivitub
  • Vaba serveririiuli koht
  • Väljastaja vastab normaalselt
  • Väljastaja aeglane või maas
  • Asendusloa töötlus sees
  • Sissetulevad tehingud

Juhtimine

Igal serveril on 32 ühendusepesa. Lisatud serverid käivituvad 5 minutiga; iga server on arvel, olgu see käivitumas või mitte.

Võtab vastu kuni 90 % võimsusest ja vastab ülejäägile kohe „proovi hiljem“, selle asemel et lasta sellel järjekorras oodata ja ajalõpuni jõuda.

Kuidas kauplejad pärast tehnilist tõrget uuesti proovivad (kuni 3 korduskatset). Kohe = järgmise minuti jooksul; ooteaeg = juhuslikustatud eksponentsiaalne ooteaeg, keskmised viivitused 1, 2 ja 4 minutit.

Tehingud, mille skoor on selle väärtusega võrdne või sellest kõrgem, lükatakse tagasi. Skoorid on ehtsa liikluse standardhälvetes: madalam tähendab rohkem peatatud pettust ja rohkem tagasi lükatud häid kliente.

Nii kaugel läve all olevad skoorid saavad otsuse asemel täiendava kliendikatse: 85 % ehtsatest klientidest sooritab selle, 5 % petturitest läbib. 0 = väljas.

Kui kaua ühendusepesa ootab väljastaja vastust. Pärast seda saadab lüliti tühistuse ja kasutab asendusluba (stand-in) või lükkab tagasi põhjusega „väljastaja pole kättesaadav“.

Kui väljastaja ei vasta õigel ajal, kiidab lüliti tema nimel heaks kuni selle summani. Iga asendusloaga heakskiit on risk, mida väljastaja pole kunagi kontrollinud. 0 = väljas.

Näitajad

Heade klientide heakskiitmise määr
99,9%
normaalne
Autoriseerimise aeg
330ms
normaalne
Pettuse määr (osakaal heakskiidetud summast)
10,4bp
normaalne
Ühendusepesad hõivatud
69%
normaalne
Heakskiitmise määr, terved väljastajad99,9 %
Pettusereegli tagasi lükatud head kliendid1,3 ‰
Täiendavale autentimisele suunatud tehingud0,0 %
Peatatud pettus31 %
Uued tehingud400 tx/s
Pakutud koormus (uued + korduskatsed)400 tx/s
Korduskatsed0 tx/s
Maha võetud (vastatud „proovi hiljem“)0 tx/s
Järjekorras kaduma läinud0,0 %
Väljastajate ajalõpud0,0 %
Asendusloaga heakskiidud0 tx/s
Serverid kasutusel6
Käivituvad serverid0
Serverikulu ajaühikus36 u/h
Serverikulu seni0 u
Asendusloa risk0,00 M u
Seni heaks kiidetud pettus0,00 M u
Seni kaotatud head tehingud0,0 k tx
Korduskatset ootavad tehingud0 tx
Väljastajate rühma B latentsus (keskmine)250 ms

Trend

Heade klientide heakskiitmise määr: — %100,00,0

Kriisistsenaariumid

Tase 1 · Müügitipu tõus

Suur veebimüük algab 5. minutil ja kahekordistab liikluse umbes 800 tehinguni sekundis 45 minutiks. Lüliti töötab 6 serveriga, mõõtmestatud tavapäevaks umbes 70 % koormusega. Kauplejad proovivad iga tehnilist tõrget kohe uuesti. Hoia head kliendid heakskiidetuna ja vastused kiired, ostmata mittevajalikku võimsust.

  • Heade klientide keskmine heakskiitmise määr ≥ 95 % müügi algusest peale
  • Keskmine autoriseerimise aeg ≤ 500 ms
  • Serverikulu ≤ 75 u

Tase 2 · Pettuselaine

5. minutil hakatakse kasutama varastatud kaardiandmete partiid: pettuse osakaal liiklusest hüppab 0,1 %-lt 1 %-ni. Tagasilükkamise lävi on seatud tavapäevadele (3σ) ja täiendav autentimine on välja lülitatud. Vii pettuse määr alla, lükkamata tagasi häid kliente.

  • Keskmine pettuse määr ≤ 25 bp
  • Heade klientide keskmine heakskiitmise määr ≥ 98 %
  • Reegli tagasi lükatud head kliendid ≤ 5 ‰

Tase 3 · Väljastajate rike

5. minutil aeglustuvad rühma B väljastajad — veerand kogu liiklusest — keskmise 12-sekundilise vastamisajani. Lüliti ootab vastust kuni 8 s, tal pole asendusluba ja ta töötab 6 serveriga. Hoia tervete väljastajate kliendid liikumas, teeninda rühma B niivõrd kui turvaliselt suudad ning hoia asendusloa risk ja kulu kontrolli all.

  • Tervete väljastajate klientide keskmine heakskiitmise määr ≥ 90 %
  • Heade klientide keskmine heakskiitmise määr ≥ 86 %
  • Asendusloa risk ≤ 9 M u
  • Serverikulu ≤ 65 u

Alus — arvude taga olev mudel

Kõik seosed, mida simulaator kasutab, koos allikaga. Eeldustena märgitud konstandid on illustratiivsed kalibreeringud.

Uued tehingud saabuvad baaskiirusel korrutatuna müügitormi kordajaga; minutis saabuv arv on juhuslik (Poisson, normaalhinnang) ja veidi laineline.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Eeldus: pesade arvud, teenindus- ja väljastaja ajad, skooride eristatavus, täiendava autentimise läbimismäärad, raisatud töö osakaal, summad ja hinnad on illustreerivad väärtused keskmise suurusega lüliti jaoks, mitte ühegi tegeliku võrgu näitajad.
Binormaalne pettuseskoor: ehtsate ja pettuste skoorid on kaks normaalkõverat d′ kaugusel teineteisest; lävi valib punkti ROC-kõveral.
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]Eeldus: pesade arvud, teenindus- ja väljastaja ajad, skooride eristatavus, täiendava autentimise läbimismäärad, raisatud töö osakaal, summad ja hinnad on illustreerivad väärtused keskmise suurusega lüliti jaoks, mitte ühegi tegeliku võrgu näitajad.
Kuluoptimaalne lävi: lükka tagasi, kui tõepärasuhe ületab baasmäära järgi kaalutud kulusuhte — kümme korda rohkem pettust nihutab seda ln 10 / d′ ≈ 0,9σ võrra madalamale.
decline when e^(d′x − d′²/2) ≥ (1 − π)·c_FP / (π·c_FN) ⇒ t* = [ln((1 − π)c_FP/(π c_FN)) + d′²/2] / d′[8][7]
Täiendav autentimine: läve all vööndis olevaid skoore ei otsustata, vaid esitatakse neile kliendikatse.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Eeldus: pesade arvud, teenindus- ja väljastaja ajad, skooride eristatavus, täiendava autentimise läbimismäärad, raisatud töö osakaal, summad ja hinnad on illustreerivad väärtused keskmise suurusega lüliti jaoks, mitte ühegi tegeliku võrgu näitajad.
Väljastaja latentsus on eksponentsiaalne; pesa on hõivatud latentsuse või ajalõpu ajaks, olenevalt sellest, kumb tuleb enne.
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]
Little'i seadus: hõivatud pesad = saabumiskiirus × hõivatuse kestus.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: tõenäosus, et tehing ootab vaba ühendusepesa, ja tõenäosus, et ta ootab kauem kui 2 s järjekorra ajalõpp.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Üle võimsuse kulutab lüliti tööd ka päringutele, mille ta hiljem maha jätab, nii et kasulik läbilaskevõime langeb koormuse kasvades; koormuse mahavõtt keeldub ülejäägist odavalt.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Eeldus: pesade arvud, teenindus- ja väljastaja ajad, skooride eristatavus, täiendava autentimise läbimismäärad, raisatud töö osakaal, summad ja hinnad on illustreerivad väärtused keskmise suurusega lüliti jaoks, mitte ühegi tegeliku võrgu näitajad.
Kliendi korduskatsed: iga tehnilist tõrget proovitakse uuesti kuni kolm korda, kohe või juhuslikustatud eksponentsiaalse ooteajaga.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Eeldus: pesade arvud, teenindus- ja väljastaja ajad, skooride eristatavus, täiendava autentimise läbimismäärad, raisatud töö osakaal, summad ja hinnad on illustreerivad väärtused keskmise suurusega lüliti jaoks, mitte ühegi tegeliku võrgu näitajad.
Väljastaja ajalõpp, tühistus ja asendusluba: summad on lognormaalsed, seega järgnevad piirist allpool olev osa ja heakskiidetud maht normaaljaotuse kumulatiivsest jaotusfunktsioonist.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Pettuse määr baaspunktides heakskiidetud summast; 13 bp on võrdlusskaala väikestele kaugmaksetele kaardiga.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Muud mudelis kasutatavad tööpüsiväärtused.
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 timeEeldus: pesade arvud, teenindus- ja väljastaja ajad, skooride eristatavus, täiendava autentimise läbimismäärad, raisatud töö osakaal, summad ja hinnad on illustreerivad väärtused keskmise suurusega lüliti jaoks, mitte ühegi tegeliku võrgu näitajad.

Juhuslikkus: seemnega mulberry32 generaator; kasutatud jaotused — ühtlane, eksponentsiaalne (pöördkumulatiivne jaotusfunktsioon), normaal (Box–Muller), Poisson (Knuth). Seeme on nähtav ja jagatav.

Allikad

  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

Kes seda elukutseliselt teeb

Õppemudel — ei ole mõeldud operatiivotsusteks. Tegelikud rajatised kalibreerivad iga konstandi oma seadmete ja andmete järgi.