Meta-analista e métricas métricas
1) O que é meta-analista
O meta-analista é o controle da própria dimensão: fórmulas, fontes, frescura, estabilidade e custo de geração de métricas. O objetivo é que cada métrica seja uma unidade de conhecimento verificável, reprodutiva, oportuna, comparável entre equipes e econômica.
2) Esqueleto de métrica (Metric Entity Model)
Cada métrica é descrita com um cartão:- Identificador: 'metric _ key', proprietário (Product/Data Owner), critério (Gold/Silver/Bronze).
- Sentido: definição, unidades, agregação, janelas (day/wow/moom/rolling).
- Fórmula e camada: SQL/DSL, camada semântica (dimensões, filters), segmentos válidos.
- Fontes e lineage: tabelas, versões, dependências (fici/vitrines/modelos).
- SLO метрики: latency p95, freshness, coverage, accuracy, stability.
- Trust Signals: verificações recentes, status DQ, testes de fórmula CI.
- Economia: bytes scanned, cut-per-chart (CPC), cost-per-insight (CPI).
- Controle de acesso: RLS/CLS, sensibilidade.
- Versioning: semver fórmula ('ggr @ 2. 3. 0 '), registro de alterações.
3) «Métricas métricas»: o que medir
Qualidade e confiança
Accuracy: divergência com referência/contabilidade (MAE/APE).
Consistency: correspondência entre fontes/dashboards (fórmula canônica).
Freshness: idade dos dados vs SLO (segundos/min).
Completeness: proporção de segmentos/datas preenchidos.
Statity: Dispersão/volatilidade em condições inalteradas (Levene/variance ratio).
Explainability: disponibilidade de fórmula/links/CI/faixas no cartão.
Desempenho e custo
Latency p95/p99 de cálculo/render.
Bytes scanned/consulta.
CPC/CPI: custo de horário/insight.
Cachê hit-rate e materialização.
Risco e uso
Adopção: proporção de dashboards/soluções usando métricas.
Breakage rate: taxa de queda de testes/interrupção de frescura.
Draft score: alteração de distribuição após alterações na fórmula/origem.
Suporte load: conversões/incidentes por métrica.
4) Camada semântica e «Metric Store»
Gramática unificada: medidas, medidas, filtros, regras de agregação e compatibilidade.
API/Catálogo de métricas: pesquisa, cartões, versionização, lineage-grafo.
Computação intermediária: materialização (daily/weekly), cunho canônico.
Política de publicação: somente da Metric Store para visualização pró-dashboard/AI.
5) Versionização e compatibilidade
SemVer para as métricas: 'MAJOR' - Alteração de significado/agregação quebrante; 'MENOR' - novo corte/atributo; 'PATCH' - otimização sem alteração de valor.
Deprecation flow: aviso, modo paralelo v1/v2, data de desligamento, cartão de migração.
Testes contratuais: equality/inequality, invariantes (soma de subalternos = inteiro).
6) Lineage e auditoria de métricas
Upstream: fontes, regras DQ, versões.
Aplicar: SQL/DBT/nod DAG, verificar a compatibilidade dos circuitos.
Downstream: dashboards/modelos/relatórios, quem consome a métrica.
Auditoria, quem mudou a fórmula e quando, que tipo de incidente ou lançamento afetou.
7) Observabilidade de métricas (Metric Observabilidade)
Perfis de tempo: sazonalidade, efeitos de calendário, promoção.
Anomalias: STL/ESD/BOCPD; Alertas com sensibilidade por criticidade.
Cheque-gate, antes do lançamento, compara a fórmula antiga/nova em «dourado».
Monitoramento Draft: PSI/JS por segmento; marcadores de alteração de origem.
8) Economia de métricas e FinOps
Quotas/limites: max bytes scanned, tempo de execução, off-peak rebuild.
Chargeback: os comandos pagam «virtualmente» por relatórios pesados.
Cash/Materialização: Perfis TL e TTL.
Otimização: formatos invertebrados, ZSTD, triagem/clusterização, pré-regatas.
9) Gerenciamento de alterações (Mudança Mgmt)
Métricas RFC: alvo, risco, mudança prevista, plano de reversão.
A/B de fórmula: cálculo paralelo e comparação entre métricas v1 vs v2.
Comunicação: changelog no cartão, banner em dashboards relacionados.
Retrocesso: botão rápido para a materialização anterior.
10) Papéis
Metric Owner: sentido, fórmula, lançamentos, comunicações.
Data Engineer: confiabilidade do pypline, desempenho.
Analyst/Scientist: validade e interpretação causal.
FinOps: valor e quotas.
Compliance/Private: acessibilidade, camuflagem, relatórios.
11) Antipattern
SELECT na fórmula métrica.
Duas fórmulas oficiais da mesma métrica.
Redações manuais em dashbord em vez de alterações na Metric Store.
Sem a janela/base de comparação.
Lineage zero e ausência do dono.
Filtros ocultos (países/divisas diferentes) → números não comparáveis.
12) Mapa de trânsito de implementação
1. Inventory: lista top 50 métricas, proprietários, criteriosos, fórmulas atuais.
2. Metric Store MVP: cartões, SemVer, API, lineage, testes CI.
3. Observabilidade: freshness/latency/bytes scanned/anomalias, painéis SLO.
4. FinOps: limites, dinheiro, materialização, relatórios de custo.
5. Governance: RFC/degradação/retrocessos, política de deprecação.
6. Escala: métricas automáticas de métricas, integração com visualização AI/contexto.
13) Folha de cheque da métrica (antes da publicação)
- O cartão de métrica está cheio (definição, unidades, segmentos, janela).
- A fórmula é versionizada; testes de coerência/invariantes são verdes.
- Freshness/Latency SLO definidos e monitores.
- As fontes DQ são verdes; lineage é transparente.
- Valor da solicitação dentro dos limites; o dinheiro/materialização está configurado.
- Políticas de acesso (RLS/CLS) e camuflagem foram aplicadas.
- A comunicação sobre as alterações está preparada; Há um plano de reversão.
14) Mini-modelos
14. 1 Cartão de métrica (YAML)
yaml metric:
key: ggr version: 2. 3. 0 owner: "product-data@company"
definition: "Bet amount minus win amount"
unit: "currency"
aggregation: "sum"
window: ["day","wow","mom"]
dims_allowed: ["country","device_os","provider","game"]
lineage:
sources: ["fact_bets","fact_payouts"]
transforms: ["ggr_daily. sql"]
slo:
freshness_s: 600 latency_p95_ms: 1500 accuracy_mae_pct: <=0. 5 finops:
max_bytes_scanned_mb: 2048 cache_ttl_min: 60 access:
sensitivity: "internal"
rls: ["tenant","region"]
14. 2 Testes de fórmula (estilo dbt)
sql
-- invariant: GGR = bets - wins select count () as violations from (
select bets - payouts as ggr_calc, ggr from mart_daily
) t where abs(ggr_calc - ggr) > 1e-6;
14. 3 Política de alertas de métricas
yaml alerts:
- name: ggr_freshness when: freshness_s > 600 severity: high action: [page:oncall-data, degrade:use_last_materialization]
- name: ggr_stability when: variance_ratio_week > 2. 5 severity: medium action: [open:investigation, add:banner_on_dashboards]
14. 4 Comparação de versões de fórmula
sql select dt, country,
ggr_v1, ggr_v2,
(ggr_v2 - ggr_v1) as delta,
100(ggr_v2 - ggr_v1)/nullif(ggr_v1,0) as delta_pct from compare_ggr_v1_v2 order by dt desc, abs(delta_pct) desc limit 100;
14. 5 Relatório de métricas métricas para dashbord
yaml meta_dashboard:
tiles:
- metric: freshness_s target: <=600
- metric: latency_p95_ms target: <=1500
- metric: bytes_scanned_mb target: <=2048
- metric: anomaly_rate_7d target: <=0. 5%
- metric: adoption_rate target: >=80%
15) Resultado
A meta-analista torna as métricas instalações de engenharia confiáveis, com proprietários, versões, SLO, testes e custos. Quando os cartões de métricas, camada semântica, observabilidade e FinOps funcionam juntos, a organização recebe números comparáveis, verificáveis e econômicos, em vez de «verdades diferentes». São fundamentos para análises rápidas, soluções corretas e crescimento escalável.