Finanses — maksājumu operācijas Dzīvais modelis

Jūs strādājat maksājumu komutatora, kas atrodas starp tirgotājiem un karšu emitentiem, operāciju pultī. Katru minūti ierodas apmēram 400 darījumu sekundē; katrs tiek novērtēts uz krāpšanu, gaida brīvu savienojuma vietu un tiek pārsūtīts emitentam atbildei. Modelis aprēķina rindas, gaidīšanas laikus, klienta atkārtojumus, krāpšanas pārbaudes kompromisu un aizvietojošās apstiprināšanas risku pēc mācību grāmatu formulām. Summas ir vispārīgās naudas vienībās (u). Tikai izglītojoša simulācija — tas nav finanšu, juridisks vai investīciju padoms.

Ko jūs uzzināsiet

Simulators

Laiks 0 min
Piedāvātā slodze (jauni + atkārtojumi) 400 · Atkārtojumi 0 · Labo klientu apstiprināšanas īpatsvars 99,9% · Autorizācijas laiks 330 ms · Aizņemtās savienojuma vietas 69% · Darbojošies serveri 6 (+0) · Krāpšanas līmenis (daļa no apstiprinātās summas) 10,4 bp · Emitentu gaidīšanas laika pārsniegumi 0,0% · Aizvietojošās apstiprināšanas risks 0,00 M uKrāpšanas pārbaudet = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Apturētā krāpšana 31%Krāpšanas līmenis (daļa noapstiprinātāssummas) 10,4 bp400 dar./s · ↻ 0Autorizācijas serveri▶▶▶▶▶▶··················Aizņemtās savienojumavietas 69% · 330 ms · ✗ 0,0%A emitenti✓ 250 msB emitenti✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uLabo klientu apstiprināšanas īpatsvars 99,9%Aizvietojošās apstiprināšanas risks 0,00 M u
  • Serveris darbojas
  • Serveris startē
  • Brīva servera vieta statnī
  • Emitents atbild normāli
  • Emitents lēns vai nedarbojas
  • Aizvietojošā apstiprināšana ieslēgta
  • Ienākošie darījumi

Vadīklas

Katram serverim ir 32 savienojuma vietas. Pievienotie serveri startē 5 minūtes; katrs serveris tiek rēķināts, vai nu tas startē, vai ne.

Pieņem ne vairāk kā 90 % jaudas un uz pārpalikumu uzreiz atbild „mēģiniet vēlāk“, nevis ļauj tam stāties rindā un beigties ar gaidīšanas laiku.

Kā tirgotāji atkārto tehnisku kļūmi (līdz 3 reizēm). Nekavējoties = nākamās minūtes laikā; atlikšana = nejauša eksponenciāla atlikšana, vidējās aizkaves 1, 2 un 4 minūtes.

Darījumi ar vērtējumu, kas vienāds ar šo vai augstāks, tiek noraidīti. Vērtējumi ir izteikti īstās plūsmas standartnovirzēs: zemāks slieksnis nozīmē vairāk apturētu krāpšanu un vairāk noraidītu labu klientu.

Vērtējumi tik tālu zem sliekšņa saņem papildu klienta pārbaudi, nevis lēmumu: 85 % īstu klientu to izpilda, 5 % krāpnieku iztur. 0 = izslēgts.

Cik ilgi savienojuma vieta gaida emitenta atbildi. Pēc tam komutators nosūta atcelšanu un izmanto aizvietojošo apstiprināšanu (stand-in) vai noraida ar „emitents nav pieejams“.

Kad emitents laikā neatbild, komutators apstiprina tā vietā līdz šai summai. Katrs aizvietojošais apstiprinājums ir risks, ko emitents nekad nav pārbaudījis. 0 = izslēgts.

Rādītāji

Labo klientu apstiprināšanas īpatsvars
99,9%
normāls
Autorizācijas laiks
330ms
normāls
Krāpšanas līmenis (daļa no apstiprinātās summas)
10,4bp
normāls
Aizņemtās savienojuma vietas
69%
normāls
Apstiprināšanas īpatsvars, veseli emitenti99,9 %
Labie klienti, ko noraidījis krāpšanas noteikums1,3 ‰
Uz papildu apstiprināšanu nosūtītie darījumi0,0 %
Apturētā krāpšana31 %
Jauni darījumi400 tx/s
Piedāvātā slodze (jauni + atkārtojumi)400 tx/s
Atkārtojumi0 tx/s
Noraidīti (atbilde „mēģiniet vēlāk“)0 tx/s
Atmesti rindā0,0 %
Emitentu gaidīšanas laika pārsniegumi0,0 %
Aizvietojošie apstiprinājumi0 tx/s
Darbojošies serveri6
Startējošie serveri0
Serveru izmaksu ātrums36 u/h
Serveru izmaksas līdz šim0 u
Aizvietojošās apstiprināšanas risks0,00 M u
Apstiprinātā krāpšana līdz šim0,00 M u
Zaudētie labie darījumi līdz šim0,0 k tx
Darījumi, kas gaida atkārtošanu0 tx
B grupas emitentu aizkave (vidējā)250 ms

Tendence

