Investigación, Diseño de Señales y Sistemas de Decisión

Tengo un sistema de decisión basado en 5 a 10 señales (ventas, CX, inventario) y cada vez que un dato llega tarde o cambia definición se rompe. ¿Cómo lo opero y

Lucía Ferrer
Lucía Ferrer
10 min de lectura·

Respuesta

Tu sistema no se rompe por falta de dashboards, se rompe por falta de un contrato operativo para cada señal. La solución es tratar esas 5 a 10 señales como productos con dueño, definición estable y niveles de servicio medibles. Luego pones guardrails automáticos, alertas accionables y un protocolo de incidentes para cuando inevitablemente algo falle. Con eso pasas de apagar incendios a gestionar riesgo de decisión.

  1. Enmarcar el problema: señales críticas y contrato del sistema de decisión

Lo que te está pasando es el patrón clásico de un sistema de decisión sin contrato. Las señales llegan tarde, cambian de definición o no cuadran entre sí, y el equipo termina discutiendo si el número es real en vez de decidir. En la práctica, no estás operando datos, estás operando confianza.

El primer paso es explicitar el contrato del sistema de decisión con tres cosas muy concretas. Uno, cuáles son las 5 a 10 señales realmente críticas y quién las consume para decidir. Dos, cuál es la ventana de decisión, por ejemplo cada hora para pricing, diario para reposición, semanal para planeación. Tres, cuál es el costo de equivocarse o de decidir tarde, porque eso define tolerancias de frescura y calidad. Este encuadre importa porque, como señalan análisis sobre la brecha entre dato y decisión, los desfases y definiciones inestables terminan costando margen y generan decisiones defensivas. Y cuando una señal compite con otra, como ocurre al reconciliar conversaciones, eventos y ventas, la confusión se vuelve parte de la operación.

Tip práctico 1: clasifica tus señales en P0, P1 y P2 según impacto y radio de daño. P0 es lo que cambia dinero o experiencia hoy mismo. P2 es lo que sirve para análisis pero no debería frenar la operación. Si todo es P0, nada lo es.

Una analogía con cariño: operar señales sin contrato es como conducir con el parabrisas empañado y discutir si el semáforo era verde o “verde con matiz”. Se puede, pero no debería.

  1. Ownership: dueños por señal y RACI operativo

El control más subestimado es el ownership por señal. Cada señal necesita un único accountable, una persona o rol que responde por definición, disponibilidad y cambios. No significa que esa persona construya todo, significa que coordina y decide.

Un RACI operativo típico funciona bien con estos roles. Data Product Owner para priorizar y representar al negocio. Data Steward para semántica y definiciones. Data Engineer para pipelines y automatización. Source Owner para el sistema origen, por ejemplo POS, CRM, WMS. On call o soporte de datos para incidentes.

Define el RACI para actividades que hoy te rompen. Cambios de definición. Cambios de esquema. Backfills y recalcular históricos. Activación de modo degradado. Comunicación a consumidores. Accesos y documentación. La regla de oro es simple: por cada señal hay un A único, un canal único de soporte y un horario claro de cobertura.

Tip práctico 2: crea una ficha de señal de una página con el A, el canal de soporte y la decisión que habilita. Cuando haya tensión, esa ficha evita reuniones eternas.

  1. Definiciones estables: data contract + diccionario + compatibilidad

La mayoría de “incidentes” no son caídas técnicas, son cambios semánticos disfrazados. Por eso necesitas un data contract por señal, no como documento bonito, sino como acuerdo ejecutable y versionado.

El contrato mínimo por señal incluye propósito de negocio, definición en lenguaje humano, fórmula exacta, granularidad, dimensiones permitidas, unidades y moneda, zona horaria, campos requeridos y opcionales, claves, reglas de nulls, deduplicación, ventana temporal y ejemplos. Agrega también qué se considera fuente de verdad cuando haya discrepancia.

Luego viene el diccionario de datos. No para describir todo tu warehouse, sino para fijar términos conflictivos, como venta neta versus venta bruta, ticket versus orden, conversación versus contacto, stock disponible versus stock en tránsito. En reconciliaciones de señales rotas se ve una y otra vez que lo más caro no es que falte un dato, es que dos equipos midan “lo mismo” distinto y ambos tengan razón en su propio contexto.

Compatibilidad es el tercer pilar. Cualquier cambio que rompa a consumidores debe ir con versionado, por ejemplo v1 y v2, con deprecación y fecha de corte. Si cambias definición sin migración, no es agilidad, es entropía.

Error común: “Arreglarlo” cambiando la definición en el modelo y listo, sin avisar, sin versión y sin recalcular histórico. En su lugar, publica v2, corre en paralelo un tiempo, compara resultados, comunica el impacto y define un plan de migración con fecha de retirada de v1.

  1. SLIs, SLOs, SLAs de frescura, disponibilidad y calidad

