GH GambleHub

Visualização AI de métricas

1) O que é a visualização AI

A visualização AI das métricas é um caminho onde os modelos (ML/LLM) são automaticamente:

1. selecionam o tipo apropriado de gráfico e eixo,

2. realce pattern/anomalias/fraturas de tendência,

3. formulam um texto explicável (insight/narrativo),

4. oferecem ações (Next Best Action),

5. adaptam a vista para o contexto do usuário e do dispositivo.

O objetivo é reduzir o caminho da pergunta à resposta: menos seleções manuais de lista, mais significados verificáveis.


2) Arquitetura na palma da mão

1. Semantic Layer: Definições de métricas/medidas unificadas (glossário, fórmulas, agregações, acessíveis).
2. NL→Query: converter a consulta em linguagem natural em SQL/SPARQL/DSL.
3. Query→Viz: Atribuição automática de gramática gráfica e parâmetros (eixos, escalas de logos, cor/shape/size).
4. Insight Engine: detecção de anomalias, breakpoants, seasonality, causal hants; prioridades dos sinais.
5. Narrativo: geração de texto de fato com referência a valores e intervalos de confiança.
6. RAG: Bifurcação de contexto do catálogo de dados/configurações (metadados, regras de negócios).
7. Policy Guardrails: privacidade/acesso/disfarce, verificação de números e links.
8. Delivery: widgets Web, cartões de celular, PDF/snapshots, webhooks em CRM/Slack.


3) Gráficos gramáticos e marcação automática

Princípios:
  • Tempo → linha/área; categorias (≤8) → colunas/telhas; classificação → bar/liderbord; distribuição → histograma/violina/box; correlações → scatter/heatmap.
  • Eixo logístico ao crescimento exponencial; racionamento (%) em partes; small multiples - quando os episódios são muitos.
  • Seleção de cores: painéis semânticos para estatais; cor ≠ canal de ordem e categoria ao mesmo tempo.
  • As assinaturas só fazem sentido, minimizamos a tinta.
Modelo de ChartSpec (pseudo-Vega-Lite):
yaml chart:
mark: line encoding:
x: {field: dt, type: temporal, timeUnit: day}
y: {field: ggr, type: quantitative, aggregate: sum}
color: {field: region, type: nominal, legend: top, limit: 6}
transforms:
- filter: "dt >= now()-90d"
- calculate: {expr: "rolling_mean(ggr,7)", as: "ggr_7d"}
annotations:
- rule: {type: "changepoint", method: "cusum"}
- band: {type: "confidence", metric: "ggr", level: 0.9}
interactions: {tooltip: true, zoom: "x", brush: "x"}

4) NL→Viz: de pergunta em horário

Parsing intenções: métrica, corte, período, filtros, unidades.
Validação em camada semântica: apenas campos/fórmulas permitidos.
Pós-processamento: seleção de lista por tipo de campo e cardealidade, porta auto bining/sempling.
Feedback: exibe SQL/DSL e downlad de dados (camuflado) para fortalecer a confiança.

Exemplo de consulta DSL:
yaml ask: "Покажи GGR по странам за 90 дней, выдели резкие изменения"
metric: ggr dims: [country, dt]
filters: {dt: "last_90d"}
viz_hint: "line + changepoints"

5) Insight Engine: como gerar «significados»

Sinais:
  • Anomalias: descomposição STL, ESD/Prophet, BOCPD; marcamos direção/valor/confiança.
  • Quebras de tendência: CUSUM/Chow teste; regressão local.
  • Sazonalidade/campanha: comparação de «feriado vs dia normal», uplift para o basline.
  • O segmento driver é shapley/função importance acima da regressão de tabela ou do busting de gradiente.
  • Dicas de causa: especificação de alterações associadas (como parte da observação) + lembrete de «é correlação».
Prioridades dos insights:

1. impacto na métrica de negócios, 2) poder de efeito, 3) novidade, 4) confiança.


6) Geração de narrativa (texto)

Requisitos: factos com números e datas, especificação da base de comparação, cuidado com os termos.

Modelo:
💡 "GGR cresceu em + 12. 4% w/w (p95 CI: +9. 8…+14. 7) em TR após o lançamento da campanha Promo-X 2025-10-12. Principal contribuição: Sports + 18%, Slots + 7%. A causa possível é maior tráfego de celulares (Android, + 11%). É uma observação, não uma prova de causalidade

7) Adaptação ao contexto (personalização)

Papéis: C-level - cartões KPI e narrativas; gerentes - cortes e alertas; analistas - SQL/DSL e parâmetros de modelo.
Dispositivo: sparklins compactos no celular, full viz no desctop.
Geo/língua/moeda/fuso horário - automaticamente.


8) Explicabilidade e confiança

Cada legenda no gráfico é clicada → revela o cálculo (fórmula, agregações, filtros).
Especificamos incertezas estatísticas (barra de confiança, erro bars).
Para descrições LLM: RAG em metadados, verificação de números por origem (verificação de somas/faixas).
O logotipo das alterações é uma versão de fórmulas, datasets, lista.


