Rahoitus — maksuoperaatiot Reaaliaikainen malli

Olet kauppiaiden ja korttien myöntäjien välissä olevan maksukytkimen operaatiopöydässä. Joka minuutti saapuu noin 400 tapahtumaa sekunnissa; jokaiselle lasketaan petospisteet, se odottaa vapaata yhteyspaikkaa ja välitetään kortinmyöntäjälle vastausta varten. Malli laskee jonotuksen, aikakatkaisut, asiakkaiden uudelleenyritykset, petosseulan kompromissin ja varahyväksynnän riskin oppikirjakaavoilla. Summat ovat yleisinä rahayksikköinä (u). Vain opetussimulaatio — ei rahoitus-, oikeudellista tai sijoitusneuvontaa.

Mitä opit

Simulaattori

Aika 0 min
Tarjottu kuorma (uudet + uudelleenyritykset) 400 · Uudelleenyritykset 0 · Hyvien asiakkaiden hyväksymisaste 99,9% · Valtuutusaika 330 ms · Yhteyspaikat varattuina 69% · Palvelimet käytössä 6 (+0) · Petosaste (osuus hyväksytystä summasta) 10,4 bp · Kortinmyöntäjien aikakatkaisut 0,0% · Varahyväksynnän riski 0,00 M uPetosseulat = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Pysäytetty petos 31%Petosaste (osuushyväksytystäsummasta) 10,4 bp400 tap./s · ↻ 0Valtuutuspalvelimet▶▶▶▶▶▶··················Yhteyspaikat varattuina 69%330 ms · ✗ 0,0%KortinmyöntäjätA✓ 250 msKortinmyöntäjätB✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uHyvien asiakkaiden hyväksymisaste 99,9%Varahyväksynnän riski 0,00 M u
  • Palvelin käytössä
  • Palvelin käynnistyy
  • Vapaa palvelinkaapin paikka
  • Kortinmyöntäjä vastaa normaalisti
  • Kortinmyöntäjä hidas tai alhaalla
  • Varahyväksyntä päällä
  • Saapuvat tapahtumat

Säätimet

Jokaisessa palvelimessa on 32 yhteyspaikkaa. Lisätyt palvelimet käynnistyvät 5 minuutissa; jokaisesta palvelimesta laskutetaan, käynnistyi se tai ei.

Päästää sisään enintään 90 % kapasiteetista ja vastaa ylimäärään heti ”yritä myöhemmin” sen sijaan, että antaisi sen jonottaa ja aikakatkaistua.

Miten kauppiaat yrittävät uudelleen teknisen virheen jälkeen (enintään 3 uudelleenyritystä). Heti = seuraavan minuutin aikana; porrastettu viive = satunnaistettu eksponentiaalinen viive, keskimääräiset viiveet 1, 2 ja 4 minuuttia.

Tapahtumat, joiden pisteet ovat tämän verran tai enemmän, hylätään. Pisteet ovat aidon liikenteen keskihajontoina: matalampi tarkoittaa enemmän pysäytettyä petosta ja enemmän hylättyjä hyviä asiakkaita.

Näin kaukana kynnyksen alapuolella olevat pisteet saavat päätöksen sijaan ylimääräisen asiakashaasteen: 85 % aidoista asiakkaista suorittaa sen, 5 % petoksentekijöistä läpäisee. 0 = pois.

Kuinka kauan yhteyspaikka odottaa kortinmyöntäjän vastausta. Sen jälkeen kytkin lähettää peruutuksen ja käyttää varahyväksyntää (stand-in) tai hylkää syyllä ”kortinmyöntäjä ei ole tavoitettavissa”.

Kun kortinmyöntäjä ei vastaa ajoissa, kytkin hyväksyy sen puolesta tähän summaan asti. Jokainen varahyväksyntä on riski, jota kortinmyöntäjä ei ole koskaan tarkistanut. 0 = pois.

Mittarit

Hyvien asiakkaiden hyväksymisaste
99,9%
normaali
Valtuutusaika
330ms
normaali
Petosaste (osuus hyväksytystä summasta)
10,4bp
normaali
Yhteyspaikat varattuina
69%
normaali
Hyväksymisaste, terveet kortinmyöntäjät99,9 %
Petossäännön hylkäämät hyvät asiakkaat1,3 ‰
Vahvennettuun tunnistukseen ohjatut tapahtumat0,0 %
Pysäytetty petos31 %
Uudet tapahtumat400 tx/s
Tarjottu kuorma (uudet + uudelleenyritykset)400 tx/s
Uudelleenyritykset0 tx/s
Pudotettu (vastattu ”yritä myöhemmin”)0 tx/s
Pudonneet jonossa0,0 %
Kortinmyöntäjien aikakatkaisut0,0 %
Varahyväksynnät0 tx/s
Palvelimet käytössä6
Käynnistyvät palvelimet0
Palvelinkustannus aikayksikköä kohti36 u/h
Palvelinkustannus toistaiseksi0 u
Varahyväksynnän riski0,00 M u
Hyväksytty petos toistaiseksi0,00 M u
Menetetyt hyvät tapahtumat toistaiseksi0,0 k tx
Uudelleenyritystä odottavat tapahtumat0 tx
Kortinmyöntäjäryhmän B viive (keskiarvo)250 ms

Trendi

Hyvien asiakkaiden hyväksymisaste: — %100,00,0

Kriisiskenaariot