Una vez que el contrato existe, puedes medirlo. Aquí conviene pensar como operación: SLIs son indicadores, SLOs son objetivos, SLAs son acuerdos con consecuencias.

Para señales de decisión, los SLIs más útiles suelen ser frescura, disponibilidad y calidad.

Frescura: cuánto se retrasa el dato respecto a un watermark. Por ejemplo, ventas por hora con watermark de ingestión y de publicación.

Disponibilidad: si el dataset o métrica está accesible en el momento de decisión.

Calidad: completitud, validez y consistencia. Completitud puede ser porcentaje de registros esperados. Validez puede ser porcentaje dentro de reglas, como moneda válida o cantidad positiva. Consistencia puede ser reconciliación contra totales del origen.

Con eso defines SLOs por criticidad. P0 con objetivos estrictos, P1 moderados, P2 más flexibles. Y defines un SLA interno que no sea un PDF olvidado, sino una política: qué se hace si se viola el SLO. Ejemplo: congelar cambios esa semana, escalar al dueño del origen, o activar modo degradado. En artículos sobre datos tardíos se enfatiza que el problema no es solo el retraso, es que el retraso no se vuelve una decisión explícita, y ahí se cuela el riesgo.

  1. Checks automáticos mínimos (guardrails) para 5 a 10 señales

Con pocas señales puedes ser muy efectivo con pocos checks, si los eliges bien. No necesitas cien pruebas, necesitas las ocho que realmente detectan fallos típicos.

Prioriza guardrails que capturan el 80 por ciento de los incidentes.

  1. Frescura por watermark: alerta si el watermark no avanza.

  2. Volumen versus baseline: si hoy cae 40 por ciento o sube 200 por ciento, algo pasó.

  3. Duplicados en claves: órdenes repetidas, eventos duplicados, tickets reabiertos mal contados.

  4. Nulls en campos críticos: fechas, ids, cantidades, tienda, país.

  5. Rangos y outliers: importes negativos, cantidades imposibles, tiempos de atención absurdos.

  6. Integridad referencial: ventas con sku inexistente, inventario sin tienda válida.

  7. Drift de categorías: un canal nuevo que nadie mapea y termina en “otros”.

  8. Reconciliación con totales del origen: comparas totales diarios contra el sistema transaccional para detectar pérdidas en ETL.

Para cada check define severidad, ventana, umbral y acción recomendada. La clave es que cada check apunte a una causa probable y a un dueño probable. Si no, generas alarmas decorativas.

  1. Umbrales y alerting accionable (sin fatiga)

A continuación verás una tabla con opciones operativas para diseñar alertas sin fatiga, con trade offs claros entre simplicidad, precisión y costo de operación.

Reglas Anti Ruido (Deduplicación, Cool down): útil cuando la misma alerta se repite y erosiona confianza.

Routing por Ownership y Canal: útil cuando cada señal tiene dueños distintos y necesitas llegar al equipo correcto sin intermediarios.

Umbral Estático (Ej: lag mayor a 2h): útil cuando el patrón es estable y quieres velocidad.

Umbral Dinámico (Baseline o Estacional): útil cuando el volumen cambia por hora o día y no quieres falsos positivos.

Severidad SEV0 (Crítico): útil para reservar el “rompan el vidrio” solo a lo que afecta ingresos o operación principal.

Para que el alerting sea accionable, aplica tres reglas simples.

Primera, alerta solo si hay consumidor afectado. Una anomalía en P2 no debe sonar como incendio.

Segunda, agrupa por causa raíz. Si se cae el origen, no quieres diez alertas por diez tablas, quieres una alerta del origen con impacto listado.

Tercera, define cool down y deduplicación. Es mejor una alerta buena que veinte gritos. Las alertas deberían comportarse como un buen colega, no como una alarma de coche en la calle.

  1. Protocolo de incidentes: triage, comunicación y postmortem

Si tus señales importan, tendrás incidentes. Lo importante es que el incidente no te sorprenda y no se convierta en caos.

El runbook mínimo tiene etapas claras.

Detección: por alerta o por usuario.

Clasificación: SEV0 a SEV2 según impacto en decisiones. Define criterios por escrito.

Diagnóstico rápido: ¿es origen, pipeline o semántica? Esta pregunta reduce el espacio de búsqueda.

Mitigación: activa fallback, pausa decisiones, o recalcula parcial.

Comunicación: un mensaje corto con impacto, señales afectadas, ETA y próxima actualización. Idealmente en un canal único, tipo status interno.

Resolución y verificación: no cierres hasta que el watermark avance y los checks pasen.

