Velocity-лимиттер және анти-абьюз
1) velocity дегеніміз не және ол не үшін қажет
Velocity-лимиттер - бұл берілген уақыт терезелері үшін операциялардың жиілігі мен көлеміне шектеулер. Мақсаты:- құнсыздануды және бонустарды/промо,
- төлем инфрақұрылымын ретраядан «дауылдан» қорғау,
- ықтимал жерде «қатаң бас тарту» орнына күмәнді әрекеттерді челленджге (3DS/SCA) ауыстыра отырып, дені сау конверсияны ұстап тұру.
Velocity-бақылаулар скорингті, AVS/CVV, 3DS2/SCA және smart-routing-ті толықтырады.
2) Қандай мәндерді лимиттеу (scopes)
Лимиттерді бір мезгілде бірнеше деңгейде жобалаңыз:- Төлем мәні: 'card _ token' (vault/network), 'bin', 'issuer', 'psp _ route'.
- Пайдаланушы: 'account _ id', 'kyc _ level', 'email/phone'.
- Техникалық: 'device _ id' (fingerprint/SDK), 'ip', 'asn', 'session _ id'.
- Бизнес контекст: 'bonus _ id', 'campaign _ id', 'country', 'mcc 7995' кіші түрі (депозит/шығару).
- Қаржылық: 'amount _ bucket' (микро/орта/ірі), 'currency', 'payment _ method'.
3) Терезелер мен есептегіштер
Fixed window (T = 15m/1h/24h) - қарапайым, бірақ шекараларға сезімтал.
Sliding window - нақтырақ айтсақ, «жылжымалы» интервал бойынша санайды.
Leaky bucket/Token bucket - жарылыстарды тегістейді, тұрақты өткізу қабілетін береді.
Құрамдастырылған: burst (қысқа тербеліс) + sustained (ұзақ ағын).
- 'device _ id': 15 минут ішінде 3 рет авторизациялау әрекетін ≤; 24 сағат ішінде 10 ≤.
- 'card _ token': 3DS-сіз қатарынан 2 decline ≤; үшіншісі - міндетті 3DS.
- 'ip': ≤ 1 сағатта 5 бірегей 'card _ token' (әйтпесе - капча/блок).
- 'account _ id': қатарынан жойылған 2 депозит ≤; бұдан әрі - құлдаун 1 сағат.
4) Шектеу алгоритмдері (қысқаша)
Token Bucket (bursts рұқсат етеді):- 'capacity' және 'refill _ rate' дегенді баптандырыңыз.
- Әрбір әрекеттің алдында 1 белгіні «шығарыңыз»; егер токендер болмаса - challenge/decline.
- Кезек тұрақты жылдамдықпен ағады; келетін оқиғалар толып кетеді - throttle.
- 1-қайталау: 2-5 мин → 2-ші: 10-20 мин → 3-ші: 1-2 сағ → тоқта, немесе баламалы әдіске көшіру.
5) Шешімдер саясаты (decisioning)
Velocity тексеру нәтижелерін жіктеңіз:- Allow: төменгі тәуекел, шектер шегінде.
- Challenge: «жұмсақ» шегінен асып → 3DS/SCA/капча/KBA (сұрақтар).
- Throttle: мөлдір UX-пен уақытша шектеу (кулдаун).
- Decline: өрескел бұзушылықтар (жаппай карта, бот-пул, бонус-абьюз).
- Reroute: PSP/әдісін ауыстыру (мысалы, A2A) эмитенттің '91/96' -да жарқылдаған кезде.
Үлгілердің шағын матрицасы
'device _ id' 15 минут ішінде 3 ≥ әрекеті және 'cvv = N' ≥ 2 → Decline + капча.
'card _ token' 2 soft-decline қатарынан → 3DS-challenge (міндетті).
'ip' ≥ 5 бірегей 'account _ id' 30 минутта → Throttle 30 мин + KYC-тексеру.
'account _ id' депозит-шығару-депозит үшін 10 минут (карусель) → Challenge немесе сома бойынша лимит.
6) Депозиттер, ретрайлер және қорытындылар үшін Velocity
Депозиттер:- «Микро-толтыруларды» қорғаңыз (көптеген шағын транзакциялар): саны және жалпы айналым лимиті T. үшін
- '05 '/' 14 '/' 54' кезегі кезінде - деректемелерді «іріктеуді» тоқтатыңыз, 3DS-ге аударыңыз.
- CIT және MIT кезектерін таратыңыз. MIT үшін T + 1/T + 24h жұмсақ терезелерін пайдаланыңыз.
- Soft-decline 'SCA required' → дереу 3DS, әрекетті өртемеңіз.
- Сомаға/жиілікке жеке лимиттер: мысалы, ≤ 2 шығарылым/24h және сома/апта бойынша N ≤.
- «Баспалдақ» KYC: тексеру жоғары болған сайын, лимиттер де жоғары болады.
- «Circling» жобасы: жылдам депозит және жылдам ақша шығару - manual review/hold.
7) Анти-абьюз промо және бонустар
Per-campaign caps: 'bonus _ id' ≤ 'device _ id '/' ip '/' payment _ fingerprint'.
«Шанышқылар» (шоттар арасында ақша айдау): жалпы карталардың/IP/құрылғылардың баған-талдауы.
Cool-off windows: бонус-депозиттен кейін - бірден шығаруға тыйым салу, ToS-те ашық ережелер.
Деңгейлер бойынша санкциялар: уақытша бұғаттаудан бастап «мәңгілікке» дейін, себептер журналымен.
8) Сәулет: velocity-ережелеріне сәйкес қайда өмір сүру керек
Real-time шлюзі (оркестрде): шешім ≤ 50-100 мс.
Есептеуіштер қоймасы: in-memory (Redis/KeyDB) + ұзақ мерзімді «мәліметтер» (DWH).
Фичестор: бірыңғай терезе/агрегаттар (15m/1h/24h/7d).
Rule engine + ML скоринг: «safety-net» үлгі үстіндегі ереже.
-жалаулар: «3DS қосу», «X аймағында қатаңырақ», «PSP-A үзілісі».
Теңсіздік: қайталау/таймауттар кезінде телнұсқалардан қорғау.
9) Ереженің жалған құжаты (эскиз)
pseudo on payment_attempt(ctx):
s = features(ctx) // device/ip/account/bin/score/avs/cvv/history if counter(device, 15m) >= 3 and cvv_fail(device, 15m) >= 2:
return DECLINE(reason="velocity_device_cvv")
if soft_declines(card_token, 1h) >= 2:
return CHALLENGE_3DS()
if uniq_accounts(ip, 30m) >= 5:
return THROTTLE(ttl=30m)
if score > T2 and velocity(account, 1h) > Vmax:
return DECLINE(reason="high_risk_burst")
return ALLOW
10) UX-паттерндер (конверсияны бұзбай)
Анық хабарлар: "Қысқа уақыт ішінде тым көп әрекет жасалды. 15 минуттан кейін байқап көріңіз немесе банкте растаңыз".
Таймермен «Кейінірек қайталау» түймешігі.
Баламалар ұсынысы: А2А/троттлинг кезіндегі жергілікті әмияндар.
SCA-soft кезінде деректемелерді қайта енгізбестен Авто-3DS.
Капча тек нүктелі (IP/ASN/бот-сигналдар бойынша), бәріне емес.
11) Комплаенс және құпиялылық
GDPR/PII: минималды идентификаторларды (құрылғы хэштері, карта белгілері, last4), мөлдір саясатты сақтаңыз.
PCI DSS: логдарда ешқандай PAN/CVV; сезімтал деректерсіз velocity оқиғалары.
PSD2/SCA: толық бас тартудың орнына артықшылықтарды орынды жерде challenge-ге аударыңыз.
12) Метриктер, алерттар, SLO
KPI:- Approval Rate (жалпы және ережелер іске қосылғанда).
- False Positive Rate velocity ережелері (кейіннен заңдылығы бойынша → адал блоктардың үлесі).
- Ретрайлардың «дауылдарының» саны және қалпына келтірудің орташа уақыты.
- Сәтті нәтижемен decline → challenge аударымдарының үлесі.
- Лимиттер жұмыс істеген сегменттерде Chargeback rate (күтеміз ↓).
- Спайк '05/14/54' + әрекеттердің өсуі> X 15 минут ішінде BIN/ASN кластерінде.
- Секіріс '91/96' → T1 табалдырығын авто-көтеру + PSP-B.-де роутинг
- FP-rate ережесі> мақсатты (мысалы, 1. 5 × апталық медианалар).
- Velocity бойынша шешім ≤ 100 мс p95.
- Нысаналы ≥ бас тартудың орнына 3DS-ке аударылған табысты төлемдердің үлесі.
13) Қарсы үлгілер
Барлық нарықтар мен клиенттердің түрлері үшін әмбебап «жаппай» лимит.
AVS қалыпты жұмыс істемейтін елдерде 'AVS = U/S/G' бойынша бұғаттау.
CIT/MIT ортақ пайдаланылмасын - жазылымдарды/қайталауларды бұзады.
Jitter және іспеттілік - дубли мен дауылсыз ретрациялайды.
Бас тарту себептерін жасыру - саппорт пен уыттылық артады.
14) Енгізу чек-парағы
- Мәндер картасы (scopes) және терезелер (15m/1h/24h/7d).
- Алгоритмдерді таңдау: bursts үшін sliding + token bucket.
- Ретрайлардың қалыпқа келуі: backoff + jitter, CIT/MIT үшін бөлек.
- 3DS/SCA интеграциялау: авто-challenge жұмсақ артығымен.
- Қорытындылар мен бонустар үшін жеке лимиттер; байланыстарды тексеру бағаны.
- Бақылау қабілеті: KPI дашбордтар/алерта/ережелер аудиті.
- UX хабарламалар үлгілері және баламалы әдістер.
- PCI/GDPR саясаты: белгілер, бүркемелеу, PII азайту.
- Нарықтар/BIN/ASN және клиенттердің бейіндері бойынша шектердің A/B-тестілері.
- Оқиғалар ойнатқыштары: эмитенттің/PSP деградациясы, боттардың көтерілуі.
15) Түйіндеме
Тиімді velocity-лимиттер - бұл көп деңгейлі терезелер мен әртүрлі мәндер бойынша есептегіштер, тегістеу алгоритмдері (token/leaky bucket), ақылды ретра және 3DS/SCA және скорингпен тығыз байланысу. Мұндай контур фрод пен абьюзды азайтады, конверсияны тұншықтырмайды және эмитенттер мен трафиктің құбылмалылығы кезінде тұрақты монетизацияны сақтауға көмектеседі.