Como o casino usa telemetry para analistas
Porquê um casino de telemetria
Telemetria é um fluxo normalizado de eventos sobre a ação do jogador e o funcionamento da plataforma (apostas, depósitos, erros, estrim de qualidade, frod pattern). Precisa dela para:- Gerenciar P&L (GGR/NGR, LTV, retenção);
- manter o SLO de caminho crítico (aposta, carteira, caixa);
- executar a complacência (RG/KYC/AML/KYT) e reduzir os riscos;
- otimizar o marketing (atribuição, ROAS, incorporativa);
- melhorar a qualidade do conteúdo (categorias, recomendações, torneios).
Mapa da telemetria: o que recolher
1) Eventos de jogos
`lobby_impression`, `tile_click`, `game_launch`- `bet_place` (stake, gameId, roundId, paytable/market)
- `bet_accept`, `bet_reject` (code, latency)
- `round_settle` (outcome, payout, rtp_snapshot)
- `void/refund` (reason_code)
2) Dinheiro e caixa
`deposit_initiated/success/chargeback`- `withdrawal_request/approved/declined`
- `wallet_debit/credit/hold_release`
- `bonus_issued/wager_progress/wager_complete`
- Fonte de fundos/canal, moeda, taxa de câmbio FX (fixado)
3) RG/Complaens
`rg_limit_set/updated/blocked_bet`- `session_timeout/self_exclusion`
- `kyc_started/verified/failed`
- `kyt_address_risk_scored` (on-chain), `aml_screening`
4) Marketing e produto
`utm_attribution`, `install_referrer`, `campaign_view/click`- `onboarding_step`, `paywall_view`
- `ab_variant_exposed`, `feature_flag_on/off`
5) Tecnologia e QoS
`api_latency` (endpoint, p95), `error_5xx`
`stream_qos` (fps, dropped_frames, webrtc_rtt, bitrate)- `provider_sla` (timeouts, aborted_rounds)
Contrato de evento: dicionário único
Princípios:- Um único padrão: campos obrigatórios, «event», «ts», «playerId», «sessionId», «traceId», «schemaVer».
- Os valores em dinheiro são sempre como uma linha/decimal + 'currency'.
- Valores temporários em UTC com milissegundos.
- PII separado: os dados pessoais não entram no fluxo de eventos alimentares «crus».
json
{
"event": "bet_place", "schemaVer": "1. 8", "ts": "2025-10-17T14:23:11. 482Z", "playerId": "p_82917", "sessionId": "s_2f4c", "traceId": "tr_b1d7", "gameId": "pragm_doghouse_megaways", "roundId": "R-2025-10-17-14:23:10-PRAGM-12", "stake": {"amount":"2. 00","currency":"EUR"}, "wallet": {"type":"cash", "balanceBefore":"154. 40"}, "device": {"ua":"Mozilla/...","os":"Android","app":"web"}, "geo": {"country":"DE", "ip":"203. 0. 113. 5"}, "ab": {"exp":"lobby-grid","var":"B"}
}
Exemplo de 'stream _ qos':
json
{
"event": "stream_qos", "ts": "2025-10-17T14:23:12. 013Z", "playerId": "p_82917", "tableId": "evo_blackjack_23", "webrtc_rtt_ms": 142, "fps": 28, "dropped_frames": 6, "bitrate_kbps": 2400, "network":"4g"
}
Pipeline: de coleta a insights
1. Ingest: SDK/collector (web/app/server) → шина (Kafka/NATS) → stream-processing (Flink/Spark/Kafka Streams).
2. Armazenamento de tempo: ClickHouse/BigQuery (latência segundos-minutos), unidades quentes no Redis.
3. Armazenamento batch: objetos (S3) para eventos «crus» (imutável, versioned).
4. Camada semântica: tabelas de fatos/medidas unificadas (players, sessions, bets, payments, rg _ events).
5. Entrega/ativação: dashboards (Grafana/Metabase/Looker), alertas, protetores de personalização, descarga reversa para ferramentas de marca/CDP.
6. Data contracts: testes de esquema (CI), controle de compatibilidade, diretório de dados (descrições de campos, SLA).
Vitrines-chave e modelos
Fã de marketing: 'view → click → register → KYC → deposit → bet'. p95-tempo de transições, fugas, vórtices nos canais/criações.
Conectividade e retenção: D1/D7/D30 retence, sticky factor (WAU/MAU), rolling-retence.
LTV e margem: LTV por fonte/country/segment, período payback, NGR após bónus/comissões.
RTP/volatilidade: por jogos/provedores/segmentos; desvios das faixas esperadas.
Segmentação RFM: recency/frequency/monetary → offs/limites pessoais.
Sinais RG: sessões noturnas, aumento da frequência e do valor das apostas, cancelamento de conclusões, «dogão» após perder.
Frod/AML/KYT: correlação de dispositivos/mapas/endereços, regras velocity, on-chain score de risco.
QoS liva: influência do FPS/PTT em 'bet _ reject' e churn; Alertas à degradação.
Real-time vs Batch
Real-time (segundos): antifrode, bloqueios RG, alertas SLO, promoções pessoais em sessão, rotação de redes/PSP.
Near-real-time (minutos): dashboards de gestão, otimização de campânio, limites de provedores.
Batch (relógio): relatórios aos reguladores, modelos incorporativos LTV/Churn, atribuição MMM.
Métricas e alertas incorporados (exemplo de conjunto)
SLO API: `bet. place p95 < 200ms`, `error_rate < 0. 3%`, `settle_latency p95 < 2s`.
Game health: crescimento acentuado de 'void/refund', queda de RTP abaixo do intervalo de confiança.
Cashier: drop na etapa '3DS', altura de 'declined _ by _ issuer'.
Live QoS: 'webrtc _ ptt _ ms> 300' para> 5% dos jogadores da região, 'aborted _ rounds'> limiar.
RG: consecutivos> N sessões> X relógio, 'rg _ blocked _ bet' pente por segmento.
Fraud: mapas/dispositivos iguais em várias contas, «carrossel» depozit→vyvod, repetições de webhooks sem idempotency.
Privacidade e Complacência
Isolamento PII: dados pessoais em um domínio/armazenamento separado, links com o pseudônimo 'playerId'.
Minimização: eventos «crus» sem PII; enrich - apenas no servidor, na lista branca de campos.
Retenção: TTL diferentes para eventos (jogos/caixa/logs-segurança) sob os requisitos de jurisdição.
Fundamentos legais: consent/legitimate interest/contract; auditoria de acesso, camuflagem, remoção por solicitação.
Loging imutável: WORM para revistas críticas, controle de mudanças de esquema.
Exemplo de cálculo analítico (ideias)
Anataly RTP: janela deslizante por jogo/mesa; alert em desvio> N .
Promo uplift: CUPED/Incorporatividade A/B por 'deposit _ rate' e 'bet _ frequency'.
Modelo churn: busting gradiente por comportamento de 7 dias (frequência/soma/QoS/falhas de caixa).
Real-time next best action: regra/modelo na vitrine fic → pessoal off ou conselho para fazer uma pausa (RG).
Anti-pattern
Mesclando OLTP e OLAP: Relatórios pesados da base de dados de combate quebram atrasos nas apostas.
PII em eventos crus e «fugas» em BI-dashboard.
Sem data contracts: «campo hoje linha, amanhã número».
Contadores sem traceId - Não é possível ligar o caminho do jogador end-to-end.
Real-time cego sem dedução - débitos duplos/pagamentos.
KPI sem contexto empresarial: ver apenas 'pageviews' em vez de 'TTFB→bet '/' CR deposit→bet'.
Números absolutos sem coorporação, não se vê quem realmente traz a GGR.
Folha de cheque de implementação de telemetria
Contrato e coleta
- Esquema de evento unificado, dicionário de campos, versões, tempo UTC.
- SDK/collector для web/app/server; O trailing ('traceId') é de passagem.
- Idempotency e dedução em ingest.
Armazéns e Pipeline
- Kafka/NATS + ClickHouse/BigQuery; S3 - eventos «crus» (imutáveis).
- Camada semântica: fatos/medidas, testes de compatibilidade (CI).
- Dashboard real-time e batch; Alertas SLO/QoS/RG/Fraud.
Segurança e privacidade
- Isolamento PII, Política de Acesso (RBAC/ABAC), auditoria.
- Camuflagem, retenção, fundamentos legais, procedimentos de remoção.
Modelos e ações
- LTV/Retenção/Churn, bem como regras RG real-time.
- Atribuição: UTM + post-install + incorporatividade.
- Personalização: next best action/offer.
Exploração
- Diretório de dados e donos de tabelas; O SLO está nas vitrines.
- Testes de regressão de circuitos; monitoramento de lajes e erros de ingest.
- Exercícios: réplicas de topics, recuperação emergencial de vitrines.
Telemetria é o «sistema nervoso» do casino, que liga dinheiro, produto, streaming, marketing e complacência em um único e único controle. Contrato rigoroso de eventos, pipline confiável, privacidade padrão e conexão real-time + batch transformam logs crus em soluções: quem e o que reter, onde investir em marketing, como melhorar a UX e onde reduzir riscos. Faça da telemetria uma disciplina - e a plataforma vai crescer de forma previsível e segura.