Фінанси — платіжні операції Жива модель

Ви працюєте в операційному центрі платіжного комутатора, що стоїть між торговцями й емітентами карток. Щохвилини надходить близько 400 транзакцій за секунду; кожна оцінюється на шахрайство, чекає на вільний слот з'єднання й пересилається своєму емітентові по відповідь. Модель обчислює черги, тайм-аути, повтори клієнтів, компроміс антишахрайського фільтра та ризик стенд-ін за підручниковими формулами. Суми наведено в умовних грошових одиницях (u). Лише навчальна симуляція — це не фінансова, юридична чи інвестиційна порада.

Чого ви навчитеся

Симулятор

Час 0 хв
Пропоноване навантаження (нове + повтори) 400 · Повтори 0 · Частка схвалених добросовісних клієнтів 99,9% · Час авторизації 330 ms · Зайняті слоти з'єднання 69% · Сервери в роботі 6 (+0) · Частка шахрайства (від схваленої суми) 10,4 bp · Тайм-аути емітентів 0,0% · Ризик стенд-ін 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%Емітенти A✓ 250 msЕмітенти B✓ 250 ms⏱ 8 s · ⌛ 0,0% · Σ 0 uЧастка схвалених добросовісних клієнтів 99,9%Ризик стенд-ін 0,00 M u
  • Сервер у роботі
  • Сервер запускається
  • Вільне місце в стійці для сервера
  • Емітент відповідає нормально
  • Емітент повільний або недоступний
  • Обробку стенд-ін увімкнено
  • Вхідні транзакції

Керування

Кожен сервер має 32 слоти з'єднання. Додані сервери запускаються 5 хвилин; кожен сервер тарифікується, запускається він чи ні.

Допускає не більше 90 % потужності, а надлишок одразу відхиляє відповіддю «спробуйте пізніше» замість того, щоб дозволяти йому стояти в черзі й вичерпувати тайм-аут.

Як торговці повторюють технічну помилку (до 3 повторів). Негайно = протягом наступної хвилини; відтермінування = рандомізоване експоненційне відтермінування, середні затримки 1, 2 і 4 хвилини.

Транзакції з оцінкою на цьому рівні або вище відхиляються. Оцінки виражено в стандартних відхиленнях справжнього трафіку: нижче значення означає, що зупинено більше шахрайства й відхилено більше добросовісних клієнтів.

Оцінки, що настільки нижчі за поріг, отримують додаткову перевірку клієнта замість рішення: 85 % справжніх клієнтів її проходять, 5 % шахраїв — проходять. 0 = вимкнено.

Як довго слот з'єднання чекає відповіді емітента. Після цього комутатор надсилає реверсал і використовує стенд-ін або відхиляє з причиною «емітент недоступний».

Коли емітент не відповідає вчасно, комутатор схвалює замість нього до цієї суми. Кожне схвалення стенд-ін — це ризик, який емітент так і не перевірив. 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 %
Схвалення стенд-ін0 tx/s
Сервери в роботі6
Сервери запускаються0
Швидкість витрат на сервери36 u/h
Вартість серверів на цей момент0 u
Ризик стенд-ін0,00 M u
Схвалене шахрайство на цей момент0,00 M u
Втрачені добросовісні транзакції на цей момент0,0 k tx
Транзакції, що чекають на повтор0 tx
Затримка емітентів групи B (середня)250 ms

Тренд

Частка схвалених добросовісних клієнтів: — %100,00,0

Кризові сценарії

Рівень 1 · Пік розпродажу

Великий онлайн-розпродаж відкривається на 5-й хвилині й подвоює трафік до близько 800 транзакцій за секунду на 45 хвилин. Комутатор працює на 6 серверах, розрахованих на звичайний день із завантаженням близько 70 %. Торговці повторюють кожну технічну помилку одразу. Зберігайте схвалення добросовісних клієнтів і швидкі відповіді, не купуючи потужності, якої вам не треба.

  • Середня частка схвалених добросовісних клієнтів ≥ 95 % від початку розпродажу
  • Середній час авторизації ≤ 500 мс
  • Вартість серверів ≤ 75 u

Рівень 2 · Хвиля шахрайства

На 5-й хвилині починають використовувати партію викрадених даних карток: частка шахрайства в трафіку стрибає з 0,1 % до 1 %. Поріг відхилення налаштовано для звичайних днів (3σ), step-up вимкнено. Знизьте рівень шахрайства, не відмовляючи добросовісним клієнтам.

  • Середній рівень шахрайства ≤ 25 б.п.
  • Середня частка схвалених добросовісних клієнтів ≥ 98 %
  • Добросовісні клієнти, відхилені правилом ≤ 5 ‰

Рівень 3 · Збій емітента

На 5-й хвилині емітенти групи B — чверть усього трафіку — сповільнюються до середнього часу відповіді 12 секунд. Комутатор чекає на відповідь до 8 с, не має стенд-ін і працює на 6 серверах. Не давайте зупинитися клієнтам справних емітентів, обслуговуйте групу B наскільки можна безпечно й тримайте ризик стенд-ін та вартість у межах.

  • Середня частка схвалених для клієнтів справних емітентів ≥ 90 %
  • Середня частка схвалених добросовісних клієнтів ≥ 86 %
  • Ризик стенд-ін ≤ 9 млн 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]
Ерланг 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, частка марної роботи, суми й ціни — ілюстративні значення для комутатора середнього розміру, а не цифри якоїсь реальної мережі.
Тайм-аут емітента, реверсал і стенд-ін: суми логнормальні, тож частка нижче за ліміт і обсяг схвалених випливають із нормальної функції розподілу.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Частка шахрайства в базисних пунктах від схваленої суми; 13 б.п. використовують як еталонний масштаб для невеликих віддалених карткових платежів.
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), нормальний (Бокса–Мюллера), Пуассона (Кнут). Зерно показано, і ним можна ділитися.

Джерела

  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

Хто цим займається професійно

Навчальна модель — не для оперативних рішень. Реальні об’єкти калібрують кожну константу під власне обладнання та дані.