Aprendizaje automático en iGaming
1) Casos de negocios y valor
Producto/ingresos: pronóstico LTV, churn (salida), propensity al depósito/compra, misiones/misiones dinámicas, next-best-action/offer.
Marketing/CRM: look-alike, segmentación, disparadores de tiempo real, optimización de bonificaciones (ABO - Abuse-resistant Bonus Optimization).
Riesgo/Cumplimiento: antifraude/AML (velocity, estructuración, signos gráficos), Juego responsable (RG) - riesgo-score, desencadenantes de la intervención.
Operaciones/ERE: predicción de incidentes, capacity/traffic forecasting, anomalías de proveedores.
Finanzas: pronóstico GGR/NGR, sensibilidad Fx, detección de manipulación de contrapartes.
Puntos de referencia de efecto: + 3-7% a Net Revenue debido a la personalización, −20 -40% a fraud-loss, −10 -25% a churn, SLA respuesta RG <5 s en línea.
2) Datos y signos (Ingeniería de características)
Fuentes: gameplay, pagos/PSP, autenticación, dispositivos/ASN/geo, RG/KYC/KYB, UTM de marketing, registros de proveedores, botport/textos.
Fiches básicos:- Ventanas conductuales: N apuestas/depósitos y cantidades por 10 min/hora/día, recency/frequency/monetary.
- Secuencias: cadenas de juegos, tiempo con la última actividad, señales de sesión.
- Geo/dispositivo: país/mercado, ASN, tipo de dispositivo/navegador.
- Gráficos: comunicaciones jugador-tarjeta-dispositivo-IP, componentes/centralidad (fraud rings).
- Contextual: hora del día/día de la semana/vacaciones del mercado, proveedor/género/volatilidad del juego.
- RG/AML: límites, autoexclusiones, banderas de cribado, RR/sanciones (vía caché/asinchron).
- Normalizar las monedas y el tiempo (UTC + mercado local).
- Historice las medidas (SCD II).
- Concordar transformación online/offline (código único en Feature Store).
3) Arquitectura: offline ↔ online
3. 1 Esquema fuera de línea
Lakehouse: Bronze→Silver (normalización/enriquecimiento) →Gold (datasets).
Feature Store (fuera de línea): registro de fórmulas fich, punto en tiempo join, materialización de muestras de entrenamiento.
Formación: contenedores de dependencias fijas; seguimiento de experimentos (métricas/artefactos/datos).
Validación: k-fold/temporal split, backtest, evaluación de políticas fuera de juego.
3. 2 Circuito en línea
Ingest → Stream Processing: Flink/Spark/Beam con ventanas/watermarks, idempotencia.
Feature Store (online): caché de bajo contenido (Redis/Scylla) + casquillos fuera de línea.
Serving: RPC endpoints, gráfico de puntuación, routing AB, lanzamientos canarios.
Vitrinas de tiempo real: ClickHouse/Pinot para paneles/reglas.
4) Modelos y enfoques estándar
Clasificación/puntuación: churn/depósito/frod/RG (LogReg, XGBoost/LightGBM, AmbNet, CatBoost).
Clasificación/recomendaciones: factorización/clasificación de hojas (LambdaMART), seq2rec (RNN/Transformers), bandidos contextuales.
Anomalías: Bosque de Isolación, SVM de una clase, AutoEncoder, Prophet/TSfresh para series temporales.
Gráfico: Node2Vec/GraphSAGE/GNN para anillos de fraude.
Causalidad (causal): modelos uplift, T-learner/X-learner, DoWhy/CausalML.
NLP/ASR: tickets/chats, clasificación de quejas, sentiment, temas.
5) Métricas de calidad
Clasificación: ROC-AUC/PR-AUC, F1 en umbrales operativos, expected cost (ponderado FP/FN), KS para puntuación de riesgo.
Recomendaciones: NDCG @ K, MAP @ K, coverage/diversity, CTR/CVR en línea.
TS/Forecast: MAPE/SMAPE, WAPE, P50/P90 error, cobertura PI.
RG/AML: precision/recall en SLA, tiempo medio-a-intervene.
Economía: uplift en Net Revenue, fraud saved, campañas ROI,% bonus abius.
6) Evaluación y experimentos
Offline: split temporal, backtest por semana/mercados/tenantes.
En línea: A/B/n, CUPED/diff en diff, pruebas secuenciales.
Política desactivada: IPS/DR para políticas de personalización.
Stat. potencia: cálculo del tamaño de la muestra teniendo en cuenta la varianza y el 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) Privacidad, ética, cumplimiento
Minimización PII: alias, aislamiento de mappings, CLS/RLS.
Residencia: contornos separados EEA/UK/BR; sin join's cruzados-regionales sin fundamento.
DSAR/RTBF: eliminar/editar en fichas y logs; Legal Hold para casos/informes.
Fairness/sesgo: auditoría fich, impacto de dispersión, control de variables proxy.
Explainability: SHAP/feature importance, modelos de tarjetas (owner, fecha, datos, métricas, riesgos).
Seguridad: KMS/CMK, secretos fuera de registros, archivos WORM de lanzamientos.
8) MLOps: ciclo de vida
1. Datos y características: esquemas/contratos, reglas DQ (completeness/uniqueness/range/temporal), lineage.
2. Entrenamiento: contenedores, autotuning, experimentos de seguimiento.
3. Validación: pruebas de compatibilidad de circuitos, bias/fairness, pruebas de performance.
4. Lanzamiento (CI/CD/CT): lanzamientos canarios/por etapas, banderas de ficha, «lanzamiento oscuro».
5. Serving: Autocaravana, almacenamiento en caché, gRPC/NAT, timeouts/retrés.
6. Monitoreo: deriva de datos/predicciones (PSI/KL), latency p95, error-rate, coverage, «silent metrics».
7. Re-train: programar/desencadenar métricas de deriva/degradación.
8. Incidencias: runbook, retroceso del modelo, fallback (regla/modelo simple).
9) Feature Store (núcleo de consistencia)
Offline: cálculo punto en tiempo, anti-leakage, versión de fórmula fich.
En línea: baja latencia (≤ 10-30 ms), TTL, coherencia fuera de línea.
Contratos: nombre/descripción, propietario, SLA, fórmula, pruebas de cumplimiento online/offline.
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) Puntuación en línea y reglas
ML + Rules híbrido: modelo → esclavo + explicación; reglas - hard-guard/ética/ley.
Costura: patrones CEP (structuring/velocity/device switch) + puntuación ML.
SLA: p95 end-to-end 50-150 ms para personalización, ≤ 2-5 s para alertas 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) Datos de formación: muestras y etiquetas
Ventanas de eventos: t0 - referencia, t0 + Δ - etiqueta (depósito/chern/frod).
Control Leakage: punto-en-tiempo join, exclusión de eventos futuros.
Equilibrio: clases de estratificación/peso, loss focales para clases raras.
Ética: excluir atributos sensibles/proxy, controlar el impacto.
12) Economía y productividad
Costo del fich: considere el costo/función y el costo/solicitud, evite el trabajo en línea pesado.
Caché: fiches calientes en RAM, fríos - lazy.
Materialización: agregación fuera de línea; en línea sólo crítico.
Cuotas: límites en las réplicas, backtests en las ventanas de tiempo; chargeback por equipos.
13) Ejemplos de SQL/pseudocódigo
Muestra de punto en tiempo para churn (30 días de silencio):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;
Ventana de depósito en línea (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) Hoja de ruta para la aplicación
MVP (4-6 semanas):1. Catálogo de señales y Feature Store v1 (5-10 fich para Payments/Gameplay).
2. Modelo básico de churn/depósito (XGBoost) + A/B para 10-20% de tráfico.
3. Serving online con caché (p95 <150 ms) y lanzamientos canarios.
4. Monitoreo de deriva/calidad, modelo de tarjeta, retroceso de runbook.
Fase 2 (6-12 semanas):- Puntuación RG/AML, señales gráficas, disparadores de tiempo real.
- Modelos de uplift para bonificaciones, bandidos contextuales, puntuación de política fuera de juego.
- Auto-re-train a la deriva/calendario, automatización de la documentación.
- Personalización del catálogo de juegos (seq2rec), optimización multi-objetivo (ingresos/responsabilidad).
- Serving multi-regional, SLAs/cupos, chargeback por ficha/inferso.
- Auditorías de fairness y pruebas de estrés, ejercicios de DR y repositorios de versiones WORM.
15) RACI
R (Responsable): MLOps (plataforma/serving), Data Science (modelos/experimentos), Data Eng (fichas/pipelines).
A (Accountable): Head of Data / CDO.
C (Consultado): Cumplimiento/DPO (PII/RG/AML/DSAR), Seguridad (KMS/secretos), SRE (SLO/costo), Finanzas (efecto/ROI), Legal
I (Informed): Producto/Marketing/Operaciones/Soporte.
16) Lista de verificación antes de la venta
- Las fichas están acordadas en línea/fuera de línea, se han superado las pruebas de remisión.
- La tarjeta modelo (owner, datos, métricas, riesgos, fairness) está llena.
- Lanzamiento canario/fichflag; SLA y alertas latency/error/deriva.
- Se han respetado las políticas PII/DSAR/RTBF/Legal Hold; los registros están impersonales.
- Runbook de incidentes/retroceso; estrategia fallback.
- Los experimentos están formalizados (hipótesis, métricas, duración, MDE).
- El costo del infierno y del fich está inscrito en el presupuesto; cuotas y límites incluidos.
17) Anti-patrones
Divergencia en línea/fuera de línea → irresoluble.
APIs externas sincronizadas en la «ruta de acceso» sin caché ni temporizadores.
Fórmulas métricas opacas/ninguna tarjeta de modelo.
Readiestramiento/deriva sin monitoreo y trueque.
PII en análisis y entrenamiento sin CLS/RLS/minimización.
«Un gran modelo para todo» sin descomposición de dominio.
18) Resultado
ML en iGaming no es un conjunto de modelos «mágicos», sino una disciplina: datos consistentes y fichas, entrenamiento fuera de línea reproducible, serving en línea confiable, MLOps rigurosos, métricas transparentes y ética/cumplimiento. Siguiendo esta guía, construirá un sistema que aumente constantemente los ingresos y la retención, reduzca los riesgos y cumpla con los requisitos regulatorios - a escala, rápida y previsiblemente.