Finans — betalingsdrift Levende modell

Du sitter på driftsdesken til en betalingssvitsj som ligger mellom forhandlere og kortutstedere. Hvert minutt kommer omtrent 400 transaksjoner per sekund; hver blir scoret for svindel, venter på en ledig forbindelsesplass og sendes videre til utstederen for svar. Modellen regner ut køer, tidsavbrudd, klientenes gjenforsøk, avveiningen i svindelsilen og stand-in-eksponering fra lærebokformler. Beløp er i generiske valutaenheter (u). Kun en pedagogisk simulering — ikke økonomisk, juridisk eller investeringsrådgivning.

Dette lærer du

Simulator

Tid 0 min
Tilbudt last (nye + gjenforsøk) 400 · Gjenforsøk 0 · Godkjenningsrate for gode kunder 99,9% · Autorisasjonstid 330 ms · Opptatte forbindelsesplasser 69% · Servere i drift 6 (+0) · Svindelrate (andel av godkjent beløp) 10,4 bp · Tidsavbrudd hos utsteder 0,0% · Stand-in-eksponering 0,00 M uSvindelsilt = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Svindel stoppet 31%Svindelrate (andel avgodkjent beløp) 10,4 bp400 tx/s · ↻ 0Autorisasjonsservere▶▶▶▶▶▶··················Opptatteforbindelsesplasser 69%330 ms · ✗ 0,0%Utstedere A✓ 250 msUtstedere B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uGodkjenningsrate for gode kunder 99,9%Stand-in-eksponering 0,00 M u
  • Server i drift
  • Server starter
  • Ledig serverplass i racket
  • Utsteder svarer normalt
  • Utsteder treg eller nede
  • Stand-in-behandling på
  • Innkommende transaksjoner

Kontroller

Hver server har 32 forbindelsesplasser. Nye servere bruker 5 minutter på å starte; hver server faktureres, enten den starter eller ikke.

Slipper inn høyst 90 % av kapasiteten og svarer overskuddet med en gang med «prøv igjen senere», i stedet for å la det stå i kø og gå ut på tid.

Hvordan forhandlere prøver på nytt etter en teknisk feil (opptil 3 gjenforsøk). Umiddelbart = innen neste minutt; backoff = tilfeldig eksponentiell backoff med gjennomsnittlige ventetider på 1, 2 og 4 minutter.

Transaksjoner med score på eller over dette avslås. Score er i standardavvik av ekte trafikk: lavere betyr at mer svindel stoppes og flere gode kunder avslås.

Score så langt under terskelen får en ekstra kundeutfordring i stedet for en avgjørelse: 85 % av ekte kunder fullfører den, 5 % av svindlerne består. 0 = av.

Hvor lenge en forbindelsesplass venter på svar fra utstederen. Etter det sender svitsjen en reversering og bruker stand-in, eller avslår med «utsteder utilgjengelig».

Når utstederen ikke svarer i tide, godkjenner svitsjen på dens vegne opp til dette beløpet. Hver stand-in-godkjenning er eksponering utstederen aldri har sjekket. 0 = av.

Indikatorer

Godkjenningsrate for gode kunder
99,9%
normal
Autorisasjonstid
330ms
normal
Svindelrate (andel av godkjent beløp)
10,4bp
normal
Opptatte forbindelsesplasser
69%
normal
Godkjenningsrate, friske utstedere99,9 %
Gode kunder avslått av svindelregelen1,3 ‰
Transaksjoner sendt til step-up0,0 %
Svindel stoppet31 %
Nye transaksjoner400 tx/s
Tilbudt last (nye + gjenforsøk)400 tx/s
Gjenforsøk0 tx/s
Avlastet (svart «prøv senere»)0 tx/s
Forkastet i køen0,0 %
Tidsavbrudd hos utsteder0,0 %
Stand-in-godkjenninger0 tx/s
Servere i drift6
Servere under oppstart0
Løpende serverkostnad36 u/h
Serverkostnad så langt0 u
Stand-in-eksponering0,00 M u
Svindel godkjent så langt0,00 M u
Gode transaksjoner tapt så langt0,0 k tx
Transaksjoner som venter på gjenforsøk0 tx
Ventetid for utstedergruppe B (gjennomsnitt)250 ms

Trend

Godkjenningsrate for gode kunder: — %100,00,0

Krisescenarioer

Nivå 1 · Salgstopp med trafikkstigning

Et stort nettsalg åpner i minutt 5 og dobler trafikken til omtrent 800 transaksjoner per sekund i 45 minutter. Svitsjen kjører 6 servere, dimensjonert for en vanlig dag med omtrent 70 % belegg. Forhandlerne prøver på nytt etter hver tekniske feil med en gang. Hold gode kunder godkjent og svartidene raske uten å kjøpe kapasitet du ikke trenger.

  • Gjennomsnittlig godkjenningsrate for gode kunder ≥ 95 % fra salget starter
  • Gjennomsnittlig autorisasjonstid ≤ 500 ms
  • Serverkostnad ≤ 75 u

