Financiën — betalingsoperaties Live model

Je werkt op de operationele desk van een betalingsswitch die tussen handelaren en kaartuitgevers staat. Elke minuut komen ongeveer 400 transacties per seconde binnen; elke wordt op fraude gescoord, wacht op een vrij verbindingsslot en wordt doorgestuurd naar zijn uitgever voor een antwoord. Het model berekent wachtrijen, time-outs, client-retries, de afweging van het fraudefilter en stand-in-blootstelling uit leerboekformules. Bedragen zijn in generieke valutaeenheden (u). Alleen een educatieve simulatie — geen financieel, juridisch of beleggingsadvies.

Wat je gaat leren

Simulator

Tijd 0 min
Aangeboden belasting (nieuw + retries) 400 · Retries 0 · Goedkeuringspercentage goede klanten 99,9% · Autorisatietijd 330 ms · Verbindingsslots bezet 69% · Servers in bedrijf 6 (+0) · Fraudepercentage (aandeel van goedgekeurd bedrag) 10,4 bp · Time-outs van uitgevers 0,0% · Stand-in-blootstelling 0,00 M uFraudefiltert = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Gestopte fraude 31%Fraudepercentage (aandeelvan goedgekeurdbedrag) 10,4 bp400 tx/s · ↻ 0Autorisatieservers▶▶▶▶▶▶··················Verbindingsslots bezet 69%330 ms · ✗ 0,0%Uitgevers A✓ 250 msUitgevers B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uGoedkeuringspercentage goede klanten 99,9%Stand-in-blootstelling 0,00 M u
  • Server in bedrijf
  • Server start
  • Vrije rackpositie
  • Uitgever antwoordt normaal
  • Uitgever traag of down
  • Stand-in-verwerking aan
  • Binnenkomende transacties

Bediening

Elke server heeft 32 verbindingsslots. Toegevoegde servers hebben 5 minuten nodig om te starten; elke server wordt gefactureerd, of hij nu start of niet.

Laat hooguit 90 % van de capaciteit toe en beantwoordt de overmaat meteen met ‘probeer het later opnieuw’, in plaats van die in de wachtrij te laten staan en te laten verlopen.

Hoe handelaren een technische fout opnieuw proberen (tot 3 pogingen). Direct = in de volgende minuut; backoff = willekeurige exponentiële backoff, gemiddelde vertragingen van 1, 2 en 4 minuten.

Transacties met een score op of boven deze waarde worden afgewezen. Scores zijn in standaarddeviaties van het echte verkeer: lager betekent meer gestopte fraude en meer afgewezen goede klanten.

Scores zo ver onder de drempel krijgen een extra klantuitdaging in plaats van een beslissing: 85 % van de echte klanten voltooit die, 5 % van de fraudeurs slaagt. 0 = uit.

Hoe lang een verbindingsslot wacht op het antwoord van de uitgever. Daarna stuurt de switch een reversal en gebruikt stand-in, of wijst af met ‘uitgever niet beschikbaar’.

Als de uitgever niet op tijd antwoordt, keurt de switch namens hem goed tot dit bedrag. Elke stand-in-goedkeuring is een blootstelling die de uitgever nooit heeft gecontroleerd. 0 = uit.

Indicatoren

Goedkeuringspercentage goede klanten
99,9%
normaal
Autorisatietijd
330ms
normaal
Fraudepercentage (aandeel van goedgekeurd bedrag)
10,4bp
normaal
Verbindingsslots bezet
69%
normaal
Goedkeuringspercentage, gezonde uitgevers99,9 %
Goede klanten afgewezen door de frauderegel1,3 ‰
Transacties naar step-up gestuurd0,0 %
Gestopte fraude31 %
Nieuwe transacties400 tx/s
Aangeboden belasting (nieuw + retries)400 tx/s
Retries0 tx/s
Geweigerd (beantwoord met ‘probeer later’)0 tx/s
Vervallen in de wachtrij0,0 %
Time-outs van uitgevers0,0 %
Stand-in-goedkeuringen0 tx/s
Servers in bedrijf6
Servers die starten0
Serverkostensnelheid36 u/h
Serverkosten tot nu toe0 u
Stand-in-blootstelling0,00 M u
Tot nu toe goedgekeurde fraude0,00 M u
Tot nu toe verloren goede transacties0,0 k tx
Transacties die op een retry wachten0 tx
Latentie uitgeversgroep B (gemiddeld)250 ms

Trend

Goedkeuringspercentage goede klanten: — %100,00,0

Crisisscenario’s

Niveau 1 · Uitverkooppiek

Een grote online uitverkoop opent in minuut 5 en verdubbelt het verkeer tot ongeveer 800 transacties per seconde gedurende 45 minuten. De switch draait op 6 servers, gedimensioneerd voor een normale dag met ongeveer 70 % bezetting. Handelaren proberen elke technische fout direct opnieuw. Houd goede klanten goedgekeurd en antwoorden snel zonder capaciteit te kopen die je niet nodig hebt.

  • Gemiddelde goedkeuring goede klanten ≥ 95 % vanaf de uitverkoop
  • Gemiddelde autorisatietijd ≤ 500 ms
  • Serverkosten ≤ 75 u

Niveau 2 · Fraudegolf

