Finance — platební provoz Živý model

Pracujete na provozním pultu platebního switche, který stojí mezi obchodníky a vydavateli karet. Každou minutu přichází asi 400 transakcí za sekundu; každá se ohodnotí skóre podvodu, čeká na volný spojovací slot a předá se vydavateli k odpovědi. Model počítá z učebnicových vzorců frontu, časové limity, opakování klientů, kompromis podvodného filtru a expozici zástupného schvalování. Částky jsou v obecných měnových jednotkách (u). Pouze vzdělávací simulace — nejde o finanční, právní ani investiční radu.

Co se naučíte

Simulátor

Čas 0 min
Nabízená zátěž (nové + opakování) 400 · Opakování 0 · Míra schválení dobrých zákazníků 99,9% · Doba autorizace 330 ms · Obsazené spojovací sloty 69% · Servery v provozu 6 (+0) · Míra podvodů (podíl schválené částky) 10,4 bp · Časové limity vydavatelů 0,0% · Expozice zástupného schvalování 0,00 M uFiltr podvodůt = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Zastavený podvod 31%Míra podvodů (podílschválené částky) 10,4 bp400 tx/s · ↻ 0Autorizační servery▶▶▶▶▶▶··················Obsazené spojovací sloty 69%330 ms · ✗ 0,0%Vydavatelé A✓ 250 msVydavatelé B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uMíra schválení dobrých zákazníků 99,9%Expozice zástupného schvalování 0,00 M u
  • Server v provozu
  • Server startuje
  • Volná pozice v racku
  • Vydavatel odpovídá normálně
  • Vydavatel pomalý nebo nefunguje
  • Zástupné zpracování zapnuto
  • Příchozí transakce

Ovládání

Každý server má 32 spojovacích slotů. Přidané servery startují 5 minut; každý server se účtuje, ať už startuje, nebo ne.

Přijme nejvýše 90 % kapacity a přebytek hned odbude odpovědí „zkuste to později”, místo aby ho nechal čekat ve frontě a vypršet.

Jak obchodníci opakují technickou chybu (až 3 opakování). Okamžitě = v další minutě; backoff = náhodný exponenciální backoff, průměrná zpoždění 1, 2 a 4 minuty.

Transakce se skóre na této hodnotě nebo nad ní se zamítají. Skóre je ve směrodatných odchylkách provozu skutečných zákazníků: nižší znamená víc zastavených podvodů a víc zamítnutých dobrých zákazníků.

Skóre takto pod prahem dostane místo rozhodnutí dodatečnou výzvu zákazníkovi: 85 % skutečných zákazníků ji dokončí, 5 % podvodníků projde. 0 = vypnuto.

Jak dlouho spojovací slot čeká na odpověď vydavatele. Poté switch odešle storno a použije zástupné schválení, nebo zamítne s „vydavatel nedostupný”.

Když vydavatel neodpoví včas, switch schválí jeho jménem do této částky. Každé zástupné schválení je expozice, kterou vydavatel nikdy nezkontroloval. 0 = vypnuto.

Ukazatele

Míra schválení dobrých zákazníků
99,9%
normální
Doba autorizace
330ms
normální
Míra podvodů (podíl schválené částky)
10,4bp
normální
Obsazené spojovací sloty
69%
normální
Míra schválení, zdraví vydavatelé99,9 %
Dobří zákazníci zamítnutí pravidlem podvodu1,3 ‰
Transakce poslané na dodatečné ověření0,0 %
Zastavený podvod31 %
Nové transakce400 tx/s
Nabízená zátěž (nové + opakování)400 tx/s
Opakování0 tx/s
Odmítnuto (odpověď „zkuste později”)0 tx/s
Zahozeno ve frontě0,0 %
Časové limity vydavatelů0,0 %
Zástupná schválení0 tx/s
Servery v provozu6
Startující servery0
Rychlost nákladů na servery36 u/h
Dosavadní náklady na servery0 u
Expozice zástupného schvalování0,00 M u
Dosud schválený podvod0,00 M u
Dosud ztracené dobré transakce0,0 k tx
Transakce čekající na opakování0 tx
Latence vydavatelů skupiny B (průměr)250 ms

Trend

Míra schválení dobrých zákazníků: — %100,00,0

Krizové scénáře

Úroveň 1 · Špička výprodeje

