Derivación de modelos y actualización de datos
1) Por qué es importante
En iGaming, las distribuciones de tráfico, pagos y comportamiento de juego cambian rápidamente (estacionalidad, proveedores, promociones, regulaciones). Sin el control de la deriva del sistema, los errores especulados están creciendo: pérdidas en Net Revenue, falsas intervenciones RG/AML, aumento de los bonos de Abius. El objetivo es detectar la deriva temprano, diagnosticar la causa, actualizar datos y modelos de forma segura.
2) Taxonomía de la deriva (que puede «flotar»)
Covariate drift (X): han cambiado los fichajes (por ejemplo, la proporción móvil/ASN, la mezcla de proveedores).
Label/Outcome drift (Y): ha cambiado la base de eventos (chargeback-rate, click/nat-rate).
3) Señales y umbrales (puntos de referencia)
PSI (Population Stability Index): 0. 10–0. 20 advertencias,> 0. 20 - Evento de deriva.
KL-divergencia/JS: crecimiento a los umbrales de las fichas clave/corcho.
KS para skores (con etiquetas): aumento de la divergencia de CDF.
ECE (calibración):> 0. 05 advertencia,> 0. 07 - Acción.
Expected-cost @ threshold: crecimiento de X% al modelo base.
Coverage y Missing-rate: caída de la cobertura <99%, aumento de la pérdida/timeout> del umbral.
Slice-métricas: PR-AUC/ECE/expected-cost por mercado/device; desencadenantes de caída> Y%.
Selección de la ventana: puntual - 1h/6h/24h (deslizante), reportado - D + 1/D + 7 (registro de sellos detenidos).
4) Ventanas y etiquetas (retrasos)
Etiquetas proxy rápidas: clic, depósito 7d, completado caso RG - para una evaluación temprana.
Etiquetas detenidas: chargeback (45-90d), churn/LTV - para validación retrospectiva y ajuste de umbrales/calibración.
As-of la disciplina: ni en las fichas ni en las etiquetas - «eventos del futuro».
5) Diagnóstico de causa de origen (lista de verificación RCA)
1. Datos: PSI/KL por las mejores fichas, missing/lag, schema diffs, nuevas categorías.
2. Fuente: alertas de proveedores (PSP/proveedor de juegos), errores de API/timeout.
3. Estacionalidad/promociones: pico de misiones/torneos, cambios de RTP/catálogo.
4. Región/residencia: cambio de tráfico por mercados, nuevas reglas KYC/RG.
5. Técnica: degradación del caché de fichas, CDC lento, tormenta de archivos pequeños.
6. Manuales/tipos de cambio/calendarios: ¿obsoletos? (FX/vacaciones).
7. Justicia: fracaso de calidad en diapositivas específicas.
6) Acciones de Playbook durante la deriva
6. 1 Covariate/Feature drift
Rápido: actualice la calibración (Platt/Isotonic D + 1), ajusta el umbral por expected-cost.
A medio plazo: refeature parcial (unidades/ventanas sostenibles), actualice TE/WOE con CV de tiempo-aware.
A largo plazo: retrain con nuevas muestras/ventanas, si es necesario revisar la arquitectura fich.
6. 2 Label/Outcome drift
Volver a calcular los umbrales según etiquetas frescas (D + 1, D + 7), calibrar la pluma.
Fijar guardrails (limitar las acciones agresivas hasta que se estabilicen).
6. 3 Concept drift
Shadow-aprendizaje de la nueva versión en los últimos datos → canario → completo rollout.
Considerar la descomposición de dominios (modelos separados por segmentos/mercados).
6. 4 Schema/Operational drift
Habilitar la entrada dual v1/v2 de esquemas, prueba de equivalencia online/offline.
Reparar fuentes, activar caché/folbacks, compensar saltos de backfill.
6. 5 Fairness drift
Umbrales de diapositivas temporales/calibración, retraído targeted/rebalance fich, auditoría de variables proxy.
6. 6 Escalaciones
Kill-switch (guardrails breach) → una versión segura de fallback/anterior.
Rollback one-click con un crecimiento de 5xx/latency/expected-cost.
7) Política de actualización de datos
7. 1 Incrementos y CDC
Watermarks/replicación de registro estable; MERGE/UPSERT idempotente.
7. 2 Backfill/Reprocessing
Backfill: dogon por rango (con cuotas y ventanas).
Reprocesamiento: volver a calcular cuando se cambia la lógica/corrección de errores.
Метки: `logic_version`, `reprocessed_at`, `reason`; informe de impacto (métricas/costo).
7. 3 Time-travel/WORM
Tablas ACID (Delta/Iceberg/Hudi), archivos WORM de informes/lanzamientos.
«Como estaba en la fecha»: la reproducibilidad de los informes regulatorios.
7. 4 Guías/FX/Calendarios
Actualizaciones automáticas, firma, versiones y comprobación de frescura (SLO en latency y age).
8) Métricas y alertas (conjunto mínimo)
Datos: PSI/KL por top phichs, missing-rate, feature-fetch latency.
Calidad: PR-AUC/KS (en etiquetas proxy), ECE, expected-cost @ thr.
Operaciones: p95/p99 latency, 5xx, coverage, autoscaling, cost/request.
Fairness: paneles de diapositivas (mercados/dispositivos/proveedores).
Contratos: schema-violations, test de equivalencia online/offline.
9) Procedimientos de actualización del modelo
1. Shadow: nuevo modelo en copias de consultas, comparación latency/quality/cost.
2. Canario: 5-10% → 25% → 50% → 100% con SLO verdes.
3. Umbral/calibración: contamos con D + 1; umbrales - configuración en el registro.
4. Documentación: tarjeta modelo (datos, ventanas, métricas, riesgos, fairness).
5. Archivo: WORM de lanzamiento (pesos, calibración, registros de pruebas, informes de deriva).
10) Ejemplos (fragmentos)
10. 1 PSI en ideas SQL (bining preparado de antemano)
sql
-- ref_dist(bin, p_ref), prod_dist(bin, p_prod) для фичи amount_base
SELECT SUM((p_prod - p_ref) LN((p_prod + 1e-9)/(p_ref + 1e-9))) AS psi
FROM (
SELECT bin, COUNT()/SUM(COUNT()) OVER() AS p_prod
FROM prod_binned GROUP BY bin
) p
JOIN (
SELECT bin, COUNT()/SUM(COUNT()) OVER() AS p_ref
FROM ref_binned GROUP BY bin
) r USING (bin);
10. 2 Ajuste del umbral por expected-cost (pseudocódigo)
python thr_grid = np. linspace(0. 01, 0. 99, 99)
costs = [expected_cost(y_true, y_prob >= t, c_fp, c_fn) for t in thr_grid]
thr_best = thr_grid[int(np. argmin(costs))]
10. 3 Equivalencia online/offline fich
python diff = np. abs(f_online. values - f_offline. values)
assert np. quantile(diff, 0. 95) < MAX_ABS_DIFF_95
10. 4 Backfill con limitación de carga (idea de orquestación)
yaml job: backfill_gold_ggr limits: {concurrency: 1, max_partitions_per_run: 4}
guards:
- window: "02:00-06:00"
- markets: ["EEA","UK"]
- budget: "compute_hours<=50"
11) Pruebas y control de cambios
Contratos de circuitos/fichas: pruebas de consumo-conducción, entrada dual v1/v2.
Pruebas de regresión métrica: no deteriorar el PR-AUC/ECE/expected-cost más allá de la tolerancia.
Pruebas de equivalencia online/offline: en la muestra de referencia.
Pruebas de chaos: falla de caché de fichas, temporizadores de fuentes, tráfico de burst.
12) Fairness y cumplimiento
Informes slice (disparate impact, equalized odds), umbrales de diapositivas/calibración.
PII-minimización, residencia (EEA/UK/BR), DSAR/RTBF, Legal Hold.
Auditoría de soluciones: 'policy _ id', 'threshold', razones de intervención, registros WORM.
13) Costo y rendimiento
Cost dashboards: cost/request, cost/feature, state-size стрима, IO/scan/GB для batch.
Optimización: materialización de fich pesado fuera de línea, caché de ventanas calientes, INT8/FP16 a igual calidad.
Cuotas: límites para backfill/replex, presupuesto para retrain por mercado/equipo.
14) RACI
R (Responsable): MLOps (monitoreo/registro/descargas), Data Eng (datos/CDC/backfill/contratos), Data Science (diagnóstico/calibración/retrain/fairness).
A (Accountable): Head of Data / CDO.
C (Consultado): Cumplimiento/DPO (PII/RG/AML/DSAR), Seguridad (KMS/auditoría), SRE (SLO/costo), Finanzas (presupuestos/ROI).
I (Informed): Producto/Marketing/Operaciones/Soporte.
15) Hoja de ruta
MVP (2-4 semanas):1. PSI/KL en las mejores fichas y score, ECE, expected-cost en las etiquetas proxy.
2. Dashboards coverage/missing/feature-lag, alertas y runbook 'i.
3. Procedimientos de calibración (D + 1) y umbrales; shadow-path para nuevos modelos.
4. Contratos de circuitos/ficha y prueba de equivalencia online/offline.
Fase 2 (4-8 semanas):- Panel RCA, slice/fairness-monitoring, plan de backfill con cuotas.
- calibración automática/umbrales, simulador de umbrales (what-if).
- Archivo WORM de informes de derivación y versiones.
- Auto-retraído por eventos de deriva (canario), política multi-regional.
- Cuotas de costo/chargeback, ejercicios chaos-/DR, documentación de autogen.
16) Lista de verificación antes de la venta
- SLI/SLO y alertas personalizadas (PSI/ECE/expected-cost/coverage/latency/5xx).
- Contratos de esquema/ficha y doble entrada v1/v2 - verde.
- Los procedimientos de recalibration/threshold-update están documentados y automatizados.
- Shadow/canary con un solo clic rollback verificado.
- Backfill/reprocessing con cuotas y ventanas - listo; El archivo WORM está habilitado.
- Los propietarios de paneles slice/fairness y segmentos están asignados.
- Se han respetado las políticas PII/DSAR/RTBF/Legal Hold; auditoría habilitada.
- El costo bajo control (costo/solicitud, costo/función), caché/TTL están configurados.
17) Anti-patrones y riesgos
Vimos un PSI alto - inmediatamente retraído «a ciegas», sin RCA y calibración.
No se tienen en cuenta los sellos detenidos → las conclusiones falsas, el «aserrar los umbrales» todos los días.
La ausencia de una prueba de equivalencia online/offline → «doble realidad».
Ignorar fairness: los fallos en los mercados/dispositivos permanecen invisibles.
Backfill sin cuotas/ventanas → un golpe a los costos y SLA.
El umbral se fija «permanentemente» → el crecimiento de los expected-cost en la estacionalidad.
18) Resultado
La gestión de la deriva no es un retraín desechable, sino un proceso: observabilidad → diagnóstico → acción de riesgo mínimo (calibración/umbral) → retraimiento/refichering seguro → control de costos y auditoría. Con esta disciplina, los modelos siguen siendo precisos, éticos y cumplidos, incluso cuando el comportamiento de los jugadores, los proveedores y el mercado cambian.