Финансии — платежни операции Модел во живо

Вие сте на оперативното биро на платежен свич што стои меѓу трговците и издавачите на картички. Секоја минута пристигнуваат околу 400 трансакции во секунда; секоја се оценува за измама, чека слободно конекциско место и се препраќа до својот издавач за одговор. Моделот пресметува редици, истекувања, повторни обиди на клиентите, компромисот на проверката за измами и изложеноста од stand-in според формули од учебник. Износите се во општи парични единици (u). Само образовна симулација — не е финансиски, правен или инвестициски совет.

Што ќе научите

Симулатор

Време 0 мин
Понудено оптоварување (нови + повторни) 400 · Повторни обиди 0 · Стапка на одобрување на добри клиенти 99,9% · Време на авторизација 330 ms · Зафатени конекциски места 69% · Сервери во употреба 6 (+0) · Стапка на измама (удел од одобрениот износ) 10,4 bp · Истекувања на издавачи 0,0% · Изложеност од stand-in 0,00 M uПроверка за измамиt = 3,00σ✓ 99,9% · ? 0,0% · ✗ 0,1%Запрени измами 31%Стапка на измама (удел ододобрениот износ) 10,4 bp400 tx/s · ↻ 0Сервери за авторизација▶▶▶▶▶▶··················Зафатени конекцискиместа 69% · 330 ms · ✗ 0,0%Издавачи А✓ 250 msИздавачи Б✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uСтапка на одобрување на добри клиенти 99,9%Изложеност од stand-in 0,00 M u
  • Сервер во употреба
  • Серверот стартува
  • Слободна позиција во рек за сервер
  • Издавачот одговара нормално
  • Издавачот е бавен или не работи
  • Stand-in обработката е вклучена
  • Дојдовни трансакции

Контроли

Секој сервер има 32 конекциски места. Додадените сервери стартуваат 5 минути; секој сервер се наплаќа, без разлика дали стартува или не.

Прима најмногу 90 % од капацитетот и вишокот го одговара веднаш со „обидете се повторно подоцна“, наместо да го остави да чека во редица и да истече.

Како трговците повторуваат технички неуспех (до 3 повторувања). Веднаш = во следната минута; одложување = рандомизирано експоненцијално одложување, просечни задоцнувања 1, 2 и 4 минути.

Трансакциите со скор на или над овој праг се одбиваат. Скоровите се во стандардни девијации на вистинскиот сообраќај: пониско значи повеќе запрени измами и повеќе одбиени добри клиенти.

Скоровите толку под прагот добиваат дополнително предизвикување на клиентот наместо одлука: 85 % од вистинските клиенти го завршуваат, 5 % од измамниците поминуваат. 0 = исклучено.

Колку долго едно конекциско место чека на одговорот на издавачот. Потоа свичот испраќа сторно (reversal) и користи заменско одобрување (stand-in) или одбива со „издавачот е недостапен“.

Кога издавачот не одговара навреме, свичот одобрува во негово име до овој износ. Секое заменско одобрување е изложеност што издавачот никогаш не ја проверил. 0 = исклучено.

Показатели

Стапка на одобрување на добри клиенти
99,9%
нормално
Време на авторизација
330ms
нормално
Стапка на измама (удел од одобрениот износ)
10,4bp
нормално
Зафатени конекциски места
69%
нормално
Стапка на одобрување, здрави издавачи99,9 %
Добри клиенти одбиени од правилото за измами1,3 ‰
Трансакции испратени на step-up0,0 %
Запрени измами31 %
Нови трансакции400 tx/s
Понудено оптоварување (нови + повторни)400 tx/s
Повторни обиди0 tx/s
Одбиени (одговорени со „обидете се подоцна“)0 tx/s
Отфрлени во редицата0,0 %
Истекувања на издавачи0,0 %
Stand-in одобрувања0 tx/s
Сервери во употреба6
Сервери што стартуваат0
Стапка на трошок за сервери36 u/h
Трошок за сервери досега0 u
Изложеност од stand-in0,00 M u
Одобрени измами досега0,00 M u
Изгубени добри трансакции досега0,0 k tx
Трансакции што чекаат повторен обид0 tx
Задоцнување на групата издавачи Б (просек)250 ms

Тренд

Стапка на одобрување на добри клиенти: — %100,00,0

Кризни сценарија

Ниво 1 · Врв на распродажба

Голема онлајн распродажба се отвора во минута 5 и го удвојува сообраќајот на околу 800 трансакции во секунда во тек на 45 минути. Свичот работи со 6 сервери, димензионирани за нормален ден со околу 70 % зафатеност. Трговците повторуваат секој технички неуспех веднаш. Задржете ги добрите клиенти одобрени и одговорите брзи без да купувате капацитет што не ви е потребен.

  • Просечно одобрување на добри клиенти ≥ 95 % од распродажбата натаму
  • Просечно време на авторизација ≤ 500 ms
  • Трошок за сервери ≤ 75 u

