Radite u operativnom centru platnog switcha koji stoji između trgovaca i izdavalaca kartica. Svake minute stiže oko 400 transakcija u sekundi; svaka se ocjenjuje na prevaru, čeka slobodan konekcijski slot i prosljeđuje svom izdavaocu na odgovor. Model računa redove čekanja, istekla vremena, ponovne pokušaje klijenata, kompromis filtera prevara i izloženost stand-ina po udžbeničkim formulama. Iznosi su u generičkim novčanim jedinicama (u). Samo edukativna simulacija — nije finansijski, pravni ni investicioni savjet.
Šta ćete naučiti
Zašto ponovni pokušaji mogu zaključati preopterećeni switch u oluji ponovnih pokušaja čak i nakon dodavanja kapaciteta — i kako odbacivanje opterećenja prekida krug.
Kako prag ocjene prevare mijenja gubitke od prevara za odbijene dobre klijente, i zašto pravi prag zavisi od osnovne stope prevara.
Kako jedan spor izdavalac popunjava svaki konekcijski slot (Littleov zakon) i šta koštaju istekla vremena i stand-in obrada.
Simulator
Vrijeme 0 min
▶Server u radu
⚙Server se podiže
·Slobodno mjesto u rack-u za server
✓Izdavalac odgovara normalno
⌛Izdavalac spor ili nedostupan
⇄Stand-in obrada uključena
•Dolazne transakcije
Kontrole
Svaki server ima 32 konekcijska slota. Dodani serveri se podižu 5 minuta; svaki server se naplaćuje, bez obzira na to da li se podiže ili ne.
Prima najviše 90 % kapaciteta, a višak odmah odgovara s „pokušajte ponovo kasnije“, umjesto da ga pusti u red čekanja i da istekne.
Kako trgovci ponavljaju tehničku grešku (do 3 ponovna pokušaja). Odmah = u sljedećoj minuti; backoff = nasumično eksponencijalno čekanje, prosječna kašnjenja 1, 2 i 4 minute.
Transakcije s ocjenom na ovom pragu ili iznad njega se odbijaju. Ocjene su u standardnim devijacijama pravog saobraćaja: niže znači više zaustavljenih prevara i više odbijenih dobrih klijenata.
Ocjene toliko ispod praga dobijaju dodatnu provjeru klijenta umjesto odluke: 85 % pravih klijenata je završi, 5 % prevaranata prođe. 0 = isključeno.
Koliko dugo konekcijski slot čeka odgovor izdavaoca. Nakon toga switch šalje storno i koristi stand-in ili odbija s „izdavalac nedostupan“.
Kad izdavalac ne odgovori na vrijeme, switch odobrava u njegovo ime do ovog iznosa. Svako stand-in odobrenje je izloženost koju izdavalac nikad nije provjerio. 0 = isključeno.
Pokazatelji
Stopa odobravanja dobrih klijenata
99,9%
normalno
Vrijeme autorizacije
330ms
normalno
Stopa prevara (udio odobrenog iznosa)
10,4bp
normalno
Zauzeti konekcijski slotovi
69%
normalno
Stopa odobravanja, zdravi izdavaoci
99,9 %
Dobri klijenti odbijeni pravilom za prevare
1,3 ‰
Transakcije poslane na step-up
0,0 %
Zaustavljene prevare
31 %
Nove transakcije
400 tx/s
Ponuđeno opterećenje (nove + ponovljene)
400 tx/s
Ponovni pokušaji
0 tx/s
Odbačeno (odgovoreno „pokušajte kasnije“)
0 tx/s
Odbačeno u redu čekanja
0,0 %
Istekla vremena izdavaoca
0,0 %
Stand-in odobrenja
0 tx/s
Serveri u radu
6
Serveri se podižu
0
Stopa troška servera
36 u/h
Dosadašnji trošak servera
0 u
Izloženost stand-ina
0,00 M u
Dosad odobrene prevare
0,00 M u
Dosad izgubljene dobre transakcije
0,0 k tx
Transakcije koje čekaju ponovni pokušaj
0 tx
Latencija izdavaoca grupe B (prosjek)
250 ms
Trend
Krizni scenariji
Nivo 1 · Vrhunac rasprodaje
Velika online rasprodaja počinje u 5. minuti i udvostručuje saobraćaj na oko 800 transakcija u sekundi tokom 45 minuta. Switch radi sa 6 servera, dimenzioniranih za običan dan s oko 70 % zauzetosti. Trgovci odmah ponavljaju svaku tehničku grešku. Zadržite dobre klijente odobrenima i odgovore brzima bez kupovine kapaciteta koji vam ne treba.
Prosječno odobravanje dobrih klijenata ≥ 95 % od početka rasprodaje
Prosječno vrijeme autorizacije ≤ 500 ms
Trošak servera ≤ 75 u
Nivo 2 · Talas prevara
U 5. minuti počinje upotreba paketa ukradenih podataka o karticama: udio prevara u saobraćaju skače s 0,1 % na 1 %. Prag odbijanja podešen je za obične dane (3σ), a step-up je isključen. Smanjite stopu prevara bez odbijanja dobrih klijenata.
Prosječna stopa prevara ≤ 25 bp
Prosječno odobravanje dobrih klijenata ≥ 98 %
Dobri klijenti odbijeni pravilom ≤ 5 ‰
Nivo 3 · Kvar izdavaoca
U 5. minuti izdavaoci grupe B — četvrtina cjelokupnog saobraćaja — usporavaju na prosječno vrijeme odgovora od 12 sekundi. Switch čeka odgovor do 8 s, nema stand-in i radi sa 6 servera. Održite protok za klijente zdravih izdavalaca, poslužite grupu B koliko god možete sigurno i držite izloženost stand-ina i trošak pod kontrolom.
Prosječno odobravanje za klijente zdravih izdavalaca ≥ 90 %
Prosječno odobravanje dobrih klijenata ≥ 86 %
Izloženost stand-ina ≤ 9 M u
Trošak servera ≤ 65 u
Osnova — model iza brojeva
Svaka relacija koju simulator koristi, s njenim izvorom. Konstante označene kao pretpostavke su ilustrativne kalibracije.
Nove transakcije stižu osnovnom brzinom puta skok prodaje; broj u minuti je slučajan (Poissonov, normalna aproksimacija) uz malo nagomilavanja.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Pretpostavka: broj slotova, vremena obrade i izdavaoca, razdvajanje ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene su ilustrativne vrijednosti za srednje veliki switch, a ne podaci nijedne stvarne mreže.
Binormalna ocjena prevare: ocjene pravih i lažnih transakcija su dvije normalne krive udaljene d′; prag bira tačku na ROC krivoj.
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]Pretpostavka: broj slotova, vremena obrade i izdavaoca, razdvajanje ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene su ilustrativne vrijednosti za srednje veliki switch, a ne podaci nijedne stvarne mreže.
Troškovno optimalan prag: odbij kad omjer vjerovatnoća premaši omjer troškova ponderisan osnovnom stopom — deset puta više prevara pomjera ga ln 10 / d′ ≈ 0,9σ niže.
Step-up: ocjene u pojasu ispod praga se dodatno provjeravaju umjesto da se o njima odluči odmah.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Pretpostavka: broj slotova, vremena obrade i izdavaoca, razdvajanje ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene su ilustrativne vrijednosti za srednje veliki switch, a ne podaci nijedne stvarne mreže.
Latencija izdavaoca je eksponencijalna; slot je zauzet za latenciju ili istek vremena, šta god nastupi prvo.
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]
Littleov zakon: zauzeti slotovi = brzina dolaska × vrijeme zadržavanja.
Erlang C: vjerovatnoća da transakcija čeka slobodan slot i vjerovatnoća da čeka duže od isteka reda čekanja od 2 s.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Iznad kapaciteta switch troši rad i na zahtjeve koje kasnije odbaci, pa korisna propusnost pada kako opterećenje raste; odbacivanje opterećenja jeftino odbija višak.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Pretpostavka: broj slotova, vremena obrade i izdavaoca, razdvajanje ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene su ilustrativne vrijednosti za srednje veliki switch, a ne podaci nijedne stvarne mreže.
Ponovni pokušaji klijenta: svaka tehnička greška ponavlja se do tri puta, odmah ili s nasumičnim eksponencijalnim čekanjem.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Pretpostavka: broj slotova, vremena obrade i izdavaoca, razdvajanje ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene su ilustrativne vrijednosti za srednje veliki switch, a ne podaci nijedne stvarne mreže.
Istek vremena izdavaoca, storno i stand-in: iznosi su lognormalni, pa udio ispod limita i odobreni obim slijede iz normalne CDF.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Stopa prevara u baznim bodovima odobrenog iznosa; 13 bp koristi se kao referentna skala za male udaljene kartične plaćanja.
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 timePretpostavka: broj slotova, vremena obrade i izdavaoca, razdvajanje ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene su ilustrativne vrijednosti za srednje veliki switch, a ne podaci nijedne stvarne mreže.
Nasumičnost: mulberry32 generator sa seedom; korištene raspodjele — uniformna, eksponencijalna (inverzna CDF), normalna (Box–Muller), Poissonova (Knuth). Seed se prikazuje i može se dijeliti.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013