Finanse — obsługa płatności Model na żywo

Pracujesz w dyspozytorni operacyjnej switcha płatniczego, który stoi między sprzedawcami a wydawcami kart. W każdej minucie napływa średnio ok. 400 transakcji na sekundę; każda jest oceniana pod kątem oszustwa, czeka na wolny slot połączenia i trafia do swojego wydawcy po odpowiedź. Model oblicza kolejkowanie, limity czasu, ponowienia klientów, kompromis sita antyfraudowego i ekspozycję stand-in z podręcznikowych wzorów. Kwoty są w ogólnych jednostkach walutowych (u). Wyłącznie symulacja edukacyjna — to nie jest porada finansowa, prawna ani inwestycyjna.

Czego się nauczysz

Symulator

Czas 0 min
Obciążenie oferowane (nowe + ponowienia) 400 · Ponowienia 0 · Odsetek zatwierdzeń dobrych klientów 99,9% · Czas autoryzacji 330 ms · Zajęte sloty połączeń 69% · Serwery w eksploatacji 6 (+0) · Wskaźnik oszustw (udział w kwocie zatwierdzonej) 10,4 bp · Przekroczenia limitu czasu wydawców 0,0% · Ekspozycja stand-in 0,00 M uSito antyfraudowet = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Zatrzymane oszustwa 31%Wskaźnik oszustw (udział wkwociezatwierdzonej) 10,4 bp400 tx/s · ↻ 0Serwery autoryzacyjne▶▶▶▶▶▶··················Zajęte sloty połączeń 69%330 ms · ✗ 0,0%Wydawcy A✓ 250 msWydawcy B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uOdsetek zatwierdzeń dobrych klientów 99,9%Ekspozycja stand-in 0,00 M u
  • Serwer w eksploatacji
  • Serwer się uruchamia
  • Wolne miejsce w szafie serwerowej
  • Wydawca odpowiada normalnie
  • Wydawca wolny lub niedostępny
  • Przetwarzanie stand-in włączone
  • Transakcje przychodzące

Sterowanie

Każdy serwer ma 32 sloty połączeń. Dodane serwery uruchamiają się 5 minut; każdy serwer jest rozliczany, uruchomiony lub nie.

Dopuszcza najwyżej 90 % przepustowości, a nadwyżkę od razu odrzuca odpowiedzią „spróbuj później”, zamiast pozwolić jej czekać w kolejce i przekroczyć limit czasu.

Jak sprzedawcy ponawiają błąd techniczny (do 3 ponowień). Natychmiast = w następnej minucie; backoff = losowy wykładniczy backoff, średnie opóźnienia 1, 2 i 4 minuty.

Transakcje z wynikiem równym temu progowi lub wyższym są odrzucane. Wyniki są w odchyleniach standardowych ruchu prawdziwych klientów: niższy próg oznacza więcej zatrzymanych oszustw i więcej odrzuconych dobrych klientów.

Wyniki tak daleko poniżej progu dostają dodatkowe wyzwanie dla klienta zamiast decyzji: 85 % prawdziwych klientów je przechodzi, 5 % oszustów przechodzi. 0 = wyłączone.

Jak długo slot połączenia czeka na odpowiedź wydawcy. Potem switch wysyła storno i używa stand-in albo odrzuca z powodem „wydawca niedostępny”.

Gdy wydawca nie odpowie na czas, switch zatwierdza w jego imieniu do tej kwoty. Każde zatwierdzenie stand-in to ekspozycja, której wydawca nigdy nie sprawdził. 0 = wyłączone.

Wskaźniki

Odsetek zatwierdzeń dobrych klientów
99,9%
normalny
Czas autoryzacji
330ms
normalny
Wskaźnik oszustw (udział w kwocie zatwierdzonej)
10,4bp
normalny
Zajęte sloty połączeń
69%
normalny
Odsetek zatwierdzeń, sprawni wydawcy99,9 %
Dobrzy klienci odrzuceni przez regułę antyfraudową1,3 ‰
Transakcje skierowane do step-up0,0 %
Zatrzymane oszustwa31 %
Nowe transakcje400 tx/s
Obciążenie oferowane (nowe + ponowienia)400 tx/s
Ponowienia0 tx/s
Odrzucone (odpowiedź „spróbuj później”)0 tx/s
Odrzucone w kolejce0,0 %
Przekroczenia limitu czasu wydawców0,0 %
Zatwierdzenia stand-in0 tx/s
Serwery w eksploatacji6
Uruchamiane serwery0
Tempo kosztów serwerów36 u/h
Dotychczasowy koszt serwerów0 u
Ekspozycja stand-in0,00 M u
Dotychczas zatwierdzone oszustwa0,00 M u
Dotychczas utracone dobre transakcje0,0 k tx
Transakcje czekające na ponowienie0 tx
Opóźnienie wydawców grupy B (średnie)250 ms

Trend

Odsetek zatwierdzeń dobrych klientów: — %100,00,0

Scenariusze kryzysowe

Poziom 1 · Szczyt wyprzedaży

W 5. minucie rusza duża wyprzedaż online i podwaja ruch do ok. 800 transakcji na sekundę na 45 minut. Switch pracuje na 6 serwerach, dobranych na zwykły dzień przy ok. 70 % zajętości. Sprzedawcy ponawiają każdy błąd techniczny natychmiast. Utrzymaj zatwierdzanie dobrych klientów i szybkie odpowiedzi, nie kupując niepotrzebnej mocy.

  • Średnie zatwierdzanie dobrych klientów ≥ 95 % od początku wyprzedaży
  • Średni czas autoryzacji ≤ 500 ms
  • Koszt serwerów ≤ 75 u

