Un panel que nadie mira no es neutro: es un pasivo
Casi todos los equipos con los que trabajo tienen un dashboard olvidado. Alguien lo montó con ilusión, conectó la base de datos, puso doce gráficas y lo enseñó en una reunión. Tres semanas después nadie lo abre.
El problema no fue la herramienta. Grafana, Metabase, Looker o cuatro consultas en un cuaderno dan igual. El problema es que el panel no respondía a ninguna pregunta que alguien tuviera de verdad.
Un dashboard que nadie mira no es un empate. Costó horas de construirlo, ocupa espacio mental y, cuando por fin alguien lo abre en una crisis, no se fía de él. Esto va de cómo construir los que sí se miran.
Empieza por la decisión, no por el dato
El error de fábrica es empezar por lo que se puede medir. Tienes eventos, tienes tablas, tienes una API de métricas, así que pintas todo lo que sale barato de pintar. El resultado es un muro de números sin jerarquía.
Dale la vuelta. Antes de tocar una consulta, escribe la frase: “cuando abra esto, quiero decidir si ___”. Si no puedes completarla, no necesitas un panel, necesitas una exploración puntual en un notebook.
Un buen filtro es preguntar por cada gráfica: si este número se dobla o se parte por la mitad, ¿alguien hace algo distinto mañana? Si la respuesta es no, esa gráfica es decoración. Fuera.
Los tres tipos de panel que sí se usan responden a decisiones concretas: el operativo (“¿está todo funcionando ahora?”), el de seguimiento (“¿vamos hacia el objetivo del trimestre?”) y el de diagnóstico (“¿por qué cayó esto?”). Mezclarlos en una sola pantalla es la vía rápida al abandono.
La regla de los cinco segundos
Un panel operativo tiene que contestar su pregunta en cinco segundos, sin scroll ni interpretación. Si hay que estudiarlo, ya llegas tarde.
Eso obliga a decisiones incómodas. Menos gráficas, no más. Una métrica principal grande y arriba, el resto como apoyo. Colores que signifiquen algo (rojo es “actúa”, no “es la serie 2”) y nada de paletas de arcoíris donde todo compite por tu atención.
La prueba honesta: enseña el panel a alguien que no lo construyó durante diez segundos y quítaselo. Pregúntale qué está pasando. Si no lo sabe, el panel ha fallado, no la persona.
Un número sin contexto no dice nada
“Ventas: 48.200 €” es un dato huérfano. ¿Es bueno? ¿Malo? ¿Normal para un viernes? Sin una referencia, el cerebro no puede convertirlo en decisión, así que lo ignora.
Todo número importante necesita al menos una de estas tres anclas: comparación temporal (frente a la semana pasada), objetivo (frente a la meta) o umbral (a partir de aquí, salta la alarma). Esa es la diferencia entre informar y ayudar a decidir.
| El panel que se abandona | El panel que se mira |
|---|---|
| Doce gráficas sin jerarquía | Una métrica principal y tres de apoyo |
| Números sueltos sin referencia | Cada número con su comparación o umbral |
| Responde a “todo” | Responde a una decisión concreta |
| Colores decorativos | Color = estado (rojo actúa, verde va bien) |
| Se actualiza cada 24 h y nadie lo sabe | Marca de tiempo visible: “hace 2 min” |
| Requiere que expliques cómo leerlo | Se entiende solo en diez segundos |
Carga la conclusión, no solo la serie
La mejor gráfica es la que ya trae el veredicto. En vez de dejar que quien mira calcule la variación de cabeza, dásela hecha y colorea el estado. El código no tiene que ser sofisticado; tiene que quitar trabajo mental.
Aquí un ejemplo mínimo en JavaScript que convierte un valor y su objetivo en una tarjeta con veredicto, lista para pintar en cualquier panel:
// Convierte un dato crudo en una tarjeta que "decide" por ti.
function tarjetaKPI({ etiqueta, valor, objetivo, unidad = "" }) {
const progreso = valor / objetivo; // 0.92 = 92 % del objetivo
const delta = (progreso - 1) * 100; // desviación en puntos %
// El estado es la conclusión: no obligues a interpretar el número.
let estado;
if (progreso >= 1) estado = "ok"; // objetivo cumplido
else if (progreso >= 0.9) estado = "atento"; // cerca, vigilar
else estado = "actuar"; // por debajo, actúa
const color = { ok: "#22c55e", atento: "#f59e0b", actuar: "#ef4444" }[estado];
const signo = delta >= 0 ? "+" : "";
return {
etiqueta,
// El valor se lee formateado, no como número crudo de base de datos.
valorTexto: `${valor.toLocaleString("es-ES")} ${unidad}`.trim(),
// El contexto va pegado al dato, no en una nota al pie.
contexto: `${signo}${delta.toFixed(0)} % vs objetivo`,
color,
estado,
};
}
tarjetaKPI({ etiqueta: "Ventas hoy", valor: 48200, objetivo: 52000, unidad: "€" });
// → { valorTexto: "48.200 €", contexto: "-7 % vs objetivo", color: "#ef4444", estado: "actuar" }
Fíjate en lo que hace y lo que no. No añade una librería de gráficas de 300 kB para pintar un número. Formatea el valor en español, pega el contexto al dato y traduce el estado a un color con significado. Es la diferencia entre “aquí tienes los datos” y “aquí tienes lo que deberías mirar”.
Muéstrale al panel que está vivo
Un detalle que separa los paneles fiables de los abandonados: la marca de tiempo. “Actualizado hace 2 minutos” da confianza; un dato sin fecha genera la duda de si estás mirando algo de la semana pasada, y esa duda mata el uso.
Si los datos llegan con retraso, dilo en el propio panel. “Datos hasta ayer 23:59” es honesto y útil. Fingir tiempo real cuando refrescas cada seis horas es la forma más rápida de que alguien tome una mala decisión y no vuelva a fiarse.
Para el próximo panel
Antes de conectar nada, escribe en una línea la decisión que el panel debe desbloquear. Si no sale, no lo construyas.
Empieza con una sola métrica bien hecha (valor, contexto y estado) y añade la segunda solo cuando alguien la eche de menos. Es mucho más fácil sumar que quitar, sobre todo cuando quitar significa discutir con quien pidió su gráfica favorita.
Y una vez al mes, mira las analíticas del propio panel. El que nadie abre no se arregla: se borra. Un dashboard menos, pero vivo, vale más que diez pantallas que solo sirven para la captura de la presentación.