Prever a atividade e os desencadeadores de participação
1) Tarefa
É preciso prever quando um jogador com alta probabilidade de entrar (ou, pelo contrário, pode «apagar-se») e que incentivo aumentará a chance de participar de uma missão/qualificador/torneio, respeitando a honestidade e o Resolvível Gaming (RG).
Questões-chave:- «Quando é que ele costuma jogar?» (pattern temporários)
- «O que está a fazer?» (conteúdo, formato, recompensa, duração)
- «Como não superaquecer?» (frequência de toque, restrições RG, orçamento econômico)
2) Sinais de dados
Comportamento: ritmo de entrada (horas/dias), comprimento e ritmo das sessões, frequência de participação nos eventos.
Conteúdo: provedores/gêneros favoritos, novidades, diversidade.
Economia Promo: reações a bustos passados/tokens sazonais/cosméticos.
Sinais de bate-papo, clipes, reações (se houver).
Contexto: dispositivo, canal, zona de tempo, feriados/eventos locais.
RG: limites de tempo/depósito, sinais de fadiga, «sinais de pausa».
Todos os fichas são agregados, sem PII além do mínimo regulatório.
3) Fichering (exemplos)
Sazonalidade/ritmo: one-hot relógio 0-23, dias da semana; a correção automática das lajes (ACF/PACF).
4) Pilha modelo
1. Série de tempo para atividade:- Prophet/NeuralProphet, LSTM/Temporal Fusion Transformer para pattern de grupo;
- perfis sazonais simples para online.
- Cox/Weibull/RSF → até a próxima sessão; Risco de «apagar» (churn-hazard).
- 3. Propensity participativo (P (join))
GBDT/TabTransformer: possibilidade de participar da exibição da oferta.
4. Simulação Uplift (CATE):- Two-Model/T-Learner, X-Learner, Dr.-Learner para escolher qual trigger/conteúdo oferece aumento.
- bandido contextual (LinUCB/Thompson) para a seleção online canal x conteúdo x tempo dentro dos caps.
5) Tipos de desencadeadores de participação
Conteúdo: formato de torneio (sprint 20-30 min, maratona), provedores favoritos, «novidades da semana».
«Início em 15 min», «qualificador da noite», coincidência com a provável janela de entrada.
Recompensas (cosméticos/tokens): sem pay-to-win; raridades são comuns a todos.
Social: amigos on-line, banda de desafio, tarefas co-ops (ética, sem pressão).
Missões Cruzadas, missão de aquecimento curta → entrada de qualificação.
6) Orquestração de toques (canal x tempo x frequência)
Canais: in-app, push, email, web-inbox; prioridade in-app → pool → email.
Escolha de tempo: cruzamento p (ativo nos seguintes 90-120 min) com agendamento de áudios.
Frequência/capa: no máximo N toque/semana, M/dia; cooldown rigoroso entre os desencadeadores.
Modo silencioso: janelas noturnas do usuário; pool silencioso inbox mapa no aplicativo.
7) Honestidade, complacência, RG
Nenhuma influência sobre RTP/probabilidade. Os desencadeadores mudam o caminho, não o ganho.
Transparência: página «Como selecionamos as notificações»: janelas de atividade, limites de frequência, não personalização - 1 clique.
Guardas RG: com fadiga/limites - Diminuindo a frequência, oferecendo uma pausa, não chamando para formatos longos.
Dispensas/opt-out: respeitadas instantaneamente; «silêncio inteligente» depois da queixa.
8) Anti-spam e anti-abws
Rate limiting por usuário e canal.
Deduplicar o significado é não enviar motivos parecidos.
Orçamento econômico: cap para emissão de tokens/cosméticos por temporada.
Justiça: o valor superior da recompensa é igual; personalização é sobre relevância.
9) KPI e métricas de controle
Janela Hit Rate: proporção de toques que entraram na sessão ativa por uns minutos.
Join Uplift: aumento da participação vs controle.
D7/D30 Retention uplift junto às seções de destino.
Fatigué: Crescimento de moedas/moedas/queixas; Mute Rate Métricas RG: redução das sessões superdimensionais, proporção de pausas suaves. Prize ROY/Emision to GGR - para que a economia promo seja sustentável. Revenue/User-Week (se aplicável e regulatório). 10) A/B-pattern 1. As janelas de lembretes são T-30/15/5 min até ao início do qualificador. 2. A duração do formato é de 20 min vs 35 min para slots da noite. 3. Tipo de conteúdo: provedor de vs favorito «novidades da semana». 4. Canal: in-app vs push; pool com referências profundas vs sem. 5. Política Uplift: meta apenas uplift-positivo vs amplo revestimento. 6. Combo-trigger: missão-aquecimento → torneio vs imediatamente torneio. 11) Modelos JSON 12) Pseudocode orquestração 13) Pattern UX O cartão do lobby é: «Sprint da noite 20 min, início daqui a 15 min, cosméticos Rare». Estimativa de tempo: «≈20 - 25 minutos» + indicador de dificuldade. Opções de controle: «Relembre mais tarde», «Omite este assunto», «Cala a semana». VFX silencioso: breve, não invasivo, sem som compulsivo. 14) Plano de implementação 1. MVP (2-4 semanas): janelas de atividade cômicas + propensity simples; um canal (in-app), um cabo de frequência, uma tela de transparência. 2. v0. 9: modelo de tempo survival até a entrada; push + inbox; uplift básico para 2-3 desencadeadores. 3. v1. 0: bandido contextual, calendário completo de eventos, orçamento de emissão, integração RG, relatórios de honestidade. 4. «Agendamento pessoal da semana», missões cruzadas, geo-iventes, automação MLOs à deriva. 15) Checklist antes do lançamento Prever a atividade e os desencadeadores é tempo x conteúdo x canal sob os conterrâneos RG e honestos. As séries de tempo e o survival dão «quando», propensity e uplift - «o que chamar», o bandido - «como adaptar on-line». Com frequência rigorosa, transparência e orçamento sustentável, a promoção recebe menos ruído, mais participação e uma economia previsível da temporada.
Solução do tocador de orquestra:
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 e restrições de frequência if ctx. rg. fatigue or over_frequency_cap(user_id):
schedule_silent_inbox(user_id); exit()
seleção da janela e do desencadeador win = best _ time _ window (p _ ativo, 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)