Pilar 02 · Data Blog

Observabilidad de datos: detectar fallos antes que el stakeholder

Todos los lunes por la mañana, alguien en el equipo de analytics responde el mismo tipo de mensaje: "el número de contratos cerrados en el dashboard parece incorrecto." A veces es un bug de pipeline que corrió con fallo silencioso. A veces es un cambio de schema en el sistema fuente que no fue comunicado. A veces los datos llegaron con 18 horas de retraso — y el dashboard, fiel a su función, mostró lo que había. En todos los casos, quien descubrió el problema fue el usuario — no el equipo de datos.

La observabilidad de datos es la práctica de instrumentar pipelines para que estos problemas aparezcan en el radar antes de llegar al inbox. No se trata de tener datos perfectos — ya es consenso que el dato limpio es un mito y que convivir con calidad imperfecta es el trabajo real. Se trata de saber, en tiempo casi real, cuándo los datos se han desviado del comportamiento esperado.

Lo que la observabilidad de datos no es

La confusión más frecuente es tratar la observabilidad de datos como sinónimo de monitoreo de infraestructura. Un job que termina con éxito en Airflow o en dbt Cloud — sin error de ejecución, sin timeout, sin fallo de conectividad — puede haber producido datos completamente incorrectos. Columnas con 100% de nulos donde deberían tener valores. Una tabla con 40% menos registros que el promedio histórico. Un timestamp de updated_at de ayer en datos que deberían haber llegado esta mañana.

El monitoreo de infraestructura garantiza que la pipeline corrió. La observabilidad garantiza que el dato está correcto. Son capas diferentes — y la segunda es la que detecta los problemas que llegan al usuario. La distinción importa porque invertir solo en la primera crea una sensación de control que el incidente del miércoles desmiente.

La observabilidad tampoco es una validación puntual al entregar el proyecto. Un equipo que lanza una nueva pipeline, la valida en la primera semana y considera el trabajo terminado descubrirá, tres meses después, que la distribución de valores cambió, que el equipo de backend renombró un campo, que la frecuencia de actualización del sistema fuente fue alterada sin aviso. La observabilidad es un proceso permanente — no un evento de entrega.

Los cinco ejes de la observabilidad de datos

El modelo más extendido, popularizado por empresas como Monte Carlo, organiza la observabilidad en cinco dimensiones. Son ejes independientes, instrumentados en orden creciente de sofisticación:

  1. Frescura (Freshness). ¿Los datos llegaron cuando debían? Una tabla que normalmente se actualiza a las 6am y que a las 9am aún no ha cambiado tiene un problema de frescura. Es el eje más simple de instrumentar y el que detecta la mayor proporción de fallos de pipeline — estimaciones de equipos con instrumentación básica indican que el 50–60% de los incidentes son de latencia o ausencia de dato, no de dato incorrecto.

  2. Volumen. ¿La tabla tiene el número esperado de registros? Una caída del 40% en el volumen de pedidos puede ser una señal de que la pipeline está cortando datos silenciosamente — no una caída real en las ventas. Esta desviación rara vez aparece en los logs de ejecución: el job terminó, la tabla existe, pero está incompleta.

  3. Distribución. ¿Los valores están dentro del rango esperado? Porcentaje de nulos por encima del promedio histórico, una columna categórica con nuevos valores no mapeados, un campo numérico con un outlier absurdo — las desviaciones de distribución son las más lentas en aparecer en producción porque la pipeline funciona normalmente; solo el contenido es incorrecto.

  4. Esquema (Schema). ¿Se agregaron, eliminaron o renombraron columnas en el sistema fuente? Esta es la categoría que más frecuentemente causa fallos silenciosos en pipelines ELT: la fuente cambia, la pipeline sigue corriendo, y la tabla de destino se convierte en dato parcial o mal interpretado. Sin verificación de esquema, un renombrado de columna pasa invisible hasta que alguien abre el reporte.

  5. Linaje (Lineage). Dado un fallo, ¿qué tablas downstream fueron impactadas? ¿Qué dashboards están consumiendo datos comprometidos? Sin linaje, el problema se descubre por contagio — primero un dashboard, luego otro, luego una exportación de CRM. El linaje transforma "sé que algo está mal" en "sé qué está mal y qué está en riesgo."

La observabilidad de datos no es encontrar el dato incorrecto — es saber que puede estar incorrecto antes de que alguien lo use.

Dónde la mayoría de los equipos empieza mal

