Modelldrift und Datenaktualisierung
1) Warum es wichtig ist
Bei iGaming ändern sich Verkehrsverteilungen, Zahlungen und Spielverhalten schnell (Saisonalität, Anbieter, Aktien, regulatorische Regeln). Ohne systemische Driftkontrolle wächst die erwartete Fehlerquote: Verluste bei Net Revenue, falsche RG/AML-Interventionen, Zunahme von Bonusmissbrauch. Ziel ist es, Drift frühzeitig zu erkennen, die Ursache zu diagnostizieren, Daten und Modelle sicher zu aktualisieren.
2) Taxonomie der Drift (die „schweben“ kann)
Covariate drift (X): Die Zahlen haben sich geändert (z.B. Anteil mobil/ASN, Anbietermix).
Label/Outcome drift (Y): Die Ereignisbasis hat sich geändert (chargeback-rate, click/convert-rate).
3) Signale und Schwellen (Landmarken)
PSI (Population Stability Index): 0. 10–0. 20 Warnung,> 0. 20 ist ein Driftereignis.
KL-Divergenz/JS: Wachstum in Richtung der Schwellenwerte bei Key Fics/Score.
KS für Scores (unter Labels): Anstieg der CDF-Divergenz.
ECE (Kalibrierung):> 0. 05 Warnung,> 0. 07 - Aktion.
Expected-cost @ threshold: X% Wachstum zum Basismodell.
Coverage und Missing-Rate: Deckungsrückgang <99%, Anstieg der Missing/Timeout> Schwelle.
Slice-Metriken: PR-AUC/ECE/expected-cost nach Märkten/Geräten; Trigger fallen> Y%.
Fensterauswahl: prompt - 1h/6h/24h (gleitend), gemeldet - D + 1/D + 7 (Erfassung verzögerter Etiketten).
4) Fenster und Etiketten (Verzögerungen)
Schnelle Proxy-Labels: Klick, 7d-Einzahlung, abgeschlossener RG-Fall - zur frühen Auswertung.
Verzögerte Etiketten: Chargeback (45-90d), Churn/LTV - zur retrospektiven Validierung und Anpassung der Schwellenwerte/Kalibrierung.
As-of-Disziplin: weder in Fetzen noch in Labels - „Ereignisse aus der Zukunft“.
5) Ursachendiagnostik (RCA Checkliste)
1. Daten: PSI/KL nach Top-Fics, fehlendes/fehlendes, Schema-Diffs, neue Kategorien.
2. Quelle: Anbieter-Warnungen (PSP/Spieleanbieter), API/Timeout-Fehler.
3. Saisonalität/Aktionen: Höhepunkt der Missionen/Turniere, RTP/Katalogänderungen.
4. Region/Wohnsitz: Verkehrsverlagerung durch Märkte, neue KYC/RG-Regeln.
5. Technik: Ficha-Cache-Degradation, langsame CDC, kleine Dateien Sturm.
6. Verzeichnisse/Wechselkurse/Kalender: veraltet? (FX/Feiertage).
7. Fairness: Qualitätsversagen in bestimmten Slices.
6) Playbook Aktionen beim Driften
6. 1 Covariate/Feature drift
Schnell: Kalibrierung aktualisieren (Platt/Isotonic D + 1), Schwelle nach Expected-Cost anpassen.
Mittelfristig: Teilrefeature (nachhaltige Aggregate/Fenster), TE/WOE mit Time-Aware CV aufrüsten.
Langfristig: Retrain mit neuen Samples/Fenstern, ggf. Überarbeitung der Fich-Architektur.
6. 2 Label/Outcome drift
Schwellenwerte nach frischen Etiketten (D + 1, D + 7) neu berechnen, neu kalibrieren.
Guardrails fixieren (aggressive Handlungen bis zur Stabilisierung begrenzen).
6. 3 Concept drift
Shadow-Training der neuen Version auf den neuesten Daten → canary → voll rollout.
Berücksichtigung der Domain-Zerlegung (einzelne Modelle nach Segmenten/Märkten).
6. 4 Schema/Operational drift
Aktivieren Sie Dual Record v1/v2 Schemas, online/offline Äquivalenztest.
Quellen reparieren, Cache/Folbacks einschalten, Backfill-Lücken ausgleichen.
6. 5 Fairness drift
Temporäre Schleifenschwellen/Kalibrierung, Targeted Retrain/Rebalance Fich, Proxy Variable Audit.
6. 6 Eskalation
Kill-Switch (guardrails breach) → sicheres Fallback/vorherige Version.
Rollback Ein-Klick bei einem Wachstum von 5xx/latency/expected-cost.
7) Datenaktualisierungsrichtlinie
7. 1 Inkremente und CDC
Stabile Wasserzeichen/Log-Replikation; idempotent MERGE/UPSERT.
7. 2 Backfill/Reprocessing
Backfill: Dogon pro Range (mit Quoten und Fenstern).
Reprocessing: Neuberechnung bei Änderung der Logik/Fehlerkorrektur.
Метки: `logic_version`, `reprocessed_at`, `reason`; Wirkungsbericht (Metriken/Kosten).
7. 3 Time-travel/WORM
ACID-Tabellen (Delta/Iceberg/Hudi), WORM-Archive von Berichten/Releases.
„Wie am Datum“: Reproduzierbarkeit der regulatorischen Berichterstattung.
7. 4 Verzeichnisse/FX/Kalender
Auto-Updates, Signaturen, Versionen und Frische-Check (SLO auf Latenz und Alter).
8) Metriken und Alerts (Mindestsatz)
Daten: PSI/KL nach Top-Fics, Fehlrate, Feature-Fetch-Latenz.
Qualität: PR-AUC/KS (auf Proxy-Labels), ECE, expected-cost @ thr.
Operationen: p95/p99 latency, 5xx, coverage, autoscaling, cost/request.
Fairness: Slice Panels (Märkte/Geräte/Anbieter).
Verträge: schema-violations, online/offline equivalence test.
9) Verfahren zur Aktualisierung des Modells
1. Schatten: neues Modell auf Kopien von Anfragen, Vergleich Latenz/Qualität/Kosten.
2. Canary: 5-10% → 25% → 50% → 100% bei grünem SLO.
3. Schwelle/Kalibrierung: Wir rechnen mit D + 1; Schwellenwerte - config im Register.
4. Dokumentation: Modellkarte (Daten, Fenster, Metriken, Risiken, Fairness).
5. Archiv: WORM der Veröffentlichung (Gewichte, Kalibrierung, Testprotokolle, Driftberichte).
10) Beispiele (Fragmente)
10. 1 PSI in SQL-Ideen (Bining vorab vorbereitet)
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 Anpassung der Schwelle durch Expected-Cost (Pseudocode)
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 Äquivalenz 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 mit Lastbegrenzung (Orchestrierungsidee)
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) Tests und Änderungskontrolle
Scheme contracts/fich: consumer-driven tests, double record v1/v2.
Regressionstests der Metriken: PR-AUC/ECE/expected-cost nicht über die Toleranz hinaus verschlechtern.
Online/Offline-Äquivalenztests: an einer Referenzstichprobe.
Chaos-Tests: Fich-Cache-Fehler, Quellen-Timeouts, Burst-Verkehr.
12) Fairness und Compliance
Slice-Reports (Disparatimpact, equalized odds), Slice-Schwellenwerte/Kalibrierung.
PII-Minimierung, Wohnsitz (EWR/UK/BR), DSAR/RTBF, Legal Hold.
Prüfung von Entscheidungen: 'policy _ id', 'threshold', Gründe für Interventionen, WORM-Protokolle.
13) Kosten und Leistung
Cost dashboards: cost/request, cost/feature, state-size стрима, IO/scan/GB для batch.
Optimierung: Materialisierung von schweren Offlinefeldern, Cache von heißen Fenstern, INT8/FP16 mit gleicher Qualität.
Quoten: Limits für Backfill/Replays, Budget für Retrain nach Märkten/Teams.
14) RACI
R (Responsible): MLOps (Monitoring/Registry/Rollouts), Data Eng (Data/CDC/Backfill/Contracts), Data Science (Diagnose/Kalibrierung/Retrain/Fairness).
A (Accountable): Head of Data / CDO.
C (konsultiert): Compliance/DPO (PII/RG/AML/DSAR), Sicherheit (KMS/Audit), SRE (SLO/Kosten), Finanzen (Budgets/ROI).
I (Informed): Produkt/Marketing/Betrieb/Support.
15) Fahrplan
MVP (2-4 Wochen):1. PSI/KL zu Top-Fics und Score, ECE, Expected-Cost auf Proxy-Labels.
2. Coverage/missing/feature-lag Dashboards, Alerts und Runbooks.
3. Recalibrationsverfahren (D + 1) und Schwellenwerte; Schatten-Pfad für neue Modelle.
4. Scheme/Fich-Verträge und Online/Offline-Äquivalenztest.
Phase 2 (4-8 Wochen):- RCA-Panel, Slice/Fairness-Monitoring, Backfill-Plan mit Quoten.
- Auto-Roll-Kalibrierung/Schwellenwerte, Schwellenwerte Simulator (was-wenn).
- WORM-Archiv von Driftberichten und Releases.
- Auto-Retrain durch Drift-Ereignisse (kanarische), Multi-Regionalpolitik.
- Kostenquoten/Chargeback, Chaos-/DR-Übungen, Autogen der Dokumentation.
16) Checkliste vor dem Verkauf
- SLI/SLO und Alerts sind konfiguriert (PSI/ECE/expected-cost/coverage/latency/5xx).
- Scheme contracts/fich and double entry v1/v2 - green.
- Recalibration/threshold-update Prozeduren werden dokumentiert und automatisiert.
- Shadow/Canary mit einem Klick Rollback überprüft.
- Backfill/Reprocessing mit Quoten und Fenstern - fertig; WORM-Archiv enthalten.
- Slice/fairness-Panels und Segmentbesitzer werden zugewiesen.
- Die PII/DSAR/RTBF/Legal Hold-Richtlinien wurden eingehalten. Audit ist aktiviert.
- Kosten unter Kontrolle (Kosten/Anfrage, Kosten/Funktion), Cache/TTL konfiguriert.
17) Anti-Muster und Risiken
Wir sahen einen hohen PSI - sofort retrain „blind“, ohne RCA und Kalibrierung.
Es gibt keine Aufzeichnungen über inhaftierte Labels → falsche Schlussfolgerungen, „Schwellen sägen“ jeden Tag.
Kein Online/Offline-Äquivalenztest → „doppelte Realität“.
Ignoriere Fairness: Markt-/Geräteausfälle bleiben unsichtbar.
Backfill ohne Quoten/Fenster → einen Schlag auf die Kosten und SLA.
Die Schwelle ist „für immer“ festgelegt → das Wachstum ist Expected-Cost bei Saisonalität.
18) Ergebnis
Driftmanagement ist kein einmaliges Retrain, sondern ein Prozess: Beobachtbarkeit → Diagnose → Minimalrisikomaßnahme (Kalibrierung/Schwelle) → sicheres Retrain/Reficing → Kostenkontrolle und Audit. Mit dieser Disziplin bleiben die Modelle präzise, ethisch und konform, auch wenn sich das Verhalten der Spieler, Anbieter und des Marktes ändert.