Ниво 2 · Бран од измами

Во минута 5 почнува да се користи серија украдени податоци од картички: уделот на измами во сообраќајот скока од 0,1 % на 1 %. Прагот за одбивање е поставен за нормални денови (3σ), а step-up е исклучен. Намалете ја стапката на измами без да одбивате добри клиенти.

  • Просечна стапка на измама ≤ 25 bp
  • Просечно одобрување на добри клиенти ≥ 98 %
  • Добри клиенти одбиени од правилото ≤ 5 ‰

Ниво 3 · Пад на издавач

Во минута 5 издавачите од групата Б — четвртина од сиот сообраќај — забавуваат на просечно време на одговор од 12 секунди. Свичот чека до 8 s за одговор, нема stand-in и работи со 6 сервери. Одржувајте го протокот на клиентите на здравите издавачи, служете ја групата Б колку што безбедно можете и држете ги изложеноста од stand-in и трошокот под контрола.

  • Просечно одобрување за клиенти на здрави издавачи ≥ 90 %
  • Просечно одобрување на добри клиенти ≥ 86 %
  • Изложеност од stand-in ≤ 9 M u
  • Трошок за сервери ≤ 65 u

Основа — моделот зад бројките

Секоја релација што ја користи симулаторот, со својот извор. Константите означени како претпоставки се илустративни калибрации.

Новите трансакции пристигнуваат со основна стапка помножена со скокот на распродажбата; бројот по минута е случаен (Поасон, нормална апроксимација) со малку рафалност.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Претпоставка: бројот на места, времињата на услуга и на издавачите, раздвојувањето на скоровите, стапките на поминување на step-up, уделот на залудна работа, износите и цените се илустративни вредности за свич од средна големина, а не бројки од некоја реална мрежа.
Бинормален скор за измама: скоровите на вистинските и измамничките се две нормални криви оддалечени d′; прагот избира точка на 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]Претпоставка: бројот на места, времињата на услуга и на издавачите, раздвојувањето на скоровите, стапките на поминување на step-up, уделот на залудна работа, износите и цените се илустративни вредности за свич од средна големина, а не бројки од некоја реална мрежа.
Трошково оптимален праг: одбивај кога односот на веројатност го надминува односот на трошоци пондериран со основната стапка — десет пати повеќе измами го поместува за 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: скоровите во појасот под прагот се предизвикуваат дополнително наместо веднаш да се одлучи.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Претпоставка: бројот на места, времињата на услуга и на издавачите, раздвојувањето на скоровите, стапките на поминување на step-up, уделот на залудна работа, износите и цените се илустративни вредности за свич од средна големина, а не бројки од некоја реална мрежа.
Задоцнувањето на издавачот е експоненцијално; местото се држи за задоцнувањето или истекувањето, што и да настапи прво.
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]
Литлов закон: зафатени места = стапка на пристигнување × време на задржување.
busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]
Erlang C: веројатноста трансакцијата да чека слободно место и веројатноста да чека подолго од 2-секундното истекување во редицата.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Над капацитетот свичот троши работа и на барања што подоцна ги отфрла, па корисниот проток паѓа како што расте оптоварувањето; одбивањето на оптоварување го одбива вишокот евтино.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Претпоставка: бројот на места, времињата на услуга и на издавачите, раздвојувањето на скоровите, стапките на поминување на step-up, уделот на залудна работа, износите и цените се илустративни вредности за свич од средна големина, а не бројки од некоја реална мрежа.
Повторни обиди на клиентите: секој технички неуспех се повторува до три пати, веднаш или со рандомизирано експоненцијално одложување.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Претпоставка: бројот на места, времињата на услуга и на издавачите, раздвојувањето на скоровите, стапките на поминување на step-up, уделот на залудна работа, износите и цените се илустративни вредности за свич од средна големина, а не бројки од некоја реална мрежа.
Истекување на издавачот, сторно и stand-in: износите се лог-нормални, па уделот под лимитот и одобрениот обем следат од нормалната CDF.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Стапка на измама во базни поени од одобрениот износ; 13 bp се користи како референтна скала за мали далечински плаќања со картичка.
fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]
Други работни константи што ги користи моделот.
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 timeПретпоставка: бројот на места, времињата на услуга и на издавачите, раздвојувањето на скоровите, стапките на поминување на step-up, уделот на залудна работа, износите и цените се илустративни вредности за свич од средна големина, а не бројки од некоја реална мрежа.

Случајност: генератор mulberry32 со зрно; користени распределби — рамномерна, експоненцијална (инверзна CDF), нормална (Box–Muller), Поасонова (Knuth). Зрното е прикажано и може да се сподели.

Извори

  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

Кој го работи ова професионално

Едукативен модел — не за оперативни одлуки. Вистинските објекти секоја константа ја калибрираат според сопствената опрема и податоци.