金融——支付运营 实时模型

你在一台支付交换机的运营台工作,这台交换机位于商户和发卡行之间。每一分钟,交易以每秒约 400 笔的速度到达;每笔都会被评估欺诈分数,等待空闲的连接槽位,再转发给其发卡行取得响应。模型按教科书公式计算排队、超时、客户端重试、欺诈筛查的取舍,以及代批的风险敞口。金额以通用货币单位(u)计。仅为教育模拟——并非财务、法律或投资建议。

你将学到什么

模拟器

时间 0 min
提供的负载(新交易 + 重试) 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 msB 组发卡行✓ 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 ‰
送去加强验证的交易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 分钟内把流量增加一倍,达约 800 笔交易每秒。交换机运行 6 台服务器,按平常日约 70 % 繁忙度配置。商户会对每个技术故障立即重试。要让正常客户保持获批、响应快速,同时不买多余的容量。

  • 促销开始后,正常客户平均批准率 ≥ 95 %
  • 平均授权时间 ≤ 500 ms
  • 服务器成本 ≤ 75 u

第 2 级 · 欺诈浪潮

第 5 分钟,一批被盗的银行卡信息开始被使用:流量中的欺诈比例由 0.1 % 跳升至 1 %。拒绝阈值是按平常日设定的(3σ),加强验证则是关闭的。要降低欺诈率,同时不拒绝正常客户。

  • 平均欺诈率 ≤ 25 bp
  • 正常客户平均批准率 ≥ 98 %
  • 被规则拒绝的正常客户 ≤ 5 ‰

第 3 级 · 发卡行故障

第 5 分钟,B 组发卡行(占全部流量的四分之一)的平均响应时间减慢至 12 秒。交换机最多等待响应 8 s,没有代批,并运行 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′ 的正态曲线;阈值是在 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]假设:槽位数量、服务和发卡行时间、分数分离度、加强验证通过率、无用功比例、金额和价格,都是中型交换机的示意数值,并非任何真实网络的数字。
成本最优阈值:当似然比超过按基础比率加权的成本比时就拒绝——欺诈频率增加十倍,会使阈值下移 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]
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]假设:槽位数量、服务和发卡行时间、分数分离度、加强验证通过率、无用功比例、金额和价格,都是中型交换机的示意数值,并非任何真实网络的数字。
客户端重试:每个技术故障最多重试三次,立即重试或采用随机指数退避。
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]假设:槽位数量、服务和发卡行时间、分数分离度、加强验证通过率、无用功比例、金额和价格,都是中型交换机的示意数值,并非任何真实网络的数字。
发卡行超时、冲正和代批:金额服从对数正态分布,所以低于上限的比例和批准的金额可由正态 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假设:槽位数量、服务和发卡行时间、分数分离度、加强验证通过率、无用功比例、金额和价格,都是中型交换机的示意数值,并非任何真实网络的数字。

随机性:带种子的 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

谁在从事这份工作

教育模型,不可用于实际运营决策。真实站点会根据自己的设备和数据校准每一个常数。