Labo klientu apstiprināšanas īpatsvars: — %100,00,0

Krīzes scenāriji

Līmenis 1 · Izpārdošanas plūsmas maksimums

5. minūtē sākas liela interneta izpārdošana un uz 45 minūtēm dubulto plūsmu līdz apmēram 800 darījumiem sekundē. Komutators darbina 6 serverus, kas aprēķināti parastai dienai ar apmēram 70 % noslodzi. Tirgotāji katru tehnisko kļūmi atkārto nekavējoties. Nodrošiniet labo klientu apstiprināšanu un ātras atbildes, nepērkot jaudu, kas nav vajadzīga.

  • Vidējais labo klientu apstiprināšanas īpatsvars ≥ 95 % no izpārdošanas sākuma
  • Vidējais autorizācijas laiks ≤ 500 ms
  • Serveru izmaksas ≤ 75 u

Līmenis 2 · Krāpšanas vilnis

5. minūtē tiek sākti izmantot nozagtu karšu dati: krāpšanas daļa plūsmā lec no 0,1 % uz 1 %. Noraidīšanas slieksnis ir iestatīts parastām dienām (3σ), un papildu apstiprināšana ir izslēgta. Samaziniet krāpšanas līmeni, neatraidot labos klientus.

  • Vidējais krāpšanas līmenis ≤ 25 bp
  • Vidējais labo klientu apstiprināšanas īpatsvars ≥ 98 %
  • Ar noteikumu noraidītie labie klienti ≤ 5 ‰

Līmenis 3 · Emitentu atteice

5. minūtē B grupas emitenti — ceturtā daļa no visas plūsmas — palēninās līdz 12 sekunžu vidējam atbildes laikam. Komutators gaida atbildi līdz 8 s, tam nav aizvietojošās apstiprināšanas, un tas darbina 6 serverus. Nodrošiniet veselo emitentu klientu plūsmu, apkalpojiet B grupu, cik droši iespējams, un noturiet aizvietojošās apstiprināšanas risku un izmaksas kontrolē.

  • Vidējais veselo emitentu klientu apstiprināšanas īpatsvars ≥ 90 %
  • Vidējais labo klientu apstiprināšanas īpatsvars ≥ 86 %
  • Aizvietojošās apstiprināšanas risks ≤ 9 M u
  • Serveru izmaksas ≤ 65 u

Pamats — modelis aiz skaitļiem

Katra simulatora izmantotā sakarība ar tās avotu. Konstantes, kas atzīmētas kā pieņēmumi, ir ilustratīvas kalibrācijas.

Jauni darījumi ierodas ar bāzes ātrumu × izpārdošanas pieaugums; darījumu skaits minūtē ir nejaušs (Puasona, normālā tuvinājums) ar nelielu uzliesmojumu raksturu.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Binormāls krāpšanas vērtējums: īstie un krāpnieku vērtējumi ir divas normālas līknes d′ attālumā; slieksnis izvēlas punktu uz ROC līknes.
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]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Izmaksu ziņā optimālais slieksnis: noraidīt, kad ticamības attiecība pārsniedz izmaksu attiecību, svērtu ar bāzes biežumu — desmitkārt vairāk krāpšanas to pazemina par 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]
Papildu apstiprināšana: vērtējumi joslā zem sliekšņa tiek papildus pārbaudīti, nevis izlemti uzreiz.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Emitenta aizkave ir eksponenciāla; vieta tiek aizņemta uz aizkaves vai gaidīšanas laika ilgumu, atkarībā no tā, kas ir īsāks.
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 likums: aizņemtās vietas = ienākšanas ātrums × aizņemšanas laiks.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: varbūtība, ka darījums gaidīs brīvu vietu, un varbūtība, ka tas gaidīs ilgāk par 2 s rindas gaidīšanas laiku.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Pāri jaudai komutators tērē darbu arī pieprasījumiem, ko vēlāk atmet, tāpēc derīgā caurlaidība krītas, slodzei pieaugot; slodzes samazināšana pārpalikumu noraida lēti.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Klienta atkārtojumi: katra tehniskā kļūme tiek atkārtota līdz trīs reizēm — nekavējoties vai ar nejaušu eksponenciālu atlikšanu.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Emitenta gaidīšanas laiks, atcelšana un aizvietojošā apstiprināšana: summas ir lognormālas, tāpēc daļa zem limita un apstiprinātais apjoms izriet no normālā sadalījuma funkcijas.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Krāpšanas līmenis bāzes punktos no apstiprinātās summas; 13 bp izmanto kā atsauces mērogu maziem attālinātiem karšu maksājumiem.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Citas modelī izmantotās darbības konstantes.
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 timePieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.

Nejaušība: sēklas mulberry32 ģenerators; izmantotie sadalījumi — vienmērīgais, eksponenciālais (apgrieztā CDF), normālais (Box–Muller), Puasona (Knuth). Sēkla tiek rādīta un to var kopīgot.

Avoti

  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

Kas ar to nodarbojas profesionāli

Izglītojošs modelis — nav paredzēts ekspluatācijas lēmumiem. Reālas vietas kalibrē katru konstanti pēc savas iekārtas un datiem.