Vorhersage von Aktivitäten und Beteiligungs-Triggern
1) Aufgabe
Es ist notwendig vorherzusagen, wann ein Spieler mit hoher Wahrscheinlichkeit hereinkommt (oder umgekehrt „ausgehen“ kann) und welcher Anreiz die Chance erhöht, an einer Mission/einem Qualifikator/Turnier teilzunehmen, während Ehrlichkeit und Responsible Gaming (RG) respektiert werden.
Kernfragen:- „Wann spielt er normalerweise?“ (Zeitmuster)
- „Was löst die Teilnahme aus?“ (Inhalt, Format, Belohnung, Dauer)
- „Wie nicht überhitzen?“ (Touchfrequenz, RG-Limits, wirtschaftliches Budget)
2) Datensignale
Verhalten: Rhythmus der Eingänge (Stunden/Tage), Länge und Tempo der Sitzungen, Häufigkeit der Teilnahme an den Veranstaltungen.
Inhalt: Lieblingsprovider/Genres, Neuheit, Vielfalt.
Promo Economy: Reaktion auf vergangene Boosts/saisonale Token/Kosmetik.
Soz-Signale: Chat, Clips, Reaktionen (falls vorhanden).
Kontext: Gerät, Kanal, Zeitzone, lokale Feiertage/Ereignisse.
RG: Zeit-/Einzahlungslimits, Ermüdungserscheinungen, „Pausensignale“.
Alle Fici sind aggregiert, ohne PII über das regulatorische Minimum hinaus.
3) Fichering (Beispiele)
Saisonalität/Rhythmus: one-hot Stunden 0-23, Wochentage; Autokorrelation von Verzögerungen (ACF/PACF).
4) Modellstapel
1. Zeitreihen für Aktivität:- Prophet/NeuralProphet, LSTM/Temporal Fusion Transformer für Gruppenmuster;
- einfache Kohor saisonale Profile für online.
- Cox/Weibull/RSF → Zeit bis zur nächsten Sitzung Gefahr des „Erlöschens“ (Churn-Hazard).
- 3. Teilnahmeberechtigung (P (join))
GBDT/TabTransformer: Die Wahrscheinlichkeit, an der Anzeige eines Angebots teilzunehmen.
4. Uplift-Simulation (CATE):- Two-Model/T-Learner, X-Learner, DR-Learner zur Auswahl, welcher Auslöser/Inhalt den Gewinn bringt.
- Kontext-Bandit (LinUCB/Thompson) für die Online-Auswahl Kanal × Inhalt × Zeit innerhalb der Mundschutz.
5) Arten von Partizipationsauslösern
Inhalte: Turnierformat (Sprint 20-30 min, Marathon), Lieblingsanbieter, „Novum der Woche“.
Temporär: „Start nach 15 min“, „Abendqualifikator“ - Zufall mit dem wahrscheinlichen Eintrittsfenster.
Belohnung (Kosmetik/Token): ohne Pay-to-Win; Raritäten sind allen gemeinsam.
Sozial: Freunde online, Community-Challenge, Co-op-Aufgaben (ethisch, ohne Druck).
Cross-Mission: kurze Mission-Aufwärmen → Eintritt in den Qualifier.
6) Touch-Orchestrierung (Kanal × Zeit × Frequenz)
Kanäle: In-App, Push, E-Mail, Web-Inbox; In-App-Priorität → Push → E-Mail.
Zeitauswahl: Kreuzung p (aktiv in den nächsten 90-120 min) mit dem Veranstaltungsplan.
Frequenz/Kappe: nicht mehr als N Berührungen/Woche, M/Tag; strikter Cooldown zwischen den Triggern.
Ruhemodus: Nachtfenster des Benutzers; „leise“ Push → Inbox-Karte in der App.
7) Integrität, Compliance, RG
Keine Auswirkungen auf RTP/Quoten. Auslöser ändern den „Weg“, nicht die Erwartung eines Gewinns.
Transparenz: Seite „Wie wir Benachrichtigungen abholen“: Aktivitätsfenster, Frequenzlimits, Verzicht auf Personalisierung - 1 Klick.
RG-Wachen: bei Müdigkeit/Grenzen - Frequenz reduzieren, Pause anbieten, nicht nach langen Formaten rufen.
Abmeldungen/Opt-out: werden sofort respektiert; „kluges Schweigen“ nach der Beschwerde.
8) Anti-Spam und Anti-Missbrauch
Rate limiting pro Benutzer und Kanal.
Deduplizierung von Bedeutung: Vermeiden Sie es, 2 ähnliche Gründe hintereinander zu senden.
Wirtschaftliches Budget: Cap für die Ausgabe von Token/Kosmetika nach Saison.
Fairness: Der obere Wert der Belohnung ist der gleiche; Personalisierung - über Relevanz.
9) KPIs und Kontrollmetriken
Trefferquote des Fensters: Der Anteil der Berührungen, die ± Δ Minuten in die aktive Sitzung gelangen.
Join Uplift: Erhöhung der Beteiligung gegen Kontrolle.
D7/D30 Retention uplift in den Zielkohorten.
Fatigue: Zunahme von Abmeldungen/Abmeldungen/Beschwerden; Mute Rate RG-Metriken: Reduzierung überlanger Sitzungen, Anteil weicher Pausen. Prize ROI/Emission to GGR - damit die Förderwirtschaft nachhaltig ist. Incremental Revenue/User-week (falls zutreffend und regulatorisch zulässig). 10) A/B-Muster 1. Erinnerungsfenster: T-30/15/5 min bis zum Start des Qualifiers. 2. Formatdauer: Sprint 20 min vs 35 min für Abend Slots. 3. Inhaltstyp: Lieblingsprovider vs „Neuheit der Woche“. 4. Kanal: in-app vs push; Push mit tiefen Links vs ohne. 5. Uplift-Politik: Ziel nur uplift-positive vs breite Abdeckung. 6. Combo-Trigger: Mission-Aufwärmen → Turnier vs Turnier sofort. 11) JSON-Templates 12) Pseudocode der Orchestrierung 13) UX-Muster Karte in der Lobby: „Abendsprint 20 min, Start nach 15 min, Rare Kosmetik“. Zeitschätzung: „≈20 -25 Minuten“ + Schwierigkeitsanzeige. Kontrollmöglichkeiten: „Später erinnern“, „Dieses Thema überspringen“, „Eine Woche schweigen“. Silent VFX: kurz, nicht-invasiv, kein aufdringlicher Sound. 14) Umsetzungsplan 1. MVP (2-4 Wochen): Kohore Aktivitätsfenster + einfache Propensity; ein Kanal (In-App), Frequenz-Cap, Transparenzbildschirm. 2. v0. 9: Survival-Modell der Zeit bis zum Eintritt; push + inbox; Basis-Uplift für 2-3 Trigger. 3. v1. 0: Kontext-Bandit, vollwertiger Veranstaltungskalender, Emissionsbudget, RG-Integration, Integritätsberichte. 4. Als nächstes: persönliche „Wochenpläne“, Cross-Mission, Geo-Events, MLOps-Drift-Automatisierung. 15) Checkliste vor Veröffentlichung Die Vorhersage von Aktivitäten und Triggern ist die Zeit, um Inhalte × Kanäle unter RG- und ehrlichen Constraints zu ×. Zeitreihen und Survival geben „wann“, Propensity und Uplift - „als rufen“, Bandit - „wie man online anpasst“. Mit strengen Caps aus Frequenz, Transparenz und einem nachhaltigen Budget bekommen die Promo weniger Lärm, mehr Beteiligung und eine planbare Saisonökonomie.
Entscheidung des Touch Orchestrators:
json
{
"user_id": "u_29104", "next_active_window": {"start": "2025-10-24T17:00:00Z", "end": "2025-10-24T19:00:00Z", "p_active": 0. 72}, "p_join_by_trigger": {
"sprint_20min": 0. 41, "marathon_60min": 0. 18, "new_provider_event": 0. 36
}, "uplift_by_trigger": {
"sprint_20min": 0. 12, "new_provider_event": 0. 07
}, "rg_flags": {"fatigue": false, "limit_time": false}, "cooldowns": {"push": true, "in_app": false}
}json
{
"decision_id": "dec_2025_10_24_1630", "user_id": "u_29104", "touch": {
"channel": "in_app", "time": "2025-10-24T17:05:00Z", "trigger": "sprint_20min", "creative": "evening_sprint_card_v3"
}, "fairness": {"reward_cap_equivalent": true}, "rg": {"suggest_break": false}
}
python ctx = build_context(user_id)
p_active = activity_model. predict_window(ctx, horizon_hours=4)
p_join = propensity_model. score_triggers(ctx)
uplift = uplift_model. estimate(ctx, triggers=p_join. keys())
RG und Frequenzbeschränkungen if ctx. rg. fatigue or over_frequency_cap(user_id):
schedule_silent_inbox(user_id); exit()
Auswahl von Fenster und Trigger win = best_time_window (p_active, events_schedule)
trigger = argmax(uplift, mask=channel_caps(user_id))
touch = compose_touch(user_id, channel="in_app", window=win, trigger=trigger)
if economy_budget_ok(trigger) and not in_quiet_hours(user_id, touch. time):
deliver(touch); log(touch)