iGaming의 머신 러닝
1) 사업 사례 및 가치
제품/수익: LTV 예측, 이탈 (유출), 예금/구매 지원, 동적 미션/퀘스트, 차세대 액션/오퍼.
마케팅/CRM: 모양, 세분화, 실시간 트리거, 보너스 최적화 (ABO-남용 방지 보너스 최적화).
위험/준수: 사기 방지/AML (속도, 구조 조정, 그래프 특성), 책임 게임 (RG) -위험 속도, 중재 트리거.
운영/SRE: 사고 예측, 용량/트래픽 예측, 공급자 이상.
금융: GGR/NGR 예측, Fx 민감도, 카운터 파티 조작 탐지.
효과 지침: 개인화로 인한 순 수익에 + 3-7%, 사기 손실에 -20-40%, 이탈에 -10-25%, 온라인에서 SLA 응답 RG <5 초.
2) 기능 공학
출처: 게임 플레이, 결제/PSP, 인증, 장치/ASN/geo, RG/KYC/KYB, 마케팅 UTM, 공급자 로그, 지원/텍스트.
기본 기능:- 행동 창: N 요금/예금 및 하루 10 분/시간/일 당 금액, 우발 성/주파수/화폐.
- 시퀀스: 게임 체인, 마지막 활동이있는 시간, 세션 특성.
- 지리/장치: 국가/시장, ASN, 장치/브라우저 유형.
- 그래프: 플레이어-카드-장치-IP 연결, 구성 요소/중심 (사기 링).
- 상황: 요일/요일/시장 공휴일, 제공자/장르/게임 변동성.
- RG/AML: 제한, 자체 제외, 선별 플래그, PEP/제재 (캐시/아신 크론을 통한).
- 통화 및 시간 정규화 (UTC + 시장 로케일).
- 역사적인 치수 (SCD II).
- 온라인/오프라인 변환 (단일 기능 저장소 코드) 에 동의하십시오.
3) 아키텍처: 온라인 오프라인
3. 오프라인 루프 1 개
레이크 하우스: 청동 → 은 (정규화/농축) → 금 (데이터 세트).
피처 스토어 (오프라인): 공식 레지스터, 시점 결합, 훈련 세트의 구체화.
훈련: 고정 된 종속성을 가진 컨테이너; 추적 실험 (메트릭/아티팩트/데이터).
검증: k- 폴드/시간 분할, 백 테스트, 비 정책 평가.
3. 2 온라인 회로
Ingest → Stream Processing: 창/워터 마크가있는 Flink/Spark/Beam, demempotency.
Feature Store (온라인): 저 특허 캐시 (Redis/Scylla) + 오프라인 캐스트.
서빙: REST/gRPC 엔드 포인트, 스코어링 그래프, AB 라우팅, 카나리아 릴리스.
실시간 상점: 패널/규칙을위한 ClickHouse/Pinot.
4) 모델 모델 및 접근 방식
분류/점수: 이탈/예금/사기/RG (LogReg, XGBoost/LightGBM, TabNet, CatBoost).
순위/권장 사항: 인수 분해/목록 순위 (LambdaMART), seq2rec (RNN/Transformers), 상황 도적.
Anomalies: 시계열의 격리 숲, 원 클래스 SVM, AutoEncoder, Prophet/TSfresh.
그래프: 사기 반지에 대한 Node2Vec/GraphSAGE/GNN.
인과 관계: 고양 모델, T- 학습자/X- 학습자, DoWhy/CausalML.
NLP/ASR: 티켓/채팅, 불만 분류, 정서, 주제.
5) 품질 지표
분류: ROC-AUC/PR-AUC, 운영 임계 값의 F1, 예상 비용 (가중 FP/FN), 위험 점수에 대한 KS.
권장 사항: NDCG @ K, MAP @ K, 적용 범위/다양성, CTR/CVR 온라인.
TS/예측: MAPE/SMAPE, WAPE, P50/P90 오류, PI 적용 범위.
RG/AML: SLA의 정밀/리콜, 시간 간 간 평균.
경제: 순수익 향상, 사기 저장, ROI 캠페인, 보너스 남용%.
6) 평가 및 실험
오프라인: 시간 분할, 주/시장/테넌트 별 백 테스트.
온라인: A/B/n, CUPED/diff-in-diff, 순차 테스트.
비 정책: 개인화 정책을위한 IPS/DR.
상태: 분산 및 MDE를 고려한 표본 크기 계산.
python cost_fp = 5. 0 # false alarm cost_fn = 50. 0 # missed fraud threshold = pick_by_expected_cost (scores, labels, cost_fp, cost_fn)
7) 개인 정보 보호, 윤리, 규정 준수
PII 최소화: 별칭, 매핑 격리, CLS/RLS.
거주지: 별도의 EEA/UK/BR 윤곽; 지역 간 합류없이 기초없이.
DSAR/RTBF: 기능 및 로그의 삭제/편집; 사례/보고에 대한 법적 보류.
공정성/편견: 기능 감사, 서로 다른 영향, 프록시 변수 제어.
설명 가능성: SHP/기능 중요성, 모델 카드 (소유자, 날짜, 데이터, 메트릭, 위험).
보안: KMS/CMK, 로그 외부의 비밀, WORM 릴리스 아카이브.
8) MLops: 수명주기
1. 데이터 및 기능: 체계/계약, DQ 규칙 (완전성/고유성/범위/시간적), 계보.
2. 훈련: 컨테이너, 자동 튜닝, 추적 실험.
3. 검증: 회로 호환성 테스트, 바이어스/공정성, 성능 테스트.
4. 릴리스 (CI/CD/CT): 카나리아/단계 롤아웃, 기능 플래그, "다크 런칭".
5. 서빙: 자동 스케일, 캐싱, gRPC/REST, 타임 아웃/리트레이.
6. 모니터링: 데이터/예측 드리프트 (PSI/KL), 대기 시간 p95, 오류율, 적용 범위, "자동 메트릭".
7. 재 훈련: 메트릭의 드리프트/저하에 대한 일정/트리거.
8. 사건: 런북, 모델 롤백, 대체 (규칙/간단한 모델).
9) 피처 스토어 (일관성 커널)
오프라인: 포인트 인 타임 계산, 누출 방지, 공식 버전 기능.
온라인: 낮은 대기 시간 (계속 10-30ms), TTL, 오프라인과의 일관성.
계약: 이름/설명, 소유자, SLA, 공식, 온라인/오프라인 준수 테스트.
yaml name: deposits_sum_10m owner: ml-risk slo: {latency_ms_p95: 20, availability: 0. 999}
offline:
source: silver. payments transform: "SUM(amount_base) OVER 10m BY user_pseudo_id"
online:
compute: "streaming_window: 10m"
tests:
- compare_online_offline_max_abs_diff: 0. 5
10) 온라인 점수 및 규칙
하이브리드 ML + 규칙: 모델 → 속도 + 설명; 규칙-하드 가드/윤리/법.
스티칭: CEP 패턴 (구조/속도/장치 스위치) + ML 스코어링.
SLA: 개인화를위한 p95 엔드-투-엔드 50-150ms, RG/AML 경고를위한
의사 코드 라우팅:python features = feature_store. fetch(user_id)
score = model. predict(features)
if score > T_RG:
trigger_intervention(user_id, reason="RG_HIGH_RISK", score=score)
elif score > T_BONUS:
send_personal_offer(user_id, offer=choose_offer(score, seg))
11) 교육 데이터: 샘플 및 라벨
이벤트 창: t0 - 참조, t0 + λ- 라벨 (예금/검정/사기).
누출 제어: 적시 가입, 향후 이벤트 제외.
밸런싱: 계층화/클래스 가중치, 희귀 클래스의 초점 손실.
윤리: 민감한 속성/프록시, 제어 영향을 배제합니다.
12) 경제와 생산성
비용 기능: 계산 비용/기능 및 비용/요청, 온라인 가입 방지.
현금: RAM의 핫 기능, 차가움-게으름.
재료화: 오프라인 집계; 온라인은 중요합니다.
인용문: 재생 제한, 시간 창의 백 테스트; 팀별 요금 환급.
13) SQL/의사 코드 예
이탈을위한 포인트 인 타임 샘플 (30 일의 침묵):sql
WITH base AS (
SELECT user_pseudo_id, MIN(event_time) AS first_seen
FROM silver. fact_bets
GROUP BY user_pseudo_id
),
agg AS (
SELECT user_pseudo_id,
DATE(t. event_time) AS asof,
SUM(amount_base) FILTER (WHERE type='deposit' AND event_time >= t. event_time - INTERVAL '30' DAY AND event_time < t. event_time) AS dep_30d,
COUNT() FILTER (WHERE type='bet' AND event_time >= t. event_time - INTERVAL '7' DAY) AS bets_7d
FROM silver. fact_events t
GROUP BY user_pseudo_id, DATE(t. event_time)
)
SELECT a. user_pseudo_id, a. asof, a. dep_30d, a. bets_7d,
CASE WHEN NOT EXISTS (
SELECT 1 FROM silver. fact_events e
WHERE e. user_pseudo_id=a. user_pseudo_id AND e. event_time > a. asof AND e. event_time <= a. asof + INTERVAL '30' DAY
) THEN 1 ELSE 0 END AS label_churn_30d
FROM agg a;
온라인 예금 창 (Flink SQL, 10 분):
sql
SELECT user_id,
TUMBLE_START(event_time, INTERVAL '10' MINUTE) AS win_start,
COUNT() AS deposits_10m,
SUM(amount_base) AS sum_10m
FROM stream. payments
GROUP BY user_id, TUMBLE(event_time, INTERVAL '10' MINUTE);
14) 구현 로드맵
MVP (4-6 주):1. 신호 및 기능 상점 v1 카탈로그 (지불/게임 플레이를위한 5-10 기능).
2. 트래픽의 10-20% 에 대한 기본 이탈/예금 모델 (XGBoost) + A/B.
3. 캐시 (p95 <150 ms) 및 카나리아 릴리스가있는 온라인 서핑.
4. 드리프트/품질 모니터링, 모델 카드, 롤백 런북.
2 단계 (6-12 주):- RG/AML 점수, 그래프 기능, 실시간 트리거.
- 보너스, 상황 적 도적, 비 정책 평가를위한 향상 모델.
- 드리프트/캘린더, 문서 자동화를 통한 자동 재교육.
- 게임 카탈로그 개인화 (seq2rec), 다목적 최적화 (소득/책임).
- 기능/추론에 대한 다중 지역 서핑, SLA/할당량.
- 공정성 감사 및 스트레스 테스트, DR 드릴 및 WORM 릴리스 리포지토리.
15) RACI
R (책임): MLops (플랫폼/서빙), Data Science (모델/실험), Data Eng (기능/파이프 라인).
A (책임): 데이터/CDO 책임자.
C (컨설팅): 준수/DPO (PII/RG/AML/DSAR), 보안 (KMS/비밀), SRE (SLO/값), 재무 (효과/ROI), 법률.
I (정보): 제품/마케팅/운영/지원.
16) 사전 판매 점검표
- 온라인/오프라인, 대중 교통 테스트가 통과 된 기능에 동의했
- 모델 카드 (소유자, 데이터, 지표, 위험, 공정성) 가 작성되었습니다.
- 카나리아 릴리스/피쉬 플래그; SLA 및 대기 시간/오류/드리프트 경고.
- PII/DSAR/RTBF/법률 보유 정책 시행; 로그는 비인간적입니다.
- 사건/롤백 런북; 대체 전략.
- 실험은 공식화됩니다 (가설, 지표, 지속 시간, MDE).
- 추론 및 기능 비용은 예산에 포함됩니다. 할당량과 한계가 포함되어 있습니다.
17) 반 패턴
온라인/오프라인 기능 불일치 → 접근성이 없습니다.
캐시 및 타임 아웃없이 "핫 경로" 의 동기식 외부 API.
불투명 한 메트릭 공식/모델 카드 없음.
모니터링 및 과잉 훈련없이 재 훈련/드리프트.
CLS/RLS/최소화없이 분석 및 교육에서 PII.
도메인 분해없이 "모든 것을위한 하나의 큰 모델".
18) 결론
iGaming의 ML은 일련의 "매직" 모델이 아니라 일관된 데이터 및 기능, 재현 가능한 오프라인 교육, 신뢰할 수있는 온라인 서핑, 엄격한 MLops, 투명한 지표 및 윤리/준수 등의 분야입니다. 이 안내서를 따르면 지속적으로 수익과 유지를 늘리고 위험을 줄이며 규제 요구 사항을 준수하는 시스템을 구축합니다.