Bonus-abuse和財務保護
1)什麼是獎金,為什麼是財務問題
Bonus-abuse-有針對性地使用獎金/股票以獲得保證的收益,而無需承擔同等遊戲風險或繞過規則。後果:- 直接損失:獎金價值,免費旋轉,促銷功能/FX,CB/Refund。
- 扭曲指標:誇大了AR/MAU,虛假的uplift's。
- 支付風險:「旋轉木馬」depozit→vyvod,chargeback-farming。
- 許可風險:違反RG/KYC/AML,誤導促銷。
2)濫用分類法(模式)
1.Stacking-每個人/家庭/設備/支付令牌的多個獎金。
2.Net-deposit loops是為了獲得獎金→最低利率→退款或充電器。
3.Hedging/Arbitrage-在相互關聯的市場/遊戲中投註以實現「封閉」風險。
4.High-RTP cherry-picking是僅限遊戲的遊戲,對WR的貢獻很高。
5.Method arbitrage是一種廉價的存款方法→昂貴/快速的出口走廊。
6.FX套利是對存款與輸出之間匯率差異的猜測。
7.Multi-Accounting-重復使用設備/網絡/支付工具的克隆。
8.Chargeback農場是一項獎金遊戲,然後通過爭議/沖鋒隊退還押金。
9.KYC-evasion是SoF/SoW的有針對性的旁路,SoF/SoW是國家的替代產品(VPN/Proxy/SIM)。
3)財務保護(政策核心)
One-per constraints: по person/household/device/payment_token.
ND (Net Deposits)-門:「ND ≥ 0」(或「ND ≥ θ」閾值)的參與/支付。
Same-method/Return-to-source:提取高達ND的金額-僅用於存款來源。
Payout-locks:在執行WR和檢查違規行為之前,以主動獎勵方式禁止/限制輸出。
WR&Pribution%:透明的重新組合規則(ONUS-ONLY或BONUS+DEPOSIT)以及按遊戲類別劃分的重量。
WR下的Max bet:絕對限額或獎金份額(例如「≤ 5 EUR」或「≤ 10%獎金」)。
遊戲/風險溢出:禁止「購買飛盤」,頭獎,異常高的RTP冠軍。
Velocity caps:對存款/收款/失敗付款率的限制。
滾動儲備/控股:合作夥伴/子客戶以及高風險玩家的保險緩沖區。
外匯政策:將參考率固定在獎金上;在付款時控制滑動。
4)風險信號(支付和行為)
支付:BIN地理≠ KYC國家,頻繁的軟貶值,連續的新令牌,卡/錢包,著名的「高風險」發行人。
Device/Network: device-graph與其他帳戶相同,常見的IP/ASN/VPN/主機。
Behavior:只有一個高對比度的遊戲,一個下註後的即時撤出,重播WR違規行為。
Geo:KYC≠IP≠SIM,地質速度異常。
Docs:可疑的KYC/POA/SoF(質量差,模板,reuse)。
FX:以「弱」貨幣存款,以「強」結算,暫時高利差。
風險計分:線性模型/GBM,帶有按塊計費的撥號(Payment/Device/Behavior/Geo/FX),步進閾值校準(KYC/Liveness/SoF)和deny。
5)規則體系結構(策略引擎)
相等性:一次性payment_token/household/device贈款。
「存款前」規則:GEO/KYC/ND/一對一的可行性。
「存款後」規則:激活贈款,max bet,WR,遊戲混合,計時器。
「輸出」規則:same-method, ND切口,SoF/SoW步進,hold/deny。
審計:規則版本,原因,證據(用於上訴和監管機構)。
6)花花公子事件
1.Abuse wave (stacking):立即取消這項活動的贈款,重新計票WR,選擇性SoF,令牌/房屋。
2.Chargeback surge:包括3DS-step-up,收緊same method,增加對PSP結論和儲備的保留。
3.FX套利:暫時限制交叉貨幣結算,並引入傳播守護。
4.方法arbitrage:關閉ND負的「昂貴」走廊,僅在源頭上啟用退貨。
7)法律,RG和隱私
Terms&Promo T&C:短片版本,完整版本-配置文件;本地化。
RG: self-exclude/Limits-獎金不可用;冷靜地將主動贈款歸零。
KYC/SoF:數據最小化,明確同意,還原政策,DPA。
制裁/許可證:國家白名單,禁止特定司法管轄區的促銷類型。
8)數據和模型(最低)
sql
-- Игрок и атрибуты риска risk.player_signals (
user_id PK, risk_score NUMERIC, nd_total NUMERIC, nd_30d NUMERIC, nd_7d NUMERIC,
kyc_level TEXT, geo_ip TEXT, geo_kyc TEXT, geo_sim TEXT,
device_hash TEXT, household_id TEXT, payment_token_last TEXT,
fx_profile JSONB, updated_at TIMESTAMP
);
-- Гранты бонусов и прогресс/нарушения bonus.grants (
grant_id PK, promo_id, user_id, deposit_tx_id, currency,
bonus_amount NUMERIC, granted_at TIMESTAMP, expires_at TIMESTAMP,
status TEXT -- ACTIVE FORFEITED COMPLETED EXPIRED FROZEN
);
bonus.wr_progress (
grant_id, user_id,
turnover_slots NUMERIC, turnover_tables NUMERIC, turnover_live NUMERIC,
turnover_total NUMERIC, required_total NUMERIC, updated_at TIMESTAMP
);
bonus.violations (
id PK, grant_id, user_id, type TEXT, severity TEXT, details JSONB, occurred_at TIMESTAMP
);
-- Нетто-депозиты и разрез по методам finance.net_deposits (
user_id, currency, nd_total NUMERIC, nd_by_method JSONB, updated_at TIMESTAMP
);
-- Выводы и причины hold/deny payout.requests (
payout_id PK, user_id, method TEXT, currency TEXT, amount NUMERIC,
nd_snapshot NUMERIC, same_method_ok BOOLEAN, risk_score NUMERIC,
status TEXT, reason_code TEXT, created_at TIMESTAMP, decided_at TIMESTAMP
);
9)Pseudo-DSL規則
yaml policy: "bonus_abuse_v4"
eligibility:
geo_whitelist: [DE, AT, FI]
kyc_min: L1 nd_min: 0 one_per: [person, household, device, payment_token]
deny_if:
- sanctions_hit == true
- risk_score >= 0.85 grant:
max_bet_amount:
EUR: 5 wagering:
base: BONUS_ONLY multiplier: 30 contrib:
slots: 100 tables: 25 live: 10 game_exclusions: [JACKPOT, BUY_BONUS]
controls:
payout_lock: UNTIL_WR_DONE same_method: true allow_nd_withdrawal: true fx_spread_guard_bps: 80 method_arbitrage_block: true escalations:
- if: nd_7d < 0 then: "deny_new_bonus"
- if: device_household_overlap >= 2 then: "manual_review"
- if: cb_rate_30d > 0.8% then: "hold_payout_48h"
audience:
exclude_segments: ["self_excluded", "high_risk_bin"]
10) SQL模板
10.1.輸出上的ND-gate和same-method
sql
SELECT r.payout_id,
(nd.nd_total >= 0) AS nd_non_negative,
(t.method = r.method AND t.payment_token = r.payment_token) AS same_method_ok
FROM payout.requests r
JOIN finance.net_deposits nd ON nd.user_id = r.user_id AND nd.currency = r.currency
JOIN dw.transactions_flat t ON t.tx_id = (
SELECT deposit_tx_id FROM bonus.grants
WHERE user_id = r.user_id AND status IN ('ACTIVE','COMPLETED')
ORDER BY granted_at DESC LIMIT 1
)
WHERE r.status='PENDING' AND r.created_at BETWEEN:from AND:to;
10.2.Household/device overlap的細節
sql
SELECT suspect.user_id, base.user_id AS overlap_with, suspect.device_hash, suspect.household_id
FROM risk.player_signals suspect
JOIN risk.player_signals base
ON suspect.user_id <> base.user_id
AND (suspect.device_hash = base.device_hash OR suspect.household_id = base.household_id)
WHERE suspect.updated_at > now() - INTERVAL '30 days';
10.3.Max-bet和game-mix違規行為
sql
SELECT b.user_id, b.grant_id,
SUM(CASE WHEN b.amount > l.max_bet_amount THEN 1 ELSE 0 END) AS maxbet_viol,
100.0 SUM(CASE WHEN game_category='slots' THEN b.stake ELSE 0 END)
/ NULLIF(SUM(b.stake),0) AS slots_share_pct
FROM dw.bets b
JOIN bonus.session_limits l USING (grant_id, user_id)
WHERE b.placed_at BETWEEN:from AND:to
GROUP BY 1,2
HAVING SUM(CASE WHEN b.amount > l.max_bet_amount THEN 1 ELSE 0 END) > 0
OR 100.0 SUM(CASE WHEN game_category='slots' THEN b.stake ELSE 0 END)
/ NULLIF(SUM(b.stake),0) >:one_game_share_max;
10.4.Chargeback-pon-Bonus監視
sql
SELECT method,
10000.0 SUM(is_chargeback::int) / NULLIF(COUNT(),0) AS cb_bps_14d
FROM risk.outcomes o
JOIN dw.transactions_flat t USING (tx_id)
WHERE o.occurred_at BETWEEN (CURRENT_DATE - INTERVAL '14 days') AND CURRENT_DATE
AND EXISTS (SELECT 1 FROM bonus.grants g WHERE g.deposit_tx_id=t.tx_id)
GROUP BY method
ORDER BY cb_bps_14d DESC;
10.5.FX-slippage在促銷中
sql
SELECT g.promo_id,
SUM(fx_effective - fx_reference) 10000.0 / NULLIF(SUM(amount_reporting),0) AS fx_slippage_bps
FROM dw.transactions_flat t
JOIN bonus.grants g ON g.deposit_tx_id=t.tx_id
WHERE t.settled_at BETWEEN:from AND:to
GROUP BY 1;
11) KPI和dashbords
Abuse Rate:有違規/調查的贈款份額。
WR Completion % / Time-to-WR (p50/p95).
ND Gate Hit%和ND在參與者中的份額<0。
方法/PSP/地質學的 Chargeback Bonus(bps)。
Payout Hold Share和平均TAT解決方案。
按促銷/貨幣計算的FX Slippage (bps)。
Promo Liability(passive)和Breakage%。
房屋/設備覆蓋指數(聚類)。
12)Alerta和急流
Abuse Spike: рост `violations/100 grants` > X d/d.
CB Surge Post-Bonus:方法cb_bps_14d/geo>閾值。
ND Negative Share ↑:ND <0在撤回申請中的份額>Y%。
Max-Bet Burst:違反行為激增>品牌/標題閾值。
FX Anomaly: slippage_bps>貨幣對限額。
Household Bloom:新的大型設備/地址集群。
Policy Drift:沒有規則或同意的固定版本的贈款。
13)UX模式(無「燃燒」轉換)
存款屏幕上的條件短卡(min dep,WR,max bet,same-method)。
WR進度-酒吧+截止日期,按類別貢獻。
ND/結論的解釋: 「凈存款金額僅為來源。」
柔和的步驟:SoF/信號自拍照;透明的時間表。
上訴:帶有文件支票單的「挑戰」按鈕。
14) A/B防禦測試
Guardrails: CBR bps, Abuse Rate, AR/Take-Rate, Payout TAT.
測試的內容是:'nd_min','max_bet','WR multiplier/base','one_per'-strategy,'fx_guard'。
技術:通過GEO/BIN/方法進行分層,通過預行為進行CUPED,通過SV/結論進行分層。
15)實施支票
- ND模型和方法切割;same-method/return-to-source в payout.
- Promo DSL+規則、版本和審核驗證程序。
[] Max bet, WR, contrib%, exclusions;velocity限制。
[] Device/household graph;BIN 地理/FX配置文件。
- 風險評分+step-ups(KYC/SoF)和deny閾值。
- 在引線和PSP上保持/保留力學。
- KPI和Alerta的Dashbords;事件的花花公子。
- 法律文本(本地)、RG門、同意書和續文。
- 與SLA的上訴和人工決定程序。
- A/B具有嚴格的護欄和數據帶。
二.總結
有效的獎勵獎勵保護是系統而不是一組禁令:ND控制和支付中的符號方法,嚴格的WR/max-bet和contrib%,Payment/Device/Behavior/FX信號,帶步進的風險評分,透明的UX和法律純度。這樣的堆棧減少了直接損失,穩定了P&L,並為真正的玩家保留了誠實的體驗-沒有額外的摩擦和「誤報」。