Nivå 2 · Svindelbølge

I minutt 5 begynner en bunke stjålne kortopplysninger å bli brukt: svindelandelen av trafikken hopper fra 0,1 % til 1 %. Avslagsterskelen er satt for vanlige dager (3σ), og step-up er av. Få svindelraten ned uten å avvise gode kunder.

  • Gjennomsnittlig svindelrate ≤ 25 bp
  • Gjennomsnittlig godkjenningsrate for gode kunder ≥ 98 %
  • Gode kunder avslått av regelen ≤ 5 ‰

Nivå 3 · Utstederavbrudd

I minutt 5 blir utstederne i gruppe B — en fjerdedel av all trafikk — trege, med en gjennomsnittlig svartid på 12 sekunder. Svitsjen venter opptil 8 s på svar, har ingen stand-in og kjører 6 servere. Hold kundene hos de friske utstederne i gang, betjen gruppe B så langt du trygt kan, og hold stand-in-eksponering og kostnad under kontroll.

  • Gjennomsnittlig godkjenningsrate for kunder hos friske utstedere ≥ 90 %
  • Gjennomsnittlig godkjenningsrate for gode kunder ≥ 86 %
  • Stand-in-eksponering ≤ 9 M u
  • Serverkostnad ≤ 65 u

Grunnlag — modellen bak tallene

Hver sammenheng simulatoren bruker, med kilde. Konstanter merket som antakelser er illustrative kalibreringer.

Nye transaksjoner kommer med en grunnrate ganger salgsstigningen; antallet per minutt er tilfeldig (Poisson, normaltilnærming) med litt støtvis trafikk.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Antakelse: antall plasser, tjeneste- og utstedertider, skillet mellom score, andeler som består step-up, andel bortkastet arbeid, beløp og priser er illustrative verdier for en middels stor svitsj, ikke tall fra noe virkelig nettverk.
Binormal svindelscore: scorene for ekte kunder og svindlere er to normalkurver med avstand d′; terskelen velger et punkt på ROC-kurven.
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]Antakelse: antall plasser, tjeneste- og utstedertider, skillet mellom score, andeler som består step-up, andel bortkastet arbeid, beløp og priser er illustrative verdier for en middels stor svitsj, ikke tall fra noe virkelig nettverk.
Kostnadsoptimal terskel: avslå når sannsynlighetsforholdet overstiger kostnadsforholdet vektet med grunnraten — ti ganger mer svindel flytter den ln 10 / d′ ≈ 0,9σ lavere.
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: score i båndet under terskelen utfordres i stedet for å avgjøres.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Antakelse: antall plasser, tjeneste- og utstedertider, skillet mellom score, andeler som består step-up, andel bortkastet arbeid, beløp og priser er illustrative verdier for en middels stor svitsj, ikke tall fra noe virkelig nettverk.
Utstederens ventetid er eksponentialfordelt; en plass holdes i ventetiden eller tidsavbruddet, det som kommer først.
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]
Littles lov: opptatte plasser = ankomstrate × holdetid.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: sjansen for at en transaksjon må vente på en ledig plass, og sjansen for at den venter lenger enn køens tidsavbrudd på 2 s.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Over kapasitet bruker svitsjen også arbeid på forespørsler den senere forkaster, så nyttig gjennomstrømning faller når lasten stiger; lastavlasting avviser overskuddet billig.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Antakelse: antall plasser, tjeneste- og utstedertider, skillet mellom score, andeler som består step-up, andel bortkastet arbeid, beløp og priser er illustrative verdier for en middels stor svitsj, ikke tall fra noe virkelig nettverk.
Klientenes gjenforsøk: hver tekniske feil prøves på nytt opptil tre ganger, umiddelbart eller med tilfeldig eksponentiell backoff.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Antakelse: antall plasser, tjeneste- og utstedertider, skillet mellom score, andeler som består step-up, andel bortkastet arbeid, beløp og priser er illustrative verdier for en middels stor svitsj, ikke tall fra noe virkelig nettverk.
Tidsavbrudd hos utsteder, reversering og stand-in: beløpene er lognormalfordelt, så andelen under grensen og det godkjente volumet følger av normalfordelingens CDF.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Svindelrate i basispunkter av godkjent beløp; 13 bp brukes som referanseskala for små kortbetalinger på nett.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Andre driftskonstanter som modellen bruker.
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 timeAntakelse: antall plasser, tjeneste- og utstedertider, skillet mellom score, andeler som består step-up, andel bortkastet arbeid, beløp og priser er illustrative verdier for en middels stor svitsj, ikke tall fra noe virkelig nettverk.

Tilfeldighet: en seedet mulberry32-generator; fordelinger som brukes — uniform, eksponentiell (invers CDF), normal (Box–Muller), Poisson (Knuth). Seeden vises og kan deles.

Kilder

  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

Hvem gjør dette som yrke

Pedagogisk modell — ikke for operative beslutninger. Reelle anlegg kalibrerer hver konstant mot eget utstyr og egne data.