Sinais comportamentais
Sinais comportamentais
Os sinais comportamentais são a «telemetria» da interação do usuário com o produto: eventos, contexto e filas de tempo, das quais tiramos a intenção, o interesse, a qualidade do tráfego, o risco e o valor. Um caminho confiável de sinalização: ferramenta → coleta → limpeza → normalização → sinalização → uso → monitoramento e ética nas soluções.
1) O que considerar sinais comportamentais
Sessões: arranque/pare, duração, número de telas, profundidade, repetições por dia, sessões «silenciosas».
Cliques/tecla/scroll: densidade de cliques, velocidade de rolagem, profundidade, paragem (scroll-stops).
Dwell-time: tempo na tela/item, tempo ativo (idle filtro).
Navegação/relação de telas: seqüências, galhos, navegação rage.
Entrada/formulário: velocidade de preenchimento, correção, navegação, pate rate.
Micro-interdições: howers, divulgação, botões, triagens/filtros.
Conteúdo/pesquisa: pesquisas, CTR, CTCVR, salvar, «adiar para depois».
Técnica: device/browser, FPS/status da bateria, erros, latency, rede (IP/ASN), offline/online.
Horário/contexto: hora/dia/calendário local, geo-pattern (sem geolocalização exata, se não necessário).
Feedback negativo, ocultar, queixa, recusa, recusa de cookie/personalização.
2) Ferramentas e esquema de eventos
Esquema canônico (mínimo):
event_id, user_id, session_id, ts_utc, type, screen/page, element, value, duration_ms,
device_id, platform, app_version, locale, referrer, ip_hash, asn, experiment_id, schema_version
Princípios: Idempotidade (dedup por '(fonte _ id, checksum)'), tempo UTC, versão de circuitos, chaves de identidade estáveis, minimização de PII (hasts/tokens).
3) Limpeza e antibota
Bandeiras Headless/automation: assinaturas WebDriver/puppeteer, gestos personalizados ausentes.
Velocidade anormal: cliques/scroll superhumanos, intervalos «perfeitos».
Rede: centros de hospedagem data, proxy conhecido/VPN ASN.
Repetição de pattern: trajetos e sequências iguais.
QA/interna: listas de contas de teste/dispositivos.
Frod: device/IP grafo (um lema → muitas contas, geo-velocity).
4) Normalização e Point-in-Time (PIT)
Janelas de tempo: 5 minutos/1 hora/24 horas/7 dias; Expon. suavização.
Sazonalidade: day-of-week, hour-of-day, bandeiras de festa.
Cortes PIT: Todos os sinais são construídos antes da hora de avaliação; Nada de informações do futuro.
Paridade online/offline: receitas idênticas na função store.
5) Qualidade e validade dos sinais
Coverage: proporção de sessões/telas com eventos completos.
Freshness: Entrada em linha.
Consistency: proporção de eventos por usuário/sessão em «corredores» (controle de emissões).
Atenção: Tempo ativo/idl-filtro, scroll depth, paragens.
Intenção: transições para ações profundas (filtr→detal→tselevoye).
Veracidade: antibot scot, confiança em device/IP.
6) Sinal de formação (função engineering)
R/F: recency da última interação, frequência por janela 7/30/90.
Dwell/scroll: medians/quantili, proporção de telas com dwell ≥ X, profundidade de ≥ p%.
Sequências: n-grama, transições de Selková, pattern «arrependimento» (back-forth), run-length.
Estabilidade do dispositivo: mudança de device/navegador, entropy user-agents.
Qualidade do clique: ratio cliques para itens clicáveis, rage-clicks.
Pesquisa/intenção: comprimento/acerto de solicitações, dwell após pesquisa, sucess rate.
Agregações de identidade: user _ id, device _ id, ip _ hash, asn.
Híbridos: embeddings de sessão (Doc2Vec/Transformer) → clusterização/classificação.
7) Sinal → Ação: tabela de soluções
Histereses e cooldowns são obrigatórios para não «piscar» dicas.
8) Pseudo-SQL/receitas
A. Tempo ativo e profundidade do scroll
sql
WITH ev AS (
SELECT user_id, session_id, page, ts,
SUM(CASE WHEN event='user_active' THEN duration_ms ELSE 0 END) AS active_ms,
MAX(CASE WHEN event='scroll' THEN depth_pct ELSE 0 END) AS max_depth
FROM raw_events
WHERE ts BETWEEN:from AND:to
GROUP BY 1,2,3,4
)
SELECT user_id, session_id,
AVG(active_ms) AS avg_dwell_ms,
PERCENTILE_CONT(0. 5) WITHIN GROUP (ORDER BY max_depth) AS scroll_median
FROM ev
GROUP BY 1,2;
B. Rage-clicks / back-forth
sql
WITH clicks AS (
SELECT user_id, session_id, ts,
LAG(ts) OVER (PARTITION BY user_id, session_id ORDER BY ts) AS prev_ts,
element
FROM ui_events WHERE event='click'
),
rage AS (
SELECT user_id, session_id,
COUNT() FILTER (WHERE EXTRACT(EPOCH FROM (ts - prev_ts)) <= 0. 3) AS rage_clicks
FROM clicks GROUP BY 1,2
),
backforth AS (
SELECT user_id, session_id,
SUM(CASE WHEN action IN ('back','forward') THEN 1 ELSE 0 END) AS nav_bf
FROM nav_events GROUP BY 1,2
)
SELECT r. user_id, r. session_id, r. rage_clicks, b. nav_bf
FROM rage r JOIN backforth b USING (user_id, session_id);
C (esboço)
sql
SELECT user_id, session_id,
(CASE WHEN headless OR webdriver THEN 1 ELSE 0 END)0. 4 +
(CASE WHEN asn_cat='hosting' THEN 1 ELSE 0 END)0. 2 +
(CASE WHEN click_interval_std < 50 THEN 1 ELSE 0 END)0. 2 +
(CASE WHEN scroll_speed_avg > 5000 THEN 1 ELSE 0 END)0. 2 AS bot_score
FROM telemetry_features;
D. Sequências de n-grama
sql
-- Collect screen sequences and transition frequencies
SELECT screen_seq, COUNT() AS freq
FROM (
SELECT user_id, session_id,
STRING_AGG(screen, '→' ORDER BY ts) AS screen_seq
FROM nav_events
GROUP BY 1,2
) t
GROUP BY screen_seq
ORDER BY freq DESC
LIMIT 1000;
9) Sinais comportamentais em ML/analista
Tendências/personalização: modelos CTR/CTCVR, sessão embeddings, next-best-action.
Recuo/retenção: modelos hazard, sinais de recency/frequência/sequências.
Antifrod: velocidade de formulário, geo-veleiro, device/gráfico IP, modelos de «fazendas».
Qualidade do tráfego: «visualizações validas», engaged sessions, feedback negativo.
A/B e causalidade: métricas de atenção como intermediários, mas as conclusões são sobre a incorporação (ROMI/LTV, retenção).
10) Visualização
Sankey/step-bars: caminhos e drop-off.
Heatmaps: profundidade do scroll, mapas de cliques (impessoal).
Cohort x age: como os sinais de idade mudam.
Gráficos Bridge: contribuições de fatores (velocidade, scroll, erros) para alterar a conversão.
11) Privacidade, ética, RG/complacência
Minimização PII: hasteamento de ID, RLS/CLS, disfarce durante a exportação.
Concordância/transparência: configuração de tracking, rejeição - respeitada; a lógica é explicável.
RG: não usar sinais para promover comportamentos nocivos; lembretes macios/limites.
Fairness: verificar diferenças de erro/intervenção por grupo; excluir os sinais não válidos.
Armazenamento: Prazo TTL para eventos crus, a agregação é preferível.
12) Observabilidade e deriva
Qualidade de dados: coverage, duplicados, lajes, porcentagem de campos vazios.
Deriva de sinal: PSI/KL por dwell/scroll/frequência; «novos» patters.
Operações: latency, p95 de cálculo de sinais, proporção de folbacks.
Guardrails: subida do bot score, queixas, demissões; pára-torneira para intervenções agressivas.
13) Anti-pattern
Cliques crus sem contexto/idl-filtro → falsos «atenção».
Mistura de unidades (sessii↔polzovateli), TZ, janelas → não comparável.
Leques do futuro (sem PIT) → reavaliação de modelos.
Nultonantismo ao ruído - liminares rígidos sem histerese → «piscar».
Ignorar os filtros anti/QA → métricas exageradas.
Gravar PII extra sem motivo → riscos e multas.
14) Folha de cheque de lançamento do circuito de sinais comportamentais
- Padrão de evento (versões, UTC, Idempotação), Minimização de PII
- Filtros antibot/QA, pretos/brancos ASN/dispositivos
- Receitas PIT, janelas 5m/1h/24h/7d, paridade online/offline
- Métricas de qualidade: coverage, freshness, engagement validadores
- Sinais R/F/dwell/scroll/seqüência/pesquisa, sessão embeddings
- Decision tantes: acções, histereses, kuldowns, guelrails
- Dashboards e alertas à deriva (PSI/KL), queixas/dispensas, indicadores RG
- Documentação: dicionário datátil, passaportes de sinais/métricas, proprietários e runibucos
Resultado
Os sinais comportamentais só oferecem valor em um circuito disciplinado: ferramentas corretas e PIT, limpeza e antibot, sinais sustentáveis e políticas claras de ação, privacidade e RG, observabilidade e resposta à deriva. Esta abordagem traduz «cliques e scroll» em soluções que aumentam a conversão, retenção e LTV - de forma segura, transparente e reproduzida.