In minuut 5 begint een partij gestolen kaartgegevens te worden gebruikt: het fraudeaandeel in het verkeer springt van 0,1 % naar 1 %. De afwijzingsdrempel is ingesteld voor normale dagen (3σ) en step-up staat uit. Breng het fraudepercentage omlaag zonder goede klanten af te wijzen.

  • Gemiddeld fraudepercentage ≤ 25 bp
  • Gemiddelde goedkeuring goede klanten ≥ 98 %
  • Door de regel afgewezen goede klanten ≤ 5 ‰

Niveau 3 · Storing bij uitgevers

In minuut 5 vertragen de uitgevers van groep B — een kwart van al het verkeer — tot een gemiddelde antwoordtijd van 12 seconden. De switch wacht tot 8 s op een antwoord, heeft geen stand-in en draait op 6 servers. Houd de klanten van de gezonde uitgevers in beweging, bedien groep B zover dat veilig kan en houd stand-in-blootstelling en kosten in de hand.

  • Gemiddelde goedkeuring voor klanten van gezonde uitgevers ≥ 90 %
  • Gemiddelde goedkeuring goede klanten ≥ 86 %
  • Stand-in-blootstelling ≤ 9 M u
  • Serverkosten ≤ 65 u

Grondslag — het model achter de getallen

Elk verband dat de simulator gebruikt, met bron. Constanten die als aanname zijn gemarkeerd, zijn illustratieve kalibraties.

Nieuwe transacties komen binnen met een basisfrequentie maal de uitverkooppiek; het aantal per minuut is willekeurig (Poisson, normale benadering) met een beetje stootvormigheid.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Aanname: aantallen slots, service- en uitgevertijden, scheiding van scores, doorlooppercentages van step-up, aandeel verspild werk, bedragen en prijzen zijn illustratieve waarden voor een middelgrote switch, geen cijfers van een echt netwerk.
Binormale fraudescore: scores van echte en frauduleuze transacties zijn twee normale krommen op afstand d′; de drempel kiest een punt op de ROC-curve.
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]Aanname: aantallen slots, service- en uitgevertijden, scheiding van scores, doorlooppercentages van step-up, aandeel verspild werk, bedragen en prijzen zijn illustratieve waarden voor een middelgrote switch, geen cijfers van een echt netwerk.
Kostenoptimale drempel: wijs af wanneer de aannemelijkheidsratio de kostenratio gewogen met de basisfrequentie overschrijdt — tien keer meer fraude schuift hem ln 10 / d′ ≈ 0,9σ lager.
decline when e^(d′x − d′²/2) ≥ (1 − π)·c_FP / (π·c_FN) ⇒ t* = [ln((1 − π)c_FP/(π c_FN)) + d′²/2] / d′[8][7]
Step-up: scores in de band onder de drempel krijgen een uitdaging in plaats van een beslissing.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Aanname: aantallen slots, service- en uitgevertijden, scheiding van scores, doorlooppercentages van step-up, aandeel verspild werk, bedragen en prijzen zijn illustratieve waarden voor een middelgrote switch, geen cijfers van een echt netwerk.
De latentie van de uitgever is exponentieel; een slot wordt vastgehouden voor de latentie of de time-out, wat het eerst komt.
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]
Wet van Little: bezette slots = aankomstsnelheid × vasthoudtijd.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: de kans dat een transactie op een vrij slot wacht, en de kans dat ze langer wacht dan de wachtrij-time-out van 2 s.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Boven de capaciteit besteedt de switch ook werk aan verzoeken die hij later laat vallen, dus de nuttige doorvoer daalt als de belasting stijgt; load shedding weigert de overmaat goedkoop.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Aanname: aantallen slots, service- en uitgevertijden, scheiding van scores, doorlooppercentages van step-up, aandeel verspild werk, bedragen en prijzen zijn illustratieve waarden voor een middelgrote switch, geen cijfers van een echt netwerk.
Retries van de client: elke technische fout wordt tot driemaal opnieuw geprobeerd, direct of met willekeurige exponentiële backoff.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Aanname: aantallen slots, service- en uitgevertijden, scheiding van scores, doorlooppercentages van step-up, aandeel verspild werk, bedragen en prijzen zijn illustratieve waarden voor een middelgrote switch, geen cijfers van een echt netwerk.
Time-out van de uitgever, reversal en stand-in: bedragen zijn lognormaal, dus het aandeel onder de limiet en het goedgekeurde volume volgen uit de normale CDF.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Fraudepercentage in basispunten van het goedgekeurde bedrag; 13 bp wordt gebruikt als referentieschaal voor kleine kaartbetalingen op afstand.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Overige bedrijfsconstanten die het model gebruikt.
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 timeAanname: aantallen slots, service- en uitgevertijden, scheiding van scores, doorlooppercentages van step-up, aandeel verspild werk, bedragen en prijzen zijn illustratieve waarden voor een middelgrote switch, geen cijfers van een echt netwerk.

Willekeur: een mulberry32-generator met seed; gebruikte verdelingen — uniform, exponentieel (inverse CDF), normaal (Box–Muller), Poisson (Knuth). De seed wordt getoond en kan worden gedeeld.

Bronnen

  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

Wie dit beroepsmatig doet

Educatief model — niet bedoeld voor operationele beslissingen. Echte locaties stemmen elke constante af op hun eigen apparatuur en gegevens.