Datos · Microsoft Fabric

Cómo se monta de verdad una arquitectura Medallion, y por qué la parte aburrida —los controles de validación— es la única que hace que alguien se fíe del resultado.

Hay una escena que se repite en todas las empresas, y seguro que te suena. Reunión de cierre de mes. Alguien de operaciones dice que la ocupación fue del 71 %. Alguien de finanzas dice que fue del 68 %. Los dos han sacado el número de un Excel. Los dos se lo creen. Y no hay nadie en la sala que pueda decir cuál de los dos tiene razón, porque nadie ha escrito en ningún sitio qué significa exactamente «ocupación».

Ese es el problema de verdad. No es que falte una herramienta: es que falta una definición. Y una herramienta nueva sin definiciones lo único que consigue es que ahora haya tres cifras en vez de dos, y una de ellas en un panel muy bonito.

Lo que viene a continuación es el recorrido completo de cómo se monta una plataforma de datos que sí puede arbitrar esa discusión. Hay bastante de fontanería y bastante de papeleo, y la parte que más me interesa contarte es la última: los controles. Que suena a burocracia y es exactamente lo contrario.

Todo empieza en una reunión, no en una herramienta

El primer día no se abre nada. Se habla.

Hay una sesión larga con las personas que luego van a mirar los informes: dirección, operaciones, finanzas, sistemas, recursos humanos, protección de datos. Y de ahí sale un acta. No un acta de esas de «se comentaron varios temas», sino una con decisiones numeradas y con nombre: quién dijo qué, qué se acordó, y qué quedó abierto.

Esa acta se reparte, se da un plazo para alegaciones, y pasado el plazo se vuelve vinculante. Suena notarial y lo es a propósito. La diferencia entre un acuerdo y un recuerdo es que el acuerdo está escrito y tiene fecha.

Luego el acta se convierte en un pliego. Si el acta es lo que se dijo, el pliego es lo que se firma: requisitos numerados, reglas de negocio con su fórmula, criterios de aceptación. Es el documento contra el que uno puede decir, meses después, «esto no está acordado». Sin él, cada ambigüedad se resuelve dentro de la cabeza de quien está escribiendo el código, en silencio, y nadie se entera hasta que es tarde.

Y a partir del pliego se abre todo lo demás. El catálogo de indicadores, que fija cómo se calcula cada cifra. El modelo de datos, que dice qué tablas hacen falta para poder calcularla. El diseño de los informes. El catálogo de datos de origen. Y una matriz que cruza todo con todo para comprobar que no se ha prometido nada que luego no se pueda cumplir.

La sesión lo que se dijo El acta lo que se acordó El pliego lo que se firma Catálogo de KPIs Arquitectura Modelo de datos Datos de origen Diseño de informes Plan de generación cómo se calcula cada cifra dónde vive la plataforma qué tablas hacen falta qué llega y de dónde qué verá cada persona cómo se puebla Trazabilidad Auditoría todo cruzado con todo y verificado por script El documento canónico cada cosa tiene un identificador, y es siempre el mismo
El linaje. La columna oscura es el tronco: cada documento es la entrada obligatoria del siguiente. Lo dorado no aporta contenido nuevo, comprueba. Y abajo, el documento canónico, que no deriva de nadie: se escribe en paralelo y le presta los identificadores a todos los demás, para que «KPI-004» signifique lo mismo en los nueve.

Puede parecer mucho papel para no haber cargado todavía ni una fila. Lo es. Y es la parte que más veces se salta y más cara sale, porque todo lo que no se decide aquí se decide después, más tarde, peor y por alguien que no tenía por qué decidirlo.

Tres capas, o la cocina de tu casa

Con los documentos en la mano ya se puede montar la plataforma. Y aquí aparece la palabra que da título al post: Medallion. Que suena a certificación de calidad europea y en realidad solo quiere decir que el dato pasa por tres capas con nombres de metal: bronce, plata y oro.

La forma más fácil de entenderlo es la cocina.

Bronze es la compra tal y como entra por la puerta. Las bolsas en la encimera, el pescado con su envoltorio, la lechuga un poco mustia. No se toca nada. Se guarda exactamente como vino.

Silver es lavar, pelar y trocear. Aquí sí se trabaja: se tira lo que no vale, se quitan los huesos, se pasa todo a la misma unidad. Lo que entró en tres formatos distintos sale en uno solo y comparable.

Gold es el plato montado. Ya no es comida: es una cena. Está dispuesto para que alguien se siente y lo consuma sin preguntar de dónde salió cada cosa.