9) Qualidade e visualização SLO

Latency p95 renderização, time-to-first-insight, proporção de solicitações NL bem sucedidas.
Explainability score (presença de números/links/CI na narrativa).
Accuracy NL→SQL (ex. exact-match nas solicitações de referência).
Acessibilidade: contraste, texto alt, teclado, modo de daltonismo.


10) Disponibilidade (A11y) e pattern UX

Painéis de cores independentes da cor; duplicação cor-forma/pattern.
Alternativas de texto e data-place view ao lado do gráfico.
Truques, ordem inteligente; zoom sem quebra de eixos.


11) Segurança e privacidade

RLS/CLS no nível de consultas e dados tooltips.
Camuflagem/bining para raras categorias para evitar re-identidade.
Revistas de questões NL - cofre PDN: tocenização/edição de potenciais PII.
Exportar capturas de tela/CSV - com marca d' água e metadados de versão.


12) Economia e custo

Costa-aware: armazenamento de tales/resultados, materialização de vitrines «quentes», sampling para exaltação.
Limite as consultas NL pesadas (scan caps), render adiado para grandes séries.
Modelos baratos para detecção básica + pesadas notas offline à noite.


13) Antipattern

«A lista de carros tem sempre razão». É preciso validar os tipos/cardealidades/lógicas de métricas.
Too much ink. Complexos 3D/dual-axis sem necessidade de distorção →.
Sem indicação de incerteza. Os textos são «categóricos», mas enganosos.
Sem camada semântica. Fragilidade e erros de agregação.
Insights mágicos sem referências a números. Desconfiança e rejeição da ferramenta.


14) Mapa de trânsito de implementação

1. Foundation: camada semântica, glossário de métricas, acessíveis (RLS/CLS), conjuntos de testes de NL→SQL.
2. MVP NL→Viz: top 10 perguntas, lista automática de gramática, validação de tipos/cardealidades.
3. Insight Engine: anomalias/breakpoints, prioridades, contabilidade básica com CI.
4. RAP & Trust: conectar metadados/fórmulas, registro de provas em UI.
5. A11y e mobile: cartões adaptativos, texto alt, contraste/teclado.
6. FinOps: cachês/materialização, limites de raias, perfis de carga.
7. Scale: personalização por papéis, modelos NLG de cenário, integração em CRM/alertas.


15) Folha de cheque antes do lançamento

  • As métricas e medidas são descritas na camada semântica; O SELECT não está disponível.
  • A seleção automática da lista é validada de acordo com os tipos/cardealidades/regras.
  • Os narrativos contêm números, comparação, base e faixa de confiança.
  • As faixas de incerteza/erro-bars estão ativadas (onde aplicável).
  • NL→SQL/DSL passa por testes de referência; a visualização do SQL para o usuário é visível.
  • RLS/CLS e camuflagem funcionam em tooltips/exportação.
  • A11y: contraste, texto alt, navegação, modo de daltonismo.
  • A caixa/materialização/limites de raias está configurada; painéis SLO/valor recolhidos.
  • Logs de versões de fórmulas/listas; botão «queixar-se de insights».

16) Mini-modelos

16. 1 Política de apropriação automática de gráficos

yaml auto_chart_policy:
time_series: ["line","area"]
categories_max: 8 distribution: ["histogram","boxplot"]
correlation: ["scatter","heatmap"]
choose_log_scale_if: growth_rate>0.15/week small_multiples_if: series_count>6

16. 2 Cartões de insight

yaml insight:
id: "ggr_tr_spike_2025_10_12"
metric: ggr segment: {country: "TR", device: "Android"}
change: {type: "wow", delta_pct: 12.4, ci95: [9.8,14.7]}
drivers: ["Sports +18%", "Slots +7%"]
confidence: 0.86 actions: ["увеличить лимит кампании TR Android на 10%"]
disclaimer: "наблюдение, не доказанная причинность"

16. 3 Exemplo de NL→SQL em UI (com realce)

sql
-- Вопрос: "Как менялся ARPPU по устройствам за 30 дней?"
select dt::date as dt, device_os, avg(revenue_per_payer) as arppu from mart_daily_player where dt >= current_date - interval '30 day'
group by 1,2 order by 1,2;

16. 4 Conjunto de teste para NL→Viz

yaml tests:
- ask: "Покажи распределение депозитов за неделю"
expect:
chart: "histogram"
binning: true field: "deposit_amount"

17) Resultado

A visualização AI das métricas não é «imagens inteligentes», mas um processo transatlântico: camada semântica Insight Engine narrativas explicáveis ação e controle de confiança. Com guardas corretos (privacidade, verificação de números, incerteza, A11y, FinOps), ela transforma os relatórios em soluções operacionais, acelera a análise e eleva a cultura de dados em toda a organização.

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.