Antifrod və qaydaların sazlanması
TL; DR
Antifrod «təcavüzkarların tutulması» deyil, mənfəətin optimallaşdırılmasıdır: Cost of Friction (CoF) və AR_net ilə məhdudlaşan frod və çarjbeklərdən Expected Loss (EL) -u minimuma endiririk. Əsas sxem: skoring (ML) → eşik/lent step-up → qaydalar (policy & velocity) → əl yoxlama. Uğur verir: təmiz etiketlər, sabit fişlər, iqtisadi cəhətdən kalibrlənmiş eşik, kanarya buraxılışları, ciddi idempotentlik və qaydaların idarə olunabilirliyi.
1) İqtisadi quruluş
Expected Loss:- `EL = P_fraud(tx) × Exposure(tx)`; adətən 'Exposure = captured_amount'.
- `CoF = (Abandon_on_Friction × LTV_new/ret) + Opex_review + Fees_stepup`.
- `Profit = GGR − Cost_payments − EL − CoF`.
Optimal eşik 'τ': score-cutoff 'd (Profit )/d τ = 0' və ya min ('EL + CoF') şəbəkəsi ilə seçin. Praktikada - cost-sensitive ROC/PR çəkiləri ilə: 'w _ fraud = Exposure', 'w _ fp = LTV_loss + opex'.
2) Autentifikasiya Lent (step-up ladder)
1. Auto-approve (aşağı risk): ani keçid, mümkün olan yerdə 3DS frictionless.
2. Step-up A: 3DS challenge / SCA / device-challenge / reCAPTCHA.
3. Step-up B: легкий KYC (doc selfie/face-match, liveness).
4. Manual review: analitikdə case (SLA, reason-codes).
5. Auto-decline: yüksək risk/sanksiyalar/qatır/çek anomaliyalar.
Eşik/filial baldan, məbləğdən ('ticket _ size'), ölkədən, BIN/issuer, davranış xüsusiyyətlərindən və kontekstdən (bonus kampaniyaları, gecə pəncərələri, velocity) asılıdır.
3) Siqnallar və fiçlər (minimal bazis)
Ödəniş: BIN/IIN, issuer_country, ECI/3DS flow, AVS/CVV match, soft-decline kodları, tarixdə qaytarmalar/disputes.
Davranış: hadisələrin sürəti (velocity: 'cards/device/ip/email'), günün vaxtı, ilk-seen/last-seen, hesabların «topologiyası» (qrafik-əlaqələr: ümumi cihazlar/kartlar/cüzdanlar).
Cihaz/şəbəkə: device fingerprint, emulyatorlar/jail/rut, proxy/VPN/TOR, ASN/hostinqlər.
Anti-bonus: Referans sindikatları, «nasos» bonusları, anormal depozit nümunələri → oyun olmadan çıxarılması.
Ödənişlər/cüzdanlar/vauçerlər: PIN təkrarları, geo-mismatch, «sürətli» nadir, mulinq kaskadları.
KYC/KYB: səviyyə, validasiya, SoF/SoW bayraqlar.
Sanksiyalar/RER/blok vərəqləri: siyahılar üzrə üst-üstə düşmə, fuzzi matçı, tam adı/ünvanları.
4) yığın: ML + qaydaları
5) Keyfiyyət metrikası (dəqiq əsaslarla)
AR_clean = `Auth_Approved / (Auth_Attempted − Fraud_preblocked − Abandon_3DS)`
Fraud Rate (tutmalar üzrə) = 'Fraud _ captured _ amount/ Captured_amount'
Chargeback Rate = 'Chargeback _ count/ Captured_Tx' (və ya cəmi)
False Positive Rate (FP) = `Legit_declined / Legit_attempted`
Step-up Rate = `StepUp_tx / Auth_Attempted`, Abandon_on_StepUp
Auto-approve %, Manual review %, Review SLA/TtA
Tuning sonra Net Profit uplift (AB-fərq EL + CoF vs nəzarət).
Təlimatlar: Yeni istifadəçilərin FP ≤ 1-2% (həcminə görə), Fraud (məbləğinə görə) - lisenziya/sxemlərin hədəf dəhlizində.
6) Eşik və qaydalar siyasəti
6. 1 Eşik kalibrləmə
Biz cost-curve qururuq: hər 'τ' üçün 'EL (τ) + CoF (τ)' hesab edirik.
Minimum 'τ' seçin. high-ticket üçün - ayrıca 'τ _ hi'.
6. 2 Standart qaydalar (psevdokod)
yaml
- name: SANCTIONS_HIT when: sanctions_match==true action: DECLINE reason: "Sanctions/PEP match"
- name: BIN_RISKY_3DS when: bin in RISKY_BINS and score in [τ_low, τ_mid)
action: STEPUP_3DS
- name: DEVICE_VELOCITY_LOCK when: device_id in last_10min.deposits > 3 action: DECLINE_TEMPORARY ttl: 2h
- name: BONUS_ABUSE_GUARD when: (bonus_received and gameplay_turnover < Xdeposit_amount) and payout_request action: HOLD_REVIEW reason: "Turnover not met"
6. 3 Dinamik limitlər
Risk dərəcəsi üzrə əməliyyatların miqdarı və miqdarı (risk-tier): 'R1/R2/R3'.
Yeni hesablar üçün adaptiv limitlər, yaxşı hekayə ilə istiləşmə.
7) Qaydaların həyat dövrü (governance)
DSL/versiyası, sahibi və effekt təsviri ilə qaydalar reyestri.
Shadow mode → canary (5–10%) → full rollout.
RACI: Owner (Payments Risk), Approver (Compliance/Legal), Consulted (Support/Treasury), Informed (Ops).
Audit-log: kim/nə vaxt dəyişdi, hansı metriklər/AV, geri qaytarma.
Qayda və yenidən qiymətləndirmə müddəti (məsələn, 30/60 gün).
8) Model məlumatları və təlimi
Split vaxt, sızma olmadan (features yalnız keçmiş pəncərə).
Hədəf etiketi: confirmed fraud/chargeback; ayrı-ayrı etiket bonus abuse.
Reweighing sinifləri cəmi (amount-weighted loss).
Drift-monitorinq: PSI üçün əsas fich, KS üçün sürət, baseline stability.
Retrain tetikləyiciləri: PSI> 0. 25, KS düşməsi, trafik/yurisdiksiya dəyişikliyi.
9) Açıqlanabilirlik və sapport
Hər bir həll üçün insan oxunan ipuçları ilə reason_codes (5 səbəbə qədər) yaradırıq.
Step-up/nasazlıqlar üçün sapport makroları (3DS, KYC, turnover).
Mübahisələr/mübahisələr: geribildirim labeling pipeline daxil olur (dövrünü bağlayın).
10) Uyğunluq və məxfilik
GDPR/DSAR: həll izah hüququ; PII-nin minimuma endirilməsi; hash (salted) identifikatorları (email/phone/PAN-token).
PCI-DSS: PAN-safe axını, tokenizasiya.
Sanksiyalar/AML: ayrı bir skrininq konturu + MLRO eskalasiyası.
Retention: Siqnalların saxlanması siyasəti və qərarların əsaslandırılması.
11) Monitorinq və alertlər (hər saat/gündəlik)
AR_clean, Fraud (amt%), FP (retention-weighted), Step-up/Abandon, Review SLA, Chargeback Rate (lagged).
Velocity adaptasiyaları, TOR/Proxy/ASN hostinqlərinin böyüməsi, BIN deqradasiyaları, vauçer nadir.
Alertlər: FP> dəhliz, Fraud> target, Abandon> baza + X pp, PSI/KS drift.
12) SQL dilimləri (nümunə)
12. 1 Əsas metriklər
sql
WITH base AS (
SELECT
DATE_TRUNC('day', attempt_ts) d, country, provider, method_code,
COUNT() FILTER (WHERE auth_status='ATTEMPTED') AS attempted,
COUNT() FILTER (WHERE auth_status='APPROVED') AS approved,
COUNT() FILTER (WHERE decision='DECLINE' AND label='LEGIT') AS fp_cnt,
SUM(captured_amount) AS cap_amt,
SUM(CASE WHEN label='FRAUD' THEN captured_amount ELSE 0 END) AS fraud_amt
FROM payments_flat
GROUP BY 1,2,3,4
)
SELECT d, country, provider, method_code,
approved::decimal/NULLIF(attempted,0) AS ar_clean,
fraud_amt::decimal/NULLIF(cap_amt,0) AS fraud_rate_amt,
fp_cnt::decimal/NULLIF(attempted,0) AS fp_rate
FROM base;
12. 2 Step-up və sıçrama payı
sql
SELECT
DATE_TRUNC('day', attempt_ts) d,
WIDTH_BUCKET(score, 0, 1, 10) AS bucket,
AVG(CASE WHEN decision='STEPUP' THEN 1 ELSE 0 END) AS stepup_share,
AVG(CASE WHEN decision='DECLINE' THEN 1 ELSE 0 END) AS decline_share,
AVG(CASE WHEN stepup_abandon THEN 1 ELSE 0 END) AS abandon_after_stepup
FROM risk_events
GROUP BY 1,2
ORDER BY d, bucket;
13) Sazlama pleybukları
Sabit FP ilə Fraud (amt%) artım → 'τ' qaldırmaq, cihazlar/ASN velocity gücləndirmək, həssas BIN 3DS-challenge daxil.
yeni → low-ticket üçün 'τ' yumşaltmaq üçün yüksək FP, sapma əvəzinə addım-up A bir hissəsi tərcümə.
Abandon 3DS ↑ → 3DS2 parametrləri haqqında PSP ilə razılaşmaq, UX yaxşılaşdırmaq, aşağı risk üçün mobil step-up daraltmaq.
Sindidual bonus şəbəkələri → qrafik fiçləri, «paralel» ödənişləri, turnover qaydalarını məhdudlaşdırın.
Çek anomaliyalar → velocity PIN/pərakəndə/geo, device-binding, hold yoxlamadan əvvəl.
14) Giriş: çek siyahısı
- İqtisadi eşik kalibrləmə ('EL + CoF'), seqmentlər üzrə ayrı-ayrı 'τ'.
- Qaydalar reyestri (DSL), shadow → canary → rollout, audit və geri dönüş.
- Reason-codes və kommunikasiya şablonları.
- PSI/KS monitorinqi, sürüklənmə/sürüşmə, müntəzəm retrain.
- Rəy kanalı (disputlar → etiketlər).
- KYC/step-up, SLA review və TtA/TtR siyasəti.
- Gizlilik: identifikatorların heşlənməsi, PII-nin minimuma endirilməsi.
15) Xülasə
Sazlama antifrodu idarə olunan sürtünmə ilə sistemli mənfəət optimallaşdırmasıdır: ML-skoring + düşünülmüş step-up lent, sərt qanuni qaydalar və səliqəli velocity-limitlər. İqtisadi eşik kalibrləmə, təmiz etiketlər, kanareya hesablamaları və ciddi idarə olunma aşağı Fraud, yeni aşağı FP, yüksək AR_net - komplayens və UX üçün sürprizsiz verir.