Poziom 2 · Fala oszustw

W 5. minucie zaczyna być używana partia skradzionych danych kart: udział oszustw w ruchu skacze z 0,1 % do 1 %. Próg odrzucania jest ustawiony na zwykłe dni (3σ), a step-up jest wyłączony. Obniż wskaźnik oszustw, nie odrzucając dobrych klientów.

  • Średni wskaźnik oszustw ≤ 25 bp
  • Średnie zatwierdzanie dobrych klientów ≥ 98 %
  • Dobrzy klienci odrzuceni przez regułę ≤ 5 ‰

Poziom 3 · Awaria wydawców

W 5. minucie wydawcy grupy B — jedna czwarta całego ruchu — zwalniają do średniego czasu odpowiedzi 12 sekund. Switch czeka na odpowiedź do 8 s, nie ma stand-in i pracuje na 6 serwerach. Utrzymaj ruch klientów sprawnych wydawców, obsługuj grupę B, na ile bezpiecznie możesz, i trzymaj w ryzach ekspozycję stand-in oraz koszt.

  • Średnie zatwierdzanie klientów sprawnych wydawców ≥ 90 %
  • Średnie zatwierdzanie dobrych klientów ≥ 86 %
  • Ekspozycja stand-in ≤ 9 M u
  • Koszt serwerów ≤ 65 u

Podstawa — model stojący za liczbami

Każda zależność używana przez symulator, wraz ze źródłem. Stałe oznaczone jako założenia to kalibracje poglądowe.

Nowe transakcje napływają w tempie bazowym razy wzrost sprzedaży; liczba na minutę jest losowa (rozkład Poissona, przybliżenie normalne) z niewielką porywistością.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Założenie: liczby slotów, czasy obsługi i wydawców, rozdzielenie wyników, odsetki przejścia step-up, udział zmarnowanej pracy, kwoty i ceny to wartości poglądowe dla średniej wielkości switcha, a nie dane żadnej rzeczywistej sieci.
Dwunormalny wynik oszustwa: wyniki prawdziwych klientów i oszustów to dwie krzywe normalne oddalone o d′; próg wybiera punkt na krzywej 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]Założenie: liczby slotów, czasy obsługi i wydawców, rozdzielenie wyników, odsetki przejścia step-up, udział zmarnowanej pracy, kwoty i ceny to wartości poglądowe dla średniej wielkości switcha, a nie dane żadnej rzeczywistej sieci.
Próg optymalny kosztowo: odrzucaj, gdy iloraz wiarygodności przekracza iloraz kosztów ważony częstością bazową — dziesięciokrotnie więcej oszustw obniża go o ln 10 / d′ ≈ 0,9σ.
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: wyniki w paśmie poniżej progu są poddawane wyzwaniu zamiast rozstrzygnięcia.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Założenie: liczby slotów, czasy obsługi i wydawców, rozdzielenie wyników, odsetki przejścia step-up, udział zmarnowanej pracy, kwoty i ceny to wartości poglądowe dla średniej wielkości switcha, a nie dane żadnej rzeczywistej sieci.
Opóźnienie wydawcy ma rozkład wykładniczy; slot jest zajęty przez czas opóźnienia albo limit czasu, w zależności od tego, co nastąpi pierwsze.
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]
Prawo Little’a: zajęte sloty = tempo napływu × czas zajęcia.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: szansa, że transakcja czeka na wolny slot, i szansa, że czeka dłużej niż 2-sekundowy limit kolejki.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Powyżej przepustowości switch marnuje też pracę na żądania, które później odrzuca, więc przepustowość użyteczna spada wraz ze wzrostem obciążenia; ograniczanie obciążenia tanio odrzuca nadwyżkę.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Założenie: liczby slotów, czasy obsługi i wydawców, rozdzielenie wyników, odsetki przejścia step-up, udział zmarnowanej pracy, kwoty i ceny to wartości poglądowe dla średniej wielkości switcha, a nie dane żadnej rzeczywistej sieci.
Ponowienia klientów: każdy błąd techniczny jest ponawiany do trzech razy, od razu albo z losowym wykładniczym backoffem.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Założenie: liczby slotów, czasy obsługi i wydawców, rozdzielenie wyników, odsetki przejścia step-up, udział zmarnowanej pracy, kwoty i ceny to wartości poglądowe dla średniej wielkości switcha, a nie dane żadnej rzeczywistej sieci.
Limit czasu wydawcy, storno i stand-in: kwoty mają rozkład log-normalny, więc udział poniżej limitu i zatwierdzony wolumen wynikają z dystrybuanty normalnej.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Wskaźnik oszustw w punktach bazowych kwoty zatwierdzonej; 13 bp służy jako skala odniesienia dla małych zdalnych płatności kartą.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Pozostałe stałe robocze używane w modelu.
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 timeZałożenie: liczby slotów, czasy obsługi i wydawców, rozdzielenie wyników, odsetki przejścia step-up, udział zmarnowanej pracy, kwoty i ceny to wartości poglądowe dla średniej wielkości switcha, a nie dane żadnej rzeczywistej sieci.

Losowość: generator mulberry32 z ziarnem; użyte rozkłady — jednostajny, wykładniczy (odwrotna dystrybuanta), normalny (Box–Muller), Poissona (Knuth). Ziarno jest widoczne i można je udostępnić.

Źródła

  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

Kto się tym zajmuje zawodowo

Model edukacyjny — nie do decyzji operacyjnych. Prawdziwe obiekty kalibrują każdą stałą do własnego sprzętu i danych.