Apprentissage automatique dans iGaming
1) Affaires et valeur
Produit/revenu : prévisions LTV, churn (sortie), propensité au dépôt/achat, missions/quêtes dynamiques, next-best-action/offer.
Marketing/CRM : look-alike, segmentation, déclencheurs de temps réel, optimisation des bonus (ABO - Abuse-resistant Bonus Optimization).
Risque/Conformité : Antifrod/AML (velocity, structuration, signes graphiques), Jeu responsable (RG) - risque-score, déclencheurs d'intervention.
Opérations/SRE : prédiction des incidents, forecasting capacity/traffic, anomalies des fournisseurs.
Finances : prévisions GGR/NGR, sensibilité Fx, détection des manipulations de contrepartie.
Points de référence de l'effet : + 3-7 % pour Net Revenue par la personnalisation, − 20-40 % pour fraud-loss, − 10-25 % pour churn, réponse SLA RG <5 s en ligne.
2) Données et caractéristiques (Feature Engineering)
Sources : gameplay, paiements/PSP, authentification, appareils/ASN/geo, RG/KYC/KYB, UTM marketing, logs de fournisseur, sapport/textes.
Fiches de base :- Fenêtres comportementales : N paris/dépôts et montants pour 10 min/heure/jour, recency/frequency/monetary.
- Séquences : chaînes de jeux, temps avec la dernière activité, signes de session.
- Géo/appareil : pays/marché, ASN, type de device/navigateur.
- Graphiques : liens joueur-carte-appareil-IP, composants/centrales (rings fraud).
- Contextuel : heure de la journée/jour de la semaine/jours fériés, fournisseur/genre/volatilité du jeu.
- RG/AML : limites, auto-exclusion, drapeaux de dépistage, RER/sanctions (via cache/asynchron).
- Normaliser les devises et l'heure (UTC + marché local).
- Historique des mesures (SCD II).
- Consentez à la transformation en ligne/hors ligne (code unique dans Feature Store).
3) Architecture : Hors ligne ↔ en ligne
3. 1 Circuit hors ligne
Lakehouse : Bronze→Silver (normalisation/enrichissement) →Gold (datacets).
Feature Store (offline) : registre de formules fich, point-in-time join, matérialisation des échantillons d'apprentissage.
Formation : conteneurs avec dépendances fixes ; tracking des expériences (métriques/artefacts/données).
Validation : k-fold/temporal split, backtest, off-policy assessment.
3. 2 Contour en ligne
Ingest → Stream Processing : Flink/Spark/Beam avec fenêtres/watermarks, idempotence.
Feature Store (en ligne) : Cache à faible latence (Redis/Scylla) + stores offline.
Serving : REST/gRPC endpoints, graphique de scoring, AB-rowting, versions canaries.
Vitrines en temps réel : ClickHouse/Pinot pour panneaux/règles.
4) Modèles et approches types
Classification/notation : churn/dépôt/frod/RG (LogReg, XGBoost/LightGBM, TabNet, CatBoost).
Classement/recommandations : Factorisation/classement des feuilles (LambdaMART), seq2rec (RNN/Transformers), bandits contextuels.
Anomalies : Isolation Forest, One-Class SVM, AutoEncoder, Prophet/TSfresh pour les séries chronologiques.
Graphiques : Node2Vec/GraphSAGE/GNN pour les anneaux de fraude.
Causalité (causal) : modèle uplift, T-learner/X-learner, DoWhy/CausalML.
NLP/ASR : tiquets/chats, classification des plaintes, sens, sujets.
5) Métriques de qualité
Classification : ROC-AUC/PR-AUC, F1 sur les seuils opérationnels, cost expected (pondéré FP/FN), KS pour risque-scoring.
Recommandations : NDCG @ K, MAP @ K, coverage/diversité, CTR/CVR en ligne.
TS/Forecast : MAPE/SMAPE, WAPE, erreur P50/P90, couverture PI.
RG/AML : precision/recall sous SLA, temps moyen d'intervention.
Économie : uplift dans Net Revenue, fraud saved, campagnes ROI, % bonus-abyse.
6) Évaluation et expérimentation
Hors ligne : split temporel, backtest par semaine/marchés/tenants.
En ligne : A/B/n, CUPED/diff-in-diff, tests séquentiels.
Politique de retrait : IPS/DR pour les politiques de personnalisation.
Stat. puissance : calcul de la taille de l'échantillon en tenant compte de la variance et de l'EMI.
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) Vie privée, éthique, conformité
Minimisation des PII : alias, isolation des mappings, CLS/RLS.
Résidence : contours séparés de l'EEE/UK/BR ; sans join cross-régional sans base.
DSAR/RTBF : suppression/révision en dattes et loges ; Legal Hold pour les cas/rapports.
Fairness/partialité : audit de fich, disparate impact, contrôle des variables proxy.
Explainability : SHAP/feature importance, maquettes (owner, date, données, métriques, risques).
Sécurité : KMS/CMK, secrets en dehors des logs, archives WORM des versions.
8) MLOps : cycle de vie
1. Données et fonctionnalités : schémas/contrats, règles DQ (completeness/uniqueness/range/temporal), lineage.
2. Formation : conteneurs, autotuning, tracking expérimental.
3. Validation : tests de compatibilité des circuits, bias/fairness, tests de performance.
4. Sortie (CI/CD/CT) : Canaries/pas à pas, drapeaux ficha, « démarrage sombre ».
5. Serving : auto-skating, cache, gRPC/REST, timeouts/retraits.
6. Surveillance : dérive des données/prédictions (PSI/KL), latency p95, error-rate, coverage, "silent metrics'.
7. Re-train : planning/déclencheurs par dérive/dégradation des métriques.
8. Incidents : runbook, retour en arrière du modèle, fallback (règle/modèle simple).
9) Feature Store (noyau de cohérence)
Hors ligne : calcul point-in-time, anti-leakage, version de la formule fich.
En ligne : faible latence (≤ 10-30 ms), TTL, cohérence avec offline.
Contrats : nom/description, propriétaire, SLA, formule, tests de conformité en ligne/hors ligne.
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) Scoring en ligne et règles
Hybride ML + Rules : modèle → score + explications ; les règles sont hard-guard/éthique/loi.
Réticulation : Modèles CEP (structuring/velocity/device switch) + scoring ML.
SLA : p95 et tu-et-50-150 ms pour la personnalisation, ≤ 2-5 s pour les alertes 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) Données pour l'apprentissage : échantillons et labels
Fenêtres d'événement : t0 - référence, t0 + Δ - label (dépôt/noir/froid).
Leakage-control : point-in-time join, exclusion des événements futurs.
Équilibrage : stratification/poids des classes, focal loss pour les classes rares.
Éthique : éliminer les attributs/proxies sensibles, contrôler l'impact.
12) Économie et productivité
Coût Fich : comptez le cost/feature et le cost/request, évitez le lourd online-join's.
Cache : fiches chaudes en RAM, froid - lazy.
Matérialisation : agrégation hors ligne ; en ligne seulement critique.
Quotas : limites pour les reculs, les bricolages aux fenêtres du temps ; chargeback par équipe.
13) Exemples de SQL/pseudo-code
Prélèvement point-in-time pour churn (30 jours de silence) :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;
Fenêtre de dépôt en ligne (Flink SQL, 10 min) :
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) Feuille de route pour la mise en œuvre
MVP (4-6 semaines) :1. Catalogue de signaux et Feature Store v1 (5-10 fiches pour Payments/Gameplay).
2. Modèle de base churn/dépôt (XGBoost) + A/B pour 10-20 % du trafic.
3. Serving en ligne avec cache (p95 <150 ms) et versions canaries.
4. Surveillance de la dérive/qualité, carte modèle, runbook de retour.
Phase 2 (6-12 semaines) :- RG/AML scorings, signes graphiques, déclencheurs de temps réel.
- Modèles uplift pour bonus, bandits contextuels, évaluation off-policy.
- Auto-re-train par dérive/calendrier, automatisation de la documentation.
- Personnalisation du catalogue de jeux (seq2rec), optimisation multi-objective (revenu/responsabilité).
- Serving multi-régional, SLAs/quotas, chargeback par fiches/inference.
- Audit Fairness et tests de résistance, exercice DR et référentiel WORM des versions.
15) RACI
R (Responsible) : MLOps (plate-forme/serving), Data Science (modèles/expériences), Data Eng (fiches/piplines).
A (Accountable): Head of Data / CDO.
C (Consulté) : Conformité/DPO (PII/RG/AML/DSAR), Sécurité (KMS/secrets), SRE (SLO/coût), Finance (effet/ROI), Juridique.
I (Informed) : Produit/Marketing/Opérations/Support.
16) Chèque-liste avant la vente
- Les fiches sont négociées en ligne/hors ligne, les tests de rectitude sont passés.
- La carte modèle (owner, données, métriques, risques, fairness) est pleine.
- Sortie canarique/fichflag ; SLA et alertes latency/bogues/dérive.
- Les politiques PII/DSAR/RTBF/Legal Hold sont respectées ; les loges sont impersonnelles.
- Runbook des incidents/retours ; stratégie fallback.
- Les expériences sont formalisées (hypothèses, métriques, durée, EMI).
- Le coût de l'inference et de la fiche est inscrit au budget ; les quotas et les limites sont inclus.
17) Anti-modèles
Divergence en ligne/hors ligne fich → irrévocabilité.
API externes synchrones dans le chemin chaud sans cache ni temporisation.
Formules opaques métriques/pas de cartes modèles.
Réapprentissage/dérive sans surveillance ni réentraînement.
PII en analyse et entraînement sans CLS/RLS/minimisation.
« Un grand modèle pour tout » sans décomposition de domaine.
18) Résultat
ML in iGaming n'est pas un ensemble de modèles « magiques », mais une discipline : données cohérentes et fiches, formation hors ligne reproductible, serving en ligne fiable, MLOps rigoureux, métriques transparentes et éthique/conformité. En suivant ce guide, vous construirez un système qui augmente régulièrement les revenus et la rétention, réduit les risques et respecte les exigences réglementaires - à l'échelle, rapide et prévisible.