金融:決済オペレーション ライブモデル

あなたは、加盟店とカード発行会社の間に位置する決済スイッチの運用デスクにいます。毎分、1秒あたり約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分以内。バックオフ=ランダム化した指数バックオフで、平均遅延は1分、2分、4分。

スコアがこの値以上の取引は拒否されます。スコアは正規の取引の標準偏差で表され、低いほど止められる不正は増え、拒否される善良な顧客も増えます。

しきい値からこの幅だけ下のスコアには、判定ではなく追加の本人確認を行います。正規の顧客の85 %が完了し、不正者の5 %が通過します。0=オフ。

接続スロットが発行会社の応答を待つ時間。それを過ぎると、スイッチは取消を送ってスタンドインを使うか、「発行会社が利用不可」として否認します。

発行会社が時間内に応答しないとき、スイッチはこの金額まで代わりに承認します。スタンドインによる承認はすべて、発行会社が確認していないリスクです。0=オフ。

指標

善良な顧客の承認率
99.9%
正常
オーソリ時間
330ms
正常
不正率(承認金額に対する割合)
10.4bp
正常
使用中の接続スロット
69%
正常
承認率、正常な発行会社99.9 %
不正ルールで拒否された善良な顧客1.3 ‰
ステップアップに回した取引0.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分目に始まり、トラフィックが45分間、1秒あたり約800件へと倍増します。スイッチはサーバー6台で動いており、通常日に約70 %の稼働率になる規模です。加盟店はすべての技術的な失敗をすぐにリトライします。必要のない容量を買わずに、善良な顧客の承認と高速な応答を保ってください。

  • セール開始以降の善良な顧客の平均承認率 ≥ 95 %
  • 平均オーソリ時間 ≤ 500 ms
  • サーバーコスト ≤ 75 u

レベル2 · 不正の波

5分目に、盗まれたカード情報の束が使われ始め、取引に占める不正の割合が0.1 %から1 %に跳ね上がります。拒否のしきい値は通常日向け(3σ)で、ステップアップはオフです。善良な顧客を断らずに、不正率を下げてください。

  • 平均不正率 ≤ 25 bp
  • 善良な顧客の平均承認率 ≥ 98 %
  • ルールで拒否された善良な顧客 ≤ 5 ‰

レベル3 · 発行会社の障害

5分目に、全トラフィックの4分の1を占める発行会社グループBが、平均応答時間12秒まで遅くなります。スイッチは応答を最大8秒待ち、スタンドインはなく、サーバーは6台です。正常な発行会社の顧客の流れを保ち、グループBは安全に可能な範囲で処理し、スタンドインのリスク額とコストを抑えてください。

  • 正常な発行会社の顧客の平均承認率 ≥ 90 %
  • 善良な顧客の平均承認率 ≥ 86 %
  • スタンドインのリスク額 ≤ 9 M u
  • サーバーコスト ≤ 65 u

根拠:数字の背後にあるモデル

シミュレーターが使うすべての関係式を、出典とともに示します。前提と記された定数は例示的な校正値です。

新規取引は、基準レートにセールの急増を掛けた率で到着します。毎分の件数はランダム(ポアソン、正規近似)で、多少のバースト性があります。
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]前提:スロット数、処理時間と発行会社の応答時間、スコアの分離、ステップアップの通過率、無駄になる処理の割合、金額と価格は、中規模のスイッチを想定した説明用の値であり、実在のネットワークの数値ではありません。
二変量正規の不正スコア:正規と不正のスコアは、d′ だけ離れた2つの正規曲線で、しきい値がROC曲線上の1点を選びます。
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]前提:スロット数、処理時間と発行会社の応答時間、スコアの分離、ステップアップの通過率、無駄になる処理の割合、金額と価格は、中規模のスイッチを想定した説明用の値であり、実在のネットワークの数値ではありません。
コスト最適なしきい値:尤度比が、基準率で重み付けしたコスト比を上回るときに拒否します。不正が10倍多いと、しきい値は 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]
ステップアップ:しきい値より下の帯域にあるスコアは、判定せずに追加確認を行います。
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]前提:スロット数、処理時間と発行会社の応答時間、スコアの分離、ステップアップの通過率、無駄になる処理の割合、金額と価格は、中規模のスイッチを想定した説明用の値であり、実在のネットワークの数値ではありません。
発行会社の遅延は指数分布です。スロットは、遅延かタイムアウトのどちらか早いほうの間、占有されます。
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]前提:スロット数、処理時間と発行会社の応答時間、スコアの分離、ステップアップの通過率、無駄になる処理の割合、金額と価格は、中規模のスイッチを想定した説明用の値であり、実在のネットワークの数値ではありません。
クライアントのリトライ:技術的な失敗はそれぞれ最大3回まで、すぐに、またはランダム化した指数バックオフで再試行されます。
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]前提:スロット数、処理時間と発行会社の応答時間、スコアの分離、ステップアップの通過率、無駄になる処理の割合、金額と価格は、中規模のスイッチを想定した説明用の値であり、実在のネットワークの数値ではありません。
発行会社のタイムアウト、取消、スタンドイン:金額は対数正規分布なので、上限額未満の割合と承認額は正規分布の累積分布関数から求まります。
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前提:スロット数、処理時間と発行会社の応答時間、スコアの分離、ステップアップの通過率、無駄になる処理の割合、金額と価格は、中規模のスイッチを想定した説明用の値であり、実在のネットワークの数値ではありません。

乱数:シード付きの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

これを仕事にしている人

教育用モデルです。運用上の判断には使用しないでください。実際の現場では、すべての定数を自社の設備とデータに合わせて校正します。