El error más frecuente es comprar o instalar una herramienta de observabilidad sin antes documentar el comportamiento esperado de los datos. Una herramienta que no sabe qué es "normal" no tiene baseline para alertar. Generará silencio total o una cascada de falsos positivos — y ninguno es útil operacionalmente. Un equipo que recibe 50 alertas por día aprende a ignorarlas todas.

El segundo error es confundir alerta con resolución. La observabilidad detecta; el proceso de resolución debe diseñarse por separado. ¿Quién recibe la alerta? ¿Quién tiene autoridad para pausar los dashboards dependientes mientras investiga? ¿Cómo se comunica el estado del incidente al stakeholder? Sin este flujo, la alerta se convierte en una notificación ignorada en la primera semana de silencio.

El tercer error es intentar instrumentar los cinco ejes a la vez, en todos los modelos. Los equipos que intentan cobertura total desde el inicio generalmente se bloquean en el primer mes. El enfoque que funciona es secuencial: frescura y volumen primero — rápido, alto impacto —, luego distribución, luego esquema, luego linaje. Cada eje solo cuando el anterior está estable y monitoreado.

Cómo instrumentar sin reescribir la pipeline

La secuencia que una consultoría especializada aplica en la práctica, de lo más simple a lo más sofisticado:

  1. Tests nativos de dbt. Si ya usa dbt, ya tiene el 80% del camino — not_null, unique, accepted_values, relationships. El problema es que los equipos los instalan y no los expanden más allá de los tests estándar. La clave en dbt está en la documentación y los tests personalizados — y los tests personalizados son donde vive la observabilidad de negocio, no solo la técnica.

  2. Freshness check por SQL. Una query simple por tabla crítica: MAX(updated_at) < CURRENT_TIMESTAMP - INTERVAL '3 hours' detecta el 60% de los problemas de pipeline sin ninguna herramienta adicional. Corre como paso de la misma pipeline o como job separado de verificación periódica.

  3. Baseline de volumen por ventana histórica. Calcule la mediana de registros por día en los últimos 30 días para cada tabla crítica. Alerte si el volumen de hoy cae por debajo del 70% de ese histórico. Costo: una tabla de metadatos y un job de 10 líneas de SQL. Detecta particiones cortadas, joins incorrectos, filtros accidentales.

  4. Data contracts como capa de protección de esquema. Definir un contrato explícito entre productor y consumidor de datos crea el baseline formal para cualquier alerta de esquema. Sin contrato, no hay desviación — solo sorpresa. Los data contracts son la forma menos dolorosa de no romper producción y son el complemento natural de la observabilidad: los contratos previenen los cambios no comunicados; la observabilidad detecta cuando se cuelan de todas formas.

  5. Herramientas especializadas cuando la escala lo justifica. Monte Carlo, Soda, Acceldata, Anomalo entran cuando la operación tiene decenas de pipelines y equipos distribuidos. Para equipos más pequeños, dbt con tests personalizados y checks en SQL cubren lo necesario sin licencia adicional. La herramienta solo aporta valor real si el baseline de comportamiento esperado ya está documentado.

La pregunta antes de cualquier herramienta

Antes de evaluar cualquier stack de observabilidad, la pregunta básica es: ¿ha documentado el comportamiento esperado de sus datos? Volumen típico por tabla, frecuencia de actualización, campos obligatorios, relaciones entre entidades, valores válidos por columna. Sin este baseline, cualquier herramienta monitorea a oscuras.

La paradoja práctica: el ejercicio de documentar el comportamiento esperado ya revela, por sí solo, gran parte de los problemas de calidad. Los equipos que realizan este levantamiento raramente necesitan comprar una herramienta en un primer momento — descubren los problemas más graves durante la documentación y los resuelven sin instrumentación automática. La herramienta llega después, cuando el volumen de datos y pipelines hace inviable la verificación manual.

La mayoría de los problemas críticos de calidad de datos que llegan a los usuarios son detectables con tres checks simples: frescura, volumen y nulos en campos requeridos. El stack avanzado importa cuando lo básico está resuelto y necesita cobertura estadística sobre distribución y linaje completo. Comience por lo que detecta más fallos con menos instrumentación; el resto llega naturalmente a medida que crece la madurez.

La señal de que la observabilidad está funcionando no es cero incidentes — es que el equipo detecta antes que el usuario. Cuando la proporción de "detectamos primero" supera "el usuario lo encontró por el dashboard," la capa está entregando valor. Esa métrica simple es el indicador más honesto de madurez de datos en cualquier operación.

Continuar la conversación

¿Quieres discutir este tema con un socio?

Diagnóstico inicial sin compromiso. Hacemos una primera lectura de tu escenario en una semana y devolvemos un informe.

Hablar con un socio