Taso 1 · Alennusmyynnin ruuhkahuippu

Suuri verkkoalennusmyynti alkaa minuutilla 5 ja kaksinkertaistaa liikenteen noin 800 tapahtumaan sekunnissa 45 minuutiksi. Kytkin pyörii 6 palvelimella, mitoitettuna tavalliselle päivälle noin 70 %:n kuormituksella. Kauppiaat yrittävät jokaista teknistä virhettä uudelleen heti. Pidä hyvät asiakkaat hyväksyttyinä ja vastaukset nopeina ostamatta tarpeetonta kapasiteettia.

  • Hyvien asiakkaiden keskimääräinen hyväksymisaste ≥ 95 % alennusmyynnin alusta
  • Keskimääräinen valtuutusaika ≤ 500 ms
  • Palvelinkustannus ≤ 75 u

Taso 2 · Petosaalto

Minuutilla 5 alkaa varastettujen korttitietojen erän käyttö: petosten osuus liikenteestä hyppää 0,1 %:sta 1 %:iin. Hylkäyskynnys on asetettu tavallisille päiville (3σ), ja vahvennettu tunnistus on pois päältä. Laske petosastetta hylkäämättä hyviä asiakkaita.

  • Keskimääräinen petosaste ≤ 25 bp
  • Hyvien asiakkaiden keskimääräinen hyväksymisaste ≥ 98 %
  • Säännön hylkäämät hyvät asiakkaat ≤ 5 ‰

Taso 3 · Kortinmyöntäjien katko

Minuutilla 5 ryhmän B kortinmyöntäjät — neljännes koko liikenteestä — hidastuvat 12 sekunnin keskimääräiseen vastausaikaan. Kytkin odottaa vastausta enintään 8 s, sillä ei ole varahyväksyntää ja se pyörii 6 palvelimella. Pidä terveiden kortinmyöntäjien asiakkaat liikkeessä, palvele ryhmää B niin pitkälle kuin turvallisesti pystyt ja pidä varahyväksynnän riski ja kustannukset kurissa.

  • Terveiden kortinmyöntäjien asiakkaiden keskimääräinen hyväksymisaste ≥ 90 %
  • Hyvien asiakkaiden keskimääräinen hyväksymisaste ≥ 86 %
  • Varahyväksynnän riski ≤ 9 M u
  • Palvelinkustannus ≤ 65 u

Perusta — lukujen takana oleva malli

Kaikki simulaattorin käyttämät yhteydet lähteineen. Oletuksiksi merkityt vakiot ovat havainnollistavia kalibrointeja.

Uudet tapahtumat saapuvat perusnopeudella kertaa alennusmyynnin ruuhka; minuuttikohtainen määrä on satunnainen (Poisson, normaaliapproksimaatio) ja hieman purskeinen.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Binormaalinen petospiste: aitojen ja petosten pisteet ovat kaksi normaalikäyrää d′:n päässä toisistaan; kynnys valitsee pisteen ROC-käyrältä.
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]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Kustannusoptimaalinen kynnys: hylkää, kun uskottavuusosamäärä ylittää kustannussuhteen perustason mukaan painotettuna — kymmenen kertaa enemmän petoksia siirtää sitä ln 10 / d′ ≈ 0,9σ alemmas.
decline when e^(d′x − d′²/2) ≥ (1 − π)·c_FP / (π·c_FN) ⇒ t* = [ln((1 − π)c_FP/(π c_FN)) + d′²/2] / d′[8][7]
Vahvennettu tunnistus: kynnyksen alapuolella kaistalla olevia pisteitä haastetaan päättämisen sijaan.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Kortinmyöntäjän viive on eksponentiaalinen; yhteyspaikka on varattu viiveen tai aikakatkaisun ajan, kumpi tulee ensin.
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]
Littlen laki: varatut yhteyspaikat = saapumisnopeus × varausaika.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: todennäköisyys, että tapahtuma odottaa vapaata yhteyspaikkaa, ja todennäköisyys, että se odottaa pidempään kuin 2 s:n jonon aikakatkaisu.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Kapasiteetin yli kytkin tekee työtä myös pyyntöihin, jotka se hylkää myöhemmin, joten hyödyllinen läpimeno laskee kuorman kasvaessa; kuormanpudotus kieltäytyy ylimäärästä halvalla.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Asiakkaan uudelleenyritykset: jokaista teknistä virhettä yritetään uudelleen enintään kolme kertaa, heti tai satunnaistetulla eksponentiaalisella viiveellä.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Kortinmyöntäjän aikakatkaisu, peruutus ja varahyväksyntä: summat ovat lognormaaleja, joten rajan alle jäävä osuus ja hyväksytty volyymi seuraavat normaalijakauman kertymäfunktiosta.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Petosaste peruspisteinä hyväksytystä summasta; 13 bp on viiteasteikko pienille etämaksuille kortilla.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Muut mallin käyttämät toimintavakiot.
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 timeOletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.

Satunnaisuus: siemenellä alustettu mulberry32-generaattori; käytetyt jakaumat — tasainen, eksponentiaalinen (käänteinen kertymäfunktio), normaali (Box–Muller), Poisson (Knuth). Siemen näytetään ja se on jaettavissa.

Lähteet

  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

Kuka tekee tätä työkseen

Opetusmalli — ei operatiivisten päätösten tekoon. Todelliset laitokset kalibroivat jokaisen vakion omien laitteidensa ja tietojensa mukaan.