BRONZESILVERGOLD No transformaNo modelaNo limpia La compra, tal comoentró por la puerta. Las anomalías seconservan a propósito. Lavar, pelar ytrocear. Aquí se aplican lasreglas acordadas. El plato montado,listo para servir. Si Gold limpia algo,Silver falló.
Cada capa se define por lo que tiene prohibido. No por lo que hace. En cuanto una se pone a hacer el trabajo de otra, dejas de saber en qué punto se transformó el dato — y el día que una cifra no cuadre, te toca mirarlo todo.

Lo interesante de las tres capas no es lo que hace cada una, sino lo que tienen prohibido. Y la prohibición más rara es la de Bronze: ahí las cosas raras del origen se conservan a propósito.

Volviendo a la cocina: si la lechuga viene mustia, no la tiras en el supermercado. La guardas, la enseñas, y entonces puedes ir a reclamar. Si la tiras allí mismo, has perdido la prueba de que venía así, y la próxima semana te la vuelven a vender.

Y ahora la parte que de verdad importa

Hasta aquí todo es más o menos lo que te esperabas. Llega el momento de hablar de los controles, que es donde yo creo que se juega la credibilidad de una plataforma de datos.

Empiezo por aclarar qué es un control, porque casi siempre se confunde con otra cosa.

Que el lavavajillas haya terminado no significa que los platos estén limpios.

Eso es todo. Un proceso de carga que termina sin dar error te está diciendo una cosa muy pequeña: que no hubo ninguna excepción. No te dice que los datos estén bien. No te dice siquiera que haya datos. En mi experiencia, los peores fallos de una plataforma de datos no dan error: simplemente dejan el resultado mal y el semáforo en verde.

Un control es lo contrario. Es una comprobación que mira el resultado y lo compara con algo. Y tiene siempre la misma forma: un identificador estable, una descripción en castellano, a qué requisito corresponde, qué severidad tiene, la cifra que salió, la cifra que tenía que salir, y el detalle de qué filas fallan si fallan.

Esos dos campos del medio son los importantes. Un control que dice «han salido 1.420 filas» no sirve de nada: nadie sabe si eso está bien. Un control que dice «han salido 1.420 y tenían que salir 1.420» se defiende solo, y además se puede comparar con el de ayer.

De dónde salen los controles

Esta es la pregunta que casi nadie hace, y la respuesta ordena el resto.

Los controles no salen de la imaginación de quien escribe el código. Salen del pliego. Cada regla de negocio que se acordó en aquella reunión larga del principio genera uno o varios controles, y cada control lleva apuntado a qué regla corresponde.

Eso permite hacer una pregunta muy incómoda y muy útil: no «¿qué más se me ocurre comprobar?», que no tiene fin y acaba en una batería inflada de comprobaciones decorativas, sino «¿qué regla acordada no tiene a nadie que la vigile?». Esa pregunta sí tiene respuesta exacta, se puede cerrar, y se mide: reglas con control frente a reglas totales.

Se acuerda Se escribe Se vigila una regla de negocio el código que la aplica un control que la mide y la cobertura se mide al revés ¿Qué regla acordada no tiene ningún control que la vigile? Esa pregunta tiene respuesta exacta. «¿Qué más puedo comprobar?» no tiene ninguna.
El inventario de controles se revisa contra el inventario de reglas, no contra sí mismo. Si lo haces al derecho, siempre puedes añadir un control más. Si lo haces al revés, sabes cuándo has terminado.

Las cuatro preguntas

Los controles se agrupan en cuatro familias, y lo bonito es que son las mismas cuatro en cada capa. No hace falta inventarse una clasificación distinta para cada sitio:

  • ¿Está? Existen todas las tablas que el diseño prometía, tienen filas y traen las columnas esperadas. Si esta falla, el resultado de las otras tres es ruido.
  • ¿Encaja? Ninguna clave se repite donde debería ser única, y toda referencia encuentra su destino. Suena técnico y tiene una consecuencia muy visible, que te cuento en un momento.
  • ¿Cumple? Cada regla de negocio acordada, comprobada sobre el dato que quedó escrito. Y lo que no la cumple, apartado y contado.
  • ¿Cuadra? Los indicadores se calculan con su fórmula y dan la cifra que tienen que dar.

Lo de «¿encaja?» merece un párrafo propio, porque es el que más credibilidad cuesta cuando falla. Cuando una referencia no encuentra su destino —una venta que apunta a un hotel que no existe en la tabla de hoteles—, el motor analítico no da error: manda esos importes a una fila en blanco. Y esa es, literalmente, la forma más habitual de que la suma de las partes no dé el total delante de un director financiero, con todo el mundo mirando y nadie capaz de explicar por qué.

Contra qué se compara

Y llegamos a lo que para mí es la pregunta más interesante de todas. Un control compara una cifra observada con una esperada. Pero ¿de dónde sale la esperada?

Hay exactamente cuatro sitios. Y conviene saber cuál estás usando, porque detectan cosas distintas y cuestan muy distinto.

EL PROPIO DATO LA ESPECIFICACIÓN LA CAPA ANTERIOR EL SISTEMA ORIGEN Una clave no se repite; una referencia encuentra su destino. El diseño decía 37 tablas. Se cuentan y se comparan. El total que salía de Silver tiene que salir igual de Gold. El ingreso del modelo contra el del sistema contable. No detecta un dato completo pero equivocado. Depende de que la especificación esté al día. Detecta la fila que se perdió o se duplicó por el camino. El único que convence al negocio. Y el más caro. de la más barata y objetiva, a la más cara y convincente
Las cuatro referencias. Una batería madura usa las cuatro. Una que solo usa la primera se está midiendo a sí misma: puede estar perfectamente coherente y perfectamente equivocada.

La cuarta es la que de verdad convence a alguien de fuera del equipo de datos, y por eso merece un matiz. Cuando se compara el ingreso de la plataforma contra el del sistema contable, no se exige que coincida al céntimo: se acuerda una tolerancia, un 0,5 % por ejemplo, y se registra la desviación de cada mes. Si un día se sale de la tolerancia, salta.

Esto es importante porque una conciliación sin tolerancia acordada no se usa: falla el primer día por un redondeo, alguien la desactiva, y ya nunca se vuelve a encender.

Que algo pare

Un detalle que separa una batería de controles de un informe de calidad: la severidad.

Cada control se marca, al escribirlo, como bloqueante o no. Un bloqueante que falla detiene la capa y la siguiente no empieza. Los demás avisan y quedan registrados.

Es la diferencia entre el testigo del aceite y el del limpiaparabrisas. Si todo fuera bloqueante, la gente desactivaría los controles la primera noche que se cayera la carga por una tontería. Si nada lo fuera, serían un informe que nadie lee. La severidad es lo que convierte el control en una puerta en vez de en una opinión.

El control que me gusta contar

Y acabo con el tipo de control que casi nadie escribe, que es mi favorito: el que comprueba que algo no cuadra.

Pasa cuando el negocio toma dos decisiones asimétricas a propósito. En este caso, por ejemplo, se acordó que el precio medio por habitación excluye las habitaciones de cortesía —las que se regalan— pero la ocupación sí las cuenta, porque la cortesía no genera ingreso pero sí genera trabajo para el hotel.

¿Consecuencia? Que una fórmula que en los libros de hostelería se cumple siempre, en esta plataforma deja de cumplirse. Y la primera reacción de cualquiera que lo vea es pensar que hay un error de cálculo.

La vuelta de tuerca

Así que hay un control que comprueba que esa fórmula sigue sin cumplirse, y que falla si algún día empieza a cumplirse.

Porque si vuelve a cuadrar, significa que alguien ha metido otra vez las cortesías donde no tocaba y ha deshecho, probablemente sin enterarse, una decisión que se tomó en una reunión hace meses. Ese control no está vigilando el dato: está vigilando el acuerdo.

Lo que queda al final

Si has llegado hasta aquí, el resumen es corto.

Una plataforma de datos no se gana la confianza porque los paneles sean bonitos ni porque la tecnología sea moderna. Se la gana porque cuando alguien pregunta «¿de dónde sale este número?» hay una respuesta, y la respuesta se puede recorrer hacia atrás: de la cifra a la medida, de la medida a la tabla, de la tabla a la regla, y de la regla a la frase que alguien dijo en una reunión un martes de marzo, con su fecha y su nombre al lado.

Los controles son los que mantienen vivo ese camino. Sin ellos, los documentos son decoración: se escriben, se firman, se guardan en una carpeta y en seis meses el código hace otra cosa sin que nadie se entere.

El verde no demuestra que el dato esté bien. Demuestra que el dato pasa los controles que alguien se acordó de escribir.

Que no es poco. Pero tampoco es lo mismo.