مالی — عملیات پرداخت مدل زنده

شما در میز عملیات یک سوئیچ پرداخت هستید که میان پذیرندگان و صادرکنندگان کارت قرار دارد. هر دقیقه به‌طور میانگین حدود 400 تراکنش در ثانیه می‌رسد؛ هرکدام از نظر تقلب امتیاز می‌گیرد، منتظر یک اسلات اتصال آزاد می‌ماند و برای پاسخ به صادرکننده‌اش فرستاده می‌شود. مدل صف‌بندی، مهلت‌ها، تلاش‌های مجدد مشتری، بده‌بستان غربال تقلب و ریسک stand-in را از فرمول‌های درسی محاسبه می‌کند. مبالغ بر حسب واحدهای پولی عمومی (u) است. فقط شبیه‌سازی آموزشی — توصیه مالی، حقوقی یا سرمایه‌گذاری نیست.

چه چیزی یاد می‌گیرید

شبیه‌ساز

زمان 0 min
بار عرضه‌شده (جدید + تلاش مجدد) 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%صادرکنندگان A✓ 250 msصادرکنندگان B✓ 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 = خاموش.

یک اسلات اتصال تا چه مدت منتظر پاسخ صادرکننده می‌ماند. پس از آن سوئیچ ابطال می‌فرستد و از stand-in استفاده می‌کند، یا با «صادرکننده در دسترس نیست» رد می‌کند.

وقتی صادرکننده به‌موقع پاسخ نمی‌دهد، سوئیچ از طرف او تا این مبلغ تأیید می‌کند. هر تأیید 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-in0 tx/s
سرورهای در حال سرویس6
سرورهای در حال راه‌اندازی0
نرخ هزینه سرور36 u/h
هزینه سرور تا اکنون0 u
ریسک stand-in0.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σ) تنظیم شده و step-up خاموش است. نرخ تقلب را پایین بیاورید، بی‌آنکه مشتریان خوب را رد کنید.

  • میانگین نرخ تقلب ≤ 25 bp
  • میانگین تأیید مشتریان خوب ≥ 98 %
  • مشتریان خوبِ ردشده با قاعده ≤ 5 ‰

سطح 3 · خرابی صادرکنندگان

در دقیقه 5 صادرکنندگان گروه B — یک‌چهارم کل ترافیک — کند می‌شوند و میانگین زمان پاسخشان به 12 ثانیه می‌رسد. سوئیچ تا 8 s منتظر پاسخ می‌ماند، stand-in ندارد و با 6 سرور کار می‌کند. جریان مشتریان صادرکنندگان سالم را برقرار نگه دارید، گروه B را تا جایی که ایمن است سرویس دهید و ریسک 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، سهم کار هدررفته، مبالغ و قیمت‌ها مقادیری نمونه برای یک سوئیچ متوسط‌اند، نه ارقام هیچ شبکه واقعی.
امتیاز تقلب دوعادی (binormal): امتیازهای واقعی و تقلب دو منحنی نرمال با فاصله 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 s منتظر بماند.
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: مبالغ لوگ‌نرمال‌اند، پس سهم زیر سقف و حجم تأییدشده از تابع توزیع نرمال به دست می‌آید.
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 با seed؛ توزیع‌های به‌کاررفته — یکنواخت، نمایی (وارون CDF)، نرمال (Box–Muller)، پواسون (Knuth). seed نمایش داده می‌شود و قابل اشتراک است.

منابع

  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

چه کسی این کار را حرفه‌ای انجام می‌دهد

مدل آموزشی — برای تصمیم‌های عملیاتی نیست. سایت‌های واقعی هر ثابت را با تجهیزات و داده‌های خودشان کالیبره می‌کنند.