Postmortem sin culpas: causa raíz, qué lo detectó, por qué no se detectó antes, acciones con owner y fecha.

La comunicación importa más de lo que parece. Cuando el negocio no sabe si confiar, toma decisiones más conservadoras, y ese costo se acumula.

  1. Modos degradados: qué hacer cuando los datos fallan

Esto es lo que separa una operación madura de una frágil. No se trata de evitar fallas, se trata de decidir bien cuando fallan.

Define por señal una política de modo degradado.

Stop the line: bloqueas decisiones automatizadas, por ejemplo pricing o reposición, porque el riesgo supera el beneficio.

Last known good: usas el último dato válido por un tiempo acotado, por ejemplo dos horas.

Imputación conservadora: estimas con sesgo seguro, por ejemplo inventario a la baja para evitar sobreventa.

Proxy alterno: usas una señal sustituta temporal, como eventos de checkout en lugar de ventas conciliadas.

Regla manual: vuelves a una regla simple aprobada por negocio.

La clave es que el sistema marque outputs con banderas de calidad. No quieres que un dato en modo degradado parezca igual a un dato sano, porque luego nadie aprende y el riesgo se vuelve invisible.

  1. Gestión de cambios: release, pruebas y migraciones

El segundo gran origen de roturas es el cambio sin proceso. Necesitas un camino de release para señales, aunque sea liviano.

Un flujo práctico es: propuesta breve, análisis de impacto en consumidores, pruebas mínimas, despliegue con canary o corrida en paralelo, ventana de migración, deprecación.

Pruebas mínimas no significa pruebas extensas. Significa dos o tres asserts que protegen lo esencial: la definición no cambió sin querer, el conteo no se desplomó, el esquema no se rompió. Si cambias definiciones que afectan históricos, planifica backfills y compara v1 y v2 por un periodo para evitar sorpresas.

Aquí conviene aplicar una disciplina sencilla: cada cambio de definición que afecte decisiones es un cambio de producto, no un cambio de ingeniería. Debe tener release notes internas y fecha de corte.

  1. Observabilidad de punta a punta y linaje para acotar el blast radius

Cuando algo falla, la pregunta ejecutiva es “qué decisiones están afectadas”. Para responder rápido necesitas observabilidad de punta a punta y linaje.

Observabilidad de punta a punta significa que por cada señal ves ejecución del pipeline, duración, filas procesadas, errores, watermarks por etapa y estado del SLO. Linaje significa poder trazar desde el sistema origen, pasando por transformaciones, hasta la métrica final y sus consumidores.

Con eso acotas el blast radius en minutos. Si el CRM falla, sabes qué señales de CX se degradan, qué tableros quedan desactualizados y qué automatizaciones deben pausarse. Sin linaje, se siente como jugar a Jenga en la oscuridad.

Dos recomendaciones finales para empezar sin sobrecomplicar. Primero, elige solo dos señales P0 y llévalas a excelencia operativa con contrato, SLO y guardrails, antes de escalar al resto. Segundo, institucionaliza la pregunta “qué decisión cambia si este dato está tarde o incorrecto”, porque esa es la brújula para priorizar alertas, checks y esfuerzo.

Si haces esto bien, tu sistema deja de ser un conjunto de números y se convierte en un activo confiable que soporta decisiones incluso en días imperfectos.

Opción Mejor para Qué ganas Qué arriesgas Elige si
Reglas Anti-Ruido (Deduplicación, Cool-down) Reducir fatiga de alertas Alertas accionables, equipo enfocado Retraso en notificación de problemas recurrentes Recibes muchas alertas repetidas o poco relevantes
Routing por Ownership y Canal Alertas al equipo correcto Resolución rápida, responsabilidad clara Configuración compleja con muchos equipos/canales Múltiples equipos son dueños de diferentes fuentes de datos
Umbral Estático (Ej: lag > 2h) Fallos obvios, datos estables Configuración simple, detección rápida Falsos positivos/negativos por cambios de patrón El comportamiento del dato es constante y predecible
Umbral Dinámico (Baseline/Estacional) Anomalías en datos variables Mayor precisión, menos ruido Configuración y mantenimiento complejos El volumen o patrón de datos varía por hora / día / semana
Severidad SEV0 (Crítico) Impacto directo en ingresos o UX Atención inmediata, resolución prioritaria Desgaste del equipo por abuso El incidente afecta la operación principal del negocio
Alertar solo si hay consumidor afectado Priorizar problemas con impacto real Enfoque en lo crítico, menos alertas Ignorar problemas latentes sin impacto actual Tienes muchos datasets y priorizas por impacto de negocio

Fuentes


Última actualización: 2026-08-30 | Calypso

Etiquetas

operacin-data