Meta analítica y métricas métricas
1) ¿Qué es meta-analítica?
La meta-analítica es el control de la medición en sí: fórmulas, fuentes, frescura, estabilidad y costo de obtener métricas. El objetivo es que cada métrica sea una unidad de conocimiento verificable: reproducible, oportuna, comparable entre equipos y económica.
2) Esqueleto métrico (Metric Entity Model)
Cada métrica se describe con una tarjeta:- ID: 'metric _ key', propietario (Product/Data Owner), criticidad (Gold/Silver/Bronze).
- Significado: definición, unidades, agregación, ventanas (day/wow/nat/rolling).
- Fórmula y capa: SQL/DSL, capa semántica (dimensiones, filtros), segmentos válidos.
- Fuentes y lineage: tablas, versiones, dependencias (fichas/vitrinas/modelos).
- SLO метрики: latency p95, freshness, coverage, accuracy, stability.
- Señales de confianza: últimas comprobaciones, estado DQ, pruebas de fórmula CI.
- Economía: bytes scanned, costo-per-chart (CPC), costo-per-insight (CPI).
- Control de acceso: RLS/CLS, sensibilidad.
- Versificación: fórmula semver ('gr @ 2. 3. 0 '), registro de cambios.
3) «Métricas métricas»: qué medir
Calidad y confianza
Accuracy: discrepancia con referencia/contabilidad (MAE/APE).
Consistencia: coincidencia entre fuentes/dashboards (fórmula canónica).
Freshness: edad de los datos vs SLO (sec/min).
Completeness: porcentaje de segmentos/fechas completados.
Estabilidad: varianza/volatilidad en condiciones invariables (Levene/variance ratio).
Explainability: la presencia de fórmulas/referencias/CI/rangos en la tarjeta.
Rendimiento y costo
Latency p95/p99 cálculo/renderizado.
Bytes scanned/consulta.
CPC/CPI: costo de gráficos/información privilegiada.
Cache hit-rate y materialización.
Riesgo y uso
Adoption: proporción de dashboards/soluciones que utilizan métricas.
Tasa de descanso: frecuencia de caídas de pruebas/roturas de frescura.
Drift score: desplazamiento de las distribuciones después de los cambios de fórmula/origen.
Carga de soporte: casos/incidentes por métrica.
4) Capa semántica y «Metric Store»
Gramática única: medidas, medidas, filtros, reglas de agregación y compatibilidad.
API/Directorio de métricas: búsqueda, tarjetas, versionamiento, grafo de enlace.
Cálculos intermedios: materializaciones (daily/weekly), pinzas canónicas.
Política de publicación: sólo de Metric Store a prod-dashboards/AI-visualización.
5) Versificación e interoperabilidad
SemVer para métricas: 'MAJOR' - rompiendo el cambio de significado/agregaciones; 'MINOR' - nuevo corte/atributo; 'PATCH' - optimizar sin cambiar el valor.
Deprecation flow: advertencia, modo paralelo v1/v2, fecha de apagado, hyde de migración.
Pruebas contractuales: igualdad/inequalidad, invariantes (suma de subsegentos = entero).
6) Métricas de línea y auditoría
Upstream: fuentes, reglas DQ, versiones.
Transformación: SQL/DBT/nodo DAG, comprobación de compatibilidad de circuitos.
Downstream: dashboards/modelos/informes que consumen métricas.
Auditoría: quién cambió la fórmula y cuándo, qué incidente o liberación afectó.
7) Observabilidad métrica (Observación métrica)
Perfiles de tiempo: estacionalidad, efectos de calendario, promo.
Anomalías: STL/ESD/BOCPD; alertas con sensibilidad por criticidad.
Check-gates: antes de su lanzamiento, una comparación de la fórmula antigua/nueva en un corte «dorado».
Drift-monitoreo: PSI/JS por segmentos; controladores de cambio de origen.
8) Economía métrica y FinOps
Cuotas/límites: max bytes scanned, tiempo de ejecución, off-peak rebuild.
Chargeback: los equipos pagan «virtualmente» por informes pesados.
Caché/materializaciones: perfiles de archivos y TTL.
Optimización: formatos de columna, ZSTD, clasificación/agrupamiento, preagrupaciones.
9) Gestión de cambios (Change Mgmt)
métricas RFC: objetivo, riesgo, cambio esperado, plan de retroceso.
Fórmulas A/B: cálculo paralelo y comparación de métricas v1 vs v2.
Comunicación: changelog en la tarjeta, pancarta en los dashboards enlazados.
Retroceso: interruptor rápido a la materialización anterior.
10) Roles
Metric Owner: significado, fórmula, lanzamientos, comunicaciones.
Data Engineer: fiabilidad de la pipeline, rendimiento.
Analyst/Scientist: validez e interpretación causal.
FinOps: costo y cuotas.
Compliance/Privacy: accesos, enmascaramiento, reporting.
11) Antipattern
SELECT en la fórmula métrica.
Dos fórmulas «oficiales» de la misma métrica.
Correcciones manuales en dashboard en lugar de cambiar en Metric Store.
Sin especificar una ventana/base de comparación.
Cero lineaje y falta de dueño.
Filtros ocultos (diferentes países/monedas) → números incomparables.
12) Hoja de ruta para la implementación
1. Inventario: lista de las 50 mejores métricas, propietarios, criticidad, fórmulas actuales.
2. MVP Metric Store: tarjetas, SemVer, API, lineage, pruebas de CI.
3. Observabilidad: freshness/latency/bytes scanned/anomalías, paneles SLO.
4. FinOps: límites, caché, materializaciones, informes de valor.
5. Gobierno: RFC/degradación/retroceso, política de despreocupación.
6. Escala: «métricas de métricas» automáticas, integración con visualización/contexto AI.
13) Lista de verificación de métricas (antes de la publicación)
- La tarjeta métrica está llena (definición, unidades, segmentos, ventana).
- Fórmula versionada; pruebas verdes de la consistencia/de los invariantes.
- Freshness/Latency SLO son configurados y monitorizados.
- Fuentes DQ verdes; lineage es transparente.
- El costo de la solicitud dentro de los límites; caché/materialización configurada.
- Se han aplicado directivas de acceso (RLS/CLS) y enmascaramiento.
- Se ha preparado una comunicación sobre los cambios; hay un plan de retroceso.
14) Mini plantillas
14. 1 Tarjeta 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 Pruebas 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íticas de alertas 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 Comparación de versiones 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 Informe de «métricas métricas» para dashboard
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
La meta-analítica hace que las métricas sean objetos de ingeniería confiables: tienen propietarios, versiones, SLO, pruebas y costo. Cuando las tarjetas métricas, la capa semántica, la observabilidad y las FinOps trabajan juntas, la organización obtiene cifras comparables, verificables y económicas, en lugar de «diferentes verdades». Esta es la base para un análisis rápido, soluciones correctas y crecimiento escalable.