Velký online výprodej začíná v 5. minutě a na 45 minut zdvojnásobí provoz na asi 800 transakcí za sekundu. Switch běží na 6 serverech dimenzovaných pro normální den při asi 70% vytížení. Obchodníci opakují každou technickou chybu okamžitě. Udržte dobré zákazníky schválené a odpovědi rychlé, aniž byste kupovali kapacitu, kterou nepotřebujete.

  • Průměrné schválení dobrých zákazníků ≥ 95 % od začátku výprodeje
  • Průměrná doba autorizace ≤ 500 ms
  • Náklady na servery ≤ 75 u

Úroveň 2 · Vlna podvodů

V 5. minutě se začne používat dávka ukradených údajů o kartách: podíl podvodů v provozu skočí z 0,1 % na 1 %. Práh zamítnutí je nastaven pro normální dny (3σ) a dodatečné ověření je vypnuté. Snižte míru podvodů, aniž byste odmítali dobré zákazníky.

  • Průměrná míra podvodů ≤ 25 bp
  • Průměrné schválení dobrých zákazníků ≥ 98 %
  • Dobří zákazníci zamítnutí pravidlem ≤ 5 ‰

Úroveň 3 · Výpadek vydavatele

V 5. minutě zpomalí vydavatelé skupiny B — čtvrtina veškerého provozu — na průměrnou dobu odpovědi 12 sekund. Switch čeká na odpověď až 8 s, nemá zástupné schvalování a běží na 6 serverech. Udržte tok zákazníků zdravých vydavatelů, obsluhujte skupinu B, jak jen bezpečně lze, a držte expozici zástupného schvalování a náklady pod kontrolou.

  • Průměrné schválení zákazníků zdravých vydavatelů ≥ 90 %
  • Průměrné schválení dobrých zákazníků ≥ 86 %
  • Expozice zástupného schvalování ≤ 9 M u
  • Náklady na servery ≤ 65 u

Základ — model za čísly

Každý vztah, který simulátor používá, se zdrojem. Konstanty označené jako předpoklady jsou ilustrativní kalibrace.

Nové transakce přicházejí základní rychlostí krát nárůst při výprodeji; počet za minutu je náhodný (Poissonův, normální aproximace) s trochou nárazovosti.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Binormální skóre podvodu: skóre skutečných a podvodných transakcí jsou dvě normální křivky vzdálené d′; práh vybírá bod na křivce ROC.
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]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Nákladově optimální práh: zamítni, když poměr věrohodností převýší poměr nákladů vážený základní četností — desetkrát víc podvodů ho posune o ln 10 / d′ ≈ 0,9σ níž.
decline when e^(d′x − d′²/2) ≥ (1 − π)·c_FP / (π·c_FN) ⇒ t* = [ln((1 − π)c_FP/(π c_FN)) + d′²/2] / d′[8][7]
Dodatečné ověření: skóre v pásmu pod prahem dostane výzvu místo rozhodnutí.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Latence vydavatele je exponenciální; slot je držen po dobu latence nebo časového limitu, podle toho, co nastane dřív.
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ův zákon: obsazené sloty = rychlost příchodů × doba držení.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: pravděpodobnost, že transakce čeká na volný slot, a pravděpodobnost, že čeká déle než 2s časový limit fronty.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Nad kapacitou switch vynakládá práci i na požadavky, které později zahodí, takže užitečná propustnost s rostoucí zátěží klesá; omezování zátěže odmítá přebytek levně.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Opakování klienta: každá technická chyba se opakuje až třikrát, hned nebo s náhodným exponenciálním backoffem.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Časový limit vydavatele, storno a zástupné schválení: částky jsou lognormální, takže podíl pod limitem a schválený objem plynou z normální CDF.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Míra podvodů v základních bodech schválené částky; 13 bp se používá jako referenční měřítko pro malé vzdálené kartové platby.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Další provozní konstanty používané modelem.
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 timePředpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.

Náhodnost: generátor mulberry32 se seedem; použitá rozdělení — rovnoměrné, exponenciální (inverzní CDF), normální (Box–Muller), Poissonovo (Knuth). Seed je zobrazen a lze ho sdílet.

Zdroje

  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

Kdo se tím živí

Vzdělávací model — nepoužívat pro provozní rozhodnutí. Skutečná zařízení kalibrují každou konstantu podle vlastního vybavení a dat.