Mis datos mentían antes de que escribiera una sola línea de lógica
Durante mucho tiempo creí que mis problemas vivían en mi código. Cuando los resultados salían mal, me ponía a rastrear mi lógica, mis modelos, las partes ingeniosas de las que me sentía orgulloso. El verdadero culpable casi siempre estaba una capa por debajo de todo eso, silencioso y sin examinar: los datos mismos. Parecían limpios. No lo estaban. Y todo lo que construí encima heredó fielmente la mentira.
Este es el tipo de fallo más aburrido que existe, y precisamente por eso es tan peligroso. Nadie quiere dedicar su tiempo a auditar filas de números. Así que nadie lo hace, y la podredumbre se queda ahí, en el fondo, sosteniéndolo todo.
El mito de los datos limpios
Los datos de mercado en bruto tienen un aspecto tranquilizadoramente ordenado. Filas pulcras, marcas de tiempo ordenadas, números de apariencia razonable desfilando en secuencia. Ese orden es un disfraz. Los datos del mundo real, recopilados de sistemas reales que de vez en cuando fallan, están plagados de pequeñas corrupciones que no se anuncian: huecos donde simplemente faltan instantes, entradas duplicadas, marcas de tiempo que se desvían o se desalinean, valores que se congelan y se repiten durante una caída del sistema, números imposibles ocasionales, tramos enteros sutilmente desplazados de su lugar.
Nada de esto llega con una etiqueta de advertencia. Tiene exactamente el mismo aspecto que los datos buenos, porque está sentado en las mismas filas pulcras. El formato es honesto incluso cuando el contenido no lo es, y el formato es todo lo que ves a primera vista.
Basura entra, basura segura de sí misma sale
Lo que hay que interiorizar es que el sistema no sabe que los datos están mal. No puede saberlo. Toma lo que sea que le entregues y procesa la corrupción con exactamente la misma diligencia que aplica a la verdad, y luego produce un resultado limpio, seguro de sí mismo y de aspecto profesional construido sobre la podredumbre.
Ahí está toda la trampa, justo ahí. La salida parece correcta. La corrupción no se propaga como errores obvios y estridentes que te señalan el problema. Se propaga como respuestas erróneas plausibles: resultados completamente creíbles, que pasan tu prueba intuitiva, sobre los cuales felizmente construyes lo siguiente. Para cuando aflora la equivocación, si es que llega a hacerlo, está enterrada bajo capas de trabajo que asumieron que el suelo bajo sus pies era sólido.
Los errores que se esconden dentro de la plausibilidad
Aprendí, lentamente, que los errores de datos peligrosos no son los obvios. Un precio de cero, un día entero que falta, un valor que es claramente un disparate: esos los detectas, porque son absurdos a simple vista. Activan la primera comprobación de sensatez.
Los errores que de verdad te hacen daño son los plausibles. Un valor que está mal pero que aún cae dentro de un rango creíble. Una marca de tiempo desviada por una sola unidad. Un hueco que algo aguas arriba rellenó en silencio con una suposición. Estos atraviesan limpiamente todas las comprobaciones de sensatez que tengas, porque tienen exactamente el aspecto de datos legítimos: son indistinguibles de la verdad a menos que vayas específicamente a verificarlos contra otra cosa. La corrupción más cara es la que es lo bastante educada como para parecer correcta.
Estaba depurando el piso equivocado del edificio
Durante un tiempo vergonzosamente largo, mi instinto cuando algo salía raro era ir a buscar un error en mi lógica: en la parte interesante y sofisticada del sistema, la parte que me parecía digna de pensar. El error casi nunca estaba ahí. Estaba debajo, en los datos, en alguna suposición sobre la entrada que simplemente nunca me había molestado en verificar.
Estaba, en efecto, registrando los pisos superiores de un edificio en busca del origen de una grieta que recorría los cimientos. Inspeccionaba el código elegante una y otra vez, no encontraba nada malo en él y me desconcertaba cada vez más, porque no había nada malo en él. Estaba procesando correctamente entradas malas en salidas malas, exactamente como fue diseñado. La lógica era inocente. El terreno sobre el que se asentaba era el culpable.
La calidad de los datos no es una tarea que se termina
Una de las constataciones más humillantes fue que no limpias los datos una vez y sigues adelante. Eso es una fantasía. Siguen llegando datos nuevos, y llegan con corrupciones nuevas. Una fuente cambia su formato sin avisar. Un proveedor aguas arriba tiene una caída y luego rellena el hueco con algo cuestionable. Algo que fue fiable durante meses se rompe de una forma novedosa un martes cualquiera.
La calidad de los datos, llegué a entender, no es una limpieza puntual que tachas de una lista. Es una disciplina continua: una postura permanente de sospecha hacia cada entrada, mantenida para siempre, porque el momento en que dejas de vigilar es precisamente el momento en que una corrupción nueva y creativa entra sin que nadie la cuestione.
Valida sin piedad, no confíes en nada
El arreglo práctico fue tratar cada entrada como culpable hasta que se demuestre que está limpia. Comprueba si hay huecos. Comprueba si hay duplicados. Comprueba si hay valores imposibles, marcas de tiempo que no avanzan de forma constante, tramos sospechosos donde un número deja de cambiar de una manera en que los datos reales nunca lo harían. Y, lo crucial, integra estas comprobaciones directamente en el pipeline, de modo que la corrupción se detecte ruidosamente en la puerta de entrada, en el instante en que llega, en lugar de descubrirla meses después como la rareza inexplicable de un resultado que ya no puedes rastrear.
Es un trabajo tedioso, defensivo y profundamente poco glamuroso. También es el trabajo que decide si todo lo que viene después está construido sobre roca o sobre arena. Un fallo ruidoso en la puerta es un regalo. Uno silencioso que heredas y sobre el que construyes es una catástrofe lenta.
La lección más profunda: los cimientos fijan el techo
El principio que subyace a todo esto es simple e implacable. Ninguna cantidad de brillantez en el modelo de arriba puede compensar la podredumbre en los datos de abajo. La calidad de todo lo que construyes está limitada, de forma absoluta, por la calidad de lo que le das de comer. No puedes razonar para salir de entradas malas; solo puedes producir una equivocación más segura de sí misma y más elaborada sobre ellas.
Así que la labor monótona e ingrata de garantizar entradas limpias no está por debajo del trabajo de verdad, como solía tratarla. Es el cimiento del trabajo de verdad, y toda la estructura de arriba nunca es más honesta que esa base. Antes quería saltármela para llegar a las partes interesantes. Ahora entiendo que las partes interesantes no valen nada si la parte aburrida que tienen debajo está mintiendo.
— Sin señales, sin retornos, esto no es asesoramiento de inversión.