Timestral-209M: predecir sin estudiar

Imaginad un almacén con tres mil referencias y a un responsable que, el lunes por la mañana, debe decidir cuántos palés pedir, cuántos empleados convocar para el fin de semana, qué existencias no dejar jamás a cero. Nadie le pide que lea el futuro. Le piden algo más humilde y más útil, una estimación condicionada: dado lo que ha ocurrido hasta ahora, ¿qué abanico de mañanas es plausible? Una buena predicción no indica un solo camino, sino que dibuja el abanico de caminos posibles y señala cuáles son más probables.
Durante décadas el oficio se ha hecho de una sola manera. Los modelos clásicos, como ARIMA, asignan un modelo a cada serie temporal e aprenden únicamente de ella: cuestan poco, se explican bien, pero parten de cero con cada nueva serie. El aprendizaje profundo, por ejemplo con PatchTST, aprende de muchas series a la vez, pero por lo general debe entrenarse desde cero en cada conjunto de datos, como explica el propio blog de Mistral. Los modelos fundacionales, o *foundation models, cambian la receta: se preentrenan sobre un corpus enorme y luego se aplican sobre datos nunca vistos, sin más estudio. Se llama zero-shot, cero intentos de entrenamiento sobre el caso específico.*
Sobre cómo de grande es la revolución, las opiniones son más cautas que los comunicados. Rob Hyndman, una de las voces más autorizadas de la materia, escribe que estos modelos representan un cambio real en la forma en que se producen las predicciones, pero no todavía una demostración general de mayor precisión. Este artículo se sitúa entre ambas posiciones: presenta Timestral-209M de Mistral, explica su funcionamiento y ofrece una prueba propia sobre datos de ventas reales, honesta pero sin pretensiones de benchmark.
En una frase: Timestral es una señal seria de que la predicción se está volviendo generalista, pero no prueba que un modelo fundacional supere siempre a un buen modelo estadístico calibrado para el caso específico.
Anatomía de Timestral
Timestral es una familia de cuatro modelos de 5, 28, 123 y 209 millones de parámetros, publicados por Mistral a mediados de octubre de 2026. Los parámetros son los mandos internos que el modelo ajusta durante el entrenamiento: 209 millones son muchos para un modelo estadístico clásico, muy pocos para un modelo lingüístico moderno. El formato fue elegido para ejecutarse incluso en un procesador ordinario, en la empresa o en entornos aislados de la red.
Cuatro números de la ficha oficial ayudan a entender qué puede hacer. El contexto, es decir, cuánta historia lee el modelo, llega a 32.768 pasos temporales. El horizonte, es decir, cuánto mira hacia adelante, a 1.024 pasos de una sola vez, más allá de los cuales avanza por bloques reincorporando su propia mediana como si fuera historia real. Los cuantiles son umbrales que describen la incertidumbre: el cuantil 0,95 es el valor que el modelo prevé superado solo cinco veces de cada cien, y Timestral genera 21 de ellos, de 0,01 a 0,99. Por último, acepta una o varias series a la vez, junto con covariables, información complementaria como calendario, precios o festivos conocidos de antemano.
El modelo es un transformer de 24 capas y dimensión interna 768, que no lee los valores uno a uno sino por patches, fragmentos de 32 pasos, cada uno acompañado de un indicador de huecos en los datos. Combina dos tipos de atención, es decir, de capacidad para ponderar qué información importa: la temporal, que examina qué momentos pasados son relevantes, y la atención entre variables, que analiza cómo se influyen las series entre sí. Según el blog, el método llamado DHF mantiene visible toda la historia y añade tokens de predicción separados, de modo que cada valor observado sirve tanto de objetivo como de contexto. La atención sobre las covariables, por su parte, solo deja pasar información desde las covariables hacia los objetivos, para evitar que el futuro de una serie contamine su propia predicción.
La parte más sorprendente es el entrenamiento: la mayor parte de los datos es sintética, procesos con tendencias, estacionalidad y ruidos generados artificialmente, en una primera fase con un contexto de 8.192 pasos, seguida de una fase con datos reales y sintéticos con un contexto cuatro veces más largo. Es lo opuesto a Funes el memorioso, el personaje de Borges que recuerda cada hoja de cada árbol y precisamente por eso no sabe generalizar: aquí se enseñan las formas del tiempo, no los acontecimientos concretos. Qué contiene exactamente el corpus real no se ha declarado. El informe técnico está anunciado como "próximamente".
Dos recordatorios prácticos. El estado es de vista previa pública. La licencia, una MIT modificada, no es de código abierto en sentido estricto: deniega el uso a quien, como empresa o empleador, supere los 20 millones de dólares de facturación mensual consolidada global en el mes anterior, salvo acuerdo comercial con Mistral. No es un canon o royalty, es un umbral de entrada, y se aplica también a los trabajos derivados.
Promesas por verificar
Mistral afirma que Timestral-209M ocupa el primer lugar entre los modelos preentrenados y zero-shot en tres clasificaciones públicas: GIFT-Eval, TIME y fev-bench, superando el estado del arte anterior con dos tercios de los parámetros. En la ficha técnica los números son estos: en GIFT-Eval el error MASE es de 0,658 frente al 0,661 de t0-gamma, y el CRPS de 0,446 frente a 0,452. El MASE mide el error respecto a un método ingenuo de referencia, mientras que el CRPS evalúa la calidad de toda la distribución prevista: en ambos casos, cuanto más bajo, mejor. En fev-bench la puntuación SQL es de 50,39 frente al 49,42 de t0-gamma. Los márgenes son reales pero reducidos, y son resultados declarados por el fabricante: Mistral publica el código precisamente para reproducirlos, pero aún no existe una réplica independiente.
En cuanto a la eficiencia, la declaración es precisa. En una CPU de servidor de 8 hilos, para predecir un día hacia adelante partiendo de tres semanas de historial a intervalos de 15 minutos, se necesitan 10 milisegundos con el modelo de 5 millones de parámetros y 140 ms con el de 209M. La versión de 28M es cinco veces más rápida, mientras que la de 123M se mantiene dentro del 0,2% de la puntuación máxima con tres cuartas partes de la latencia. Son mediciones realizadas en condiciones muy precisas, distintas de las de nuestra prueba, y como tales deben interpretarse.
Existe además el problema de fondo de las clasificaciones, donde la lectura de Hyndman resulta muy útil. Cita los análisis de Christoph Bergmeir, según los cuales las comparaciones con métodos estadísticos suelen hacerse con versiones poco optimizadas. Cita también el estudio de Meyer y colaboradores: de 401 conjuntos de datos utilizados por 22 modelos fundacionales publicados, solo el 6% no había aparecido nunca en los datos de entrenamiento de ningún modelo. Quien haya visto la película de culto Primer sabe qué ocurre cuando la información viaja hacia el pasado sin que nadie se dé cuenta. La propia Mistral reconoce el problema: su plataforma Forge promete un control total sobre los datos de entrenamiento, garantizando que nada de lo que probéis con vuestro propio historial haya sido visto previamente por el modelo.

Cómo realizamos la prueba
La prueba no es un único experimento, sino una pequeña cadena de pasos: se parte de los archivos originales, se preparan los datos, se generan las predicciones, se comparan con los valores reales y se obtienen números, informes y gráficos. Cada paso guarda su resultado en disco y el siguiente arranca desde ahí. Esto hace que el trabajo sea verificable y repetible, y permite interrumpirlo sin perder lo ya realizado. La secuencia es la siguiente.
1. Un entorno cerrado.
En primer lugar, confinamos el experimento en una sola carpeta de proyecto. El script de inicio crea el entorno Python local (.venv), instala allí las dependencias y desvía la caché, los archivos temporales y las credenciales dentro del proyecto, de modo que nada acaba en las carpetas del sistema. El conjunto de datos M5 se descarga de Kaggle y los tres archivos necesarios —ventas, calendario y precios— se copian en data/raw/m5/. El modelo Timestral-209M se descarga una sola vez de Hugging Face y se guarda en models/timestral/. Si los archivos ya están presentes, se reutilizan. Una prueba automática comprueba que directorios, cachés y rutas permanezcan estrictamente dentro del proyecto.
2. Preparación de los datos.
Con los tres archivos locales listos, construimos el dataset de la prueba. De las más de 30.000 series producto-tienda, seleccionamos 300 mediante muestreo aleatorio estratificado (semilla 42): 120 de alto volumen, 120 de volumen medio y 60 de bajo volumen o intermitentes. El volumen se mide únicamente en la ventana histórica más antigua, para que la selección no dependa del futuro. Las series sin ventas en esa ventana se excluyeron; los días sin datos se rellenaron con ceros, convirtiendo cada serie en una secuencia diaria continua, una fila por día. A cada serie le añadimos la información conocida de antemano: día de la semana, mes, fin de semana, eventos, días SNAP y precio, este último solo si estaba disponible para todas las series y en todo el horizonte. El resultado se guarda en Parquet, un formato comprimido y rápido de releer.
3. La división temporal.
A continuación dividimos el periodo en tres ventanas consecutivas de 28 días, del 1 de febrero al 24 de abril de 2016. Para cada una mantuvimos 365 días de historial y reservamos los 28 días a predecir: esos valores reales nunca entraron en la fase de predicción, únicamente en la de evaluación. Las ventanas son del 1 al 28 de febrero, del 29 de febrero al 27 de marzo y del 28 de marzo al 24 de abril. El código registra las fechas de cada ventana en un archivo de configuración y verifica que las predicciones cubran exactamente los 28 días previstos. Tres ventanas en lugar de una evitan basarlo todo en un mes particular: si el resultado se mantiene en las tres, es mucho más creíble.
4. La inferencia zero-shot.
Aquí entra en escena el modelo. Cargamos Timestral-209M desde los archivos locales, sin entrenamiento adicional, y lo aplicamos serie por serie. Para cada serie le proporcionamos los 365 días de ventas y las covariables conocidas para todo el periodo (365 días pasados más 28 futuros); el modelo devuelve los 28 días en forma de cinco cuantiles (5%, 25%, 50%, 75%, 95%). Las predicciones se calculan en bloques de ocho series, en CPU, en modo exclusivo de inferencia; los valores negativos se recortan a cero porque las ventas no pueden ser negativas. Cada resultado se guarda con el ID de la serie, la fecha, la ventana, los cuantiles y el tiempo de cálculo. Si la ejecución se interrumpe, el programa se reanuda desde las series pendientes.
5. Evaluación y comparación.
Una vez fijadas las predicciones, las unimos a los valores reales de los 28 días y calculamos las métricas de error: MAE, RMSE, WAPE, MASE, sesgo (bias), pinball loss, cobertura y anchura de los intervalos. Hacemos lo mismo con una línea de base sencilla, la predicción estacional ingenua, que repite el valor del mismo día de la semana anterior. Las métricas se agregan por serie, por nivel de volumen, por ventana y sobre el total; los intervalos de confianza al 95% proceden de 1.000 remuestreos de las series. Los resultados se guardan en seis archivos CSV: por serie, agregado, línea de base, niveles de volumen, intervalos de confianza y resumen. La predicción puntual utilizada para MAE, RMSE, WAPE y sesgo es la mediana.
6. Informe y panel de control.
El último paso transforma los números en algo legible. Un módulo genera automáticamente un informe en Markdown con objetivos, dataset, protocolo, métricas, comparación con la línea de base, mejores/peores casos y limitaciones. Un panel de control en Streamlit lee los mismos archivos y muestra cuatro pestañas: visión general, serie por serie, análisis agregado e informe narrativo. Los gráficos están elaborados con Plotly y muestran el historial, los valores reales, la mediana predicha y las bandas de incertidumbre al 50% y al 90%. Todo se regenera con un solo comando: el script de inicio ejecuta la canalización y luego abre el panel.
Este es el propósito de la canalización: no limitarse a describir un modelo, sino hacer verificable un experimento. La canalización consiste en una secuencia de decisiones explícitas (qué series, cuánto historial, qué variables, qué línea de base) y cada una de ellas se puede inspeccionar, rehacer o cuestionar. Los números que siguen valen tanto como el proceso que los ha producido: por ello, la división temporal —decidida antes de ver ningún resultado— es el paso que da sentido a todo lo demás.

La prueba sobre M5
Aclaración honesta: se trata de una prueba propia, no de un benchmark formal, y no es independiente en el sentido académico. M5 es una competición de predicción sobre ventas unitarias de Walmart, con 30.490 series producto-tienda y 1.941 días entre 2011 y 2016. La métrica oficial de la competición, el WRMSSE, no se ha calculado aquí, por lo que los resultados no son comparables directamente con la clasificación original.
Extrajimos 300 series mediante muestreo aleatorio estratificado (semilla 42): 120 de alto volumen, 120 de volumen medio y 60 de bajo volumen o intermitentes, con umbrales calculados únicamente sobre el periodo histórico más antiguo para evitar que la selección de la muestra dependiera del futuro a predecir. Se excluyeron las series de volumen nulo y los días sin datos se fijaron a cero. Tres ventanas consecutivas de 28 días, del 1 de febrero al 24 de abril de 2016, cada una con 365 días de historial. El modelo operó en modo zero-shot y univariado, sobre CPU, con covariables conocidas de antemano: día de la semana, mes, fin de semana, eventos, días SNAP (cupones de alimentos) y precio (asumido conocido para todo el horizonte). Sin promociones, inventario ni datos meteorológicos. La referencia es la predicción estacional ingenua, que repite el valor del mismo día de la semana anterior. Los valores reales del horizonte nunca se facilitaron al modelo y las predicciones se recortaron a cero.
Examen de los números

El MAE es el error absoluto medio en unidades vendidas al día por serie; el RMSE penaliza con más dureza los errores grandes. El WAPE es el error total dividido entre las ventas totales: es importante aclarar que 0,6348 no significa "una precisión del 63%", sino un error equivalente al 63% del volumen total vendido. El MASE compara el error con el error medio de un método ingenuo sobre el historial: 0,80 frente al 1,11 de la predicción ingenua en la misma escala. Respecto a la referencia, el WAPE mejora un 23,45%, el MAE un 23,46%, el RMSE un 19,54% y el MASE un 27,70%. La tendencia de mejora es consistente en las tres ventanas, con valores de WAPE de 0,6728, 0,6165 y 0,6154.
Debe interpretarse con cautela. Los intervalos de confianza al 95% obtenidos mediante remuestreo dan para el WAPE un rango de 0,5883–0,6917 frente a 0,7610–0,9059 para la predicción ingenua, claramente separados. Para el RMSE las horquillas son de 2,2543–4,9287 frente a 2,7815–5,6903, con un solapamiento amplio, y el MAE casi se solapa: en estas dos métricas no se ha demostrado una ventaja estadística clara. Además, los intervalos reflejan la variabilidad entre series, no entre periodos temporales.
El sesgo (bias) merece especial atención. Mide el error medio con signo, y un valor de −0,5632 indica una subestimación sistemática: sobre unas ventas medias de unas dos unidades al día (obtenidas del cociente entre MAE y WAPE), representa casi el 28%, frente al −0,025 de la predicción ingenua. Equivale a cerca del 45% del MAE. Para quienes gestionan inventarios es el defecto más grave, ya que provoca roturas de stock. El informe no especifica qué predicción puntual se utilizó: si fue la mediana en series con abundantes ceros, sería una explicación plausible, pero sigue siendo una hipótesis por verificar.
Los intervalos de predicción son conservadores. El del 90% alcanza una cobertura del 93,30% —contiene el valor real con más frecuencia de la esperada—, y el del 50% llega al 62,62%, doce puntos por encima del valor nominal, con una anchura media del intervalo del 90% de 5,40 unidades, más del doble de las ventas medias. En datos discretos y con presencia masiva de ceros, la cobertura se infla de forma natural, y sin una referencia probabilística equivalente no es posible determinar si son precisos o simplemente amplios.
Al desglosar los resultados por volumen, las conclusiones se vuelven más matizadas. En las 120 series de alto volumen (~4 unidades/día), el WAPE es de 0,5845 frente a 0,7518 —una mejora del 22,25%—. En el volumen medio (~0,8 unidades/día), es de 0,8708 frente a 1,1684 (+25,47%). En las 60 series intermitentes (~0,13 unidades/día), el WAPE es de 1,0069 frente a 1,6956, una mejora del 40,62% que resulta engañosa: un WAPE superior a 1 es peor que predecir solo ceros, y la línea de base ingenua parte de una referencia pésima. En este segmento, el MASE y el pinball loss (error en los cuantiles, con una media de 0,4066 para Timestral) son más fiables.
Los casos individuales resultan más instructivos que los promedios. El mejor por WAPE es FOODS_3_042_WI_1 (0,1975, MASE 0,5069), pero otro de los "mejores", FOODS_3_329_CA_1, registra un MASE de 1,4251, peor que la predicción ingenua: las métricas pueden contradecirse entre sí. El peor caso, HOUSEHOLD_2_124_TX_2, presenta un WAPE de 26,22 porque vende aproximadamente 0,012 unidades al día, prácticamente nada. En FOODS_1_110_WI_1 todo el error procede de una sobreestimación, probablemente un producto descatalogado o sin existencias. Los ceros en M5 no siempre significan ausencia de demanda.
Las limitaciones se mantienen tal como se enunciaron: 300 series de más de 30.000, 84 días sin cambios estructurales, sin covariables promocionales, una sola línea de base sencilla y ningún contraste frente a ARIMA, ETS u otros modelos fundacionales. Respecto a la contaminación de datos, M5 es público desde 2020, por lo que no se puede descartar su presencia en el corpus de entrenamiento. Por tanto, la conclusión no es que "Timestral sea el mejor en M5", sino que supera a una regla ingenua de forma coherente dentro de unos límites definidos.
En palabras sencillas: en esta prueba, Timestral predijo las ventas del último mes mejor que la regla que repite el valor de la semana anterior, con cerca de una cuarta parte menos de error (WAPE 0,63 frente a 0,83) y una ventaja constante en las tres ventanas. Sin embargo, su ventaja es sólida sobre todo en el error global y en el MASE, mientras que en el MAE y el RMSE los intervalos se solapan y su primacía no está demostrada. Persiste además una subestimación sistemática de cerca del 28% —el defecto más peligroso para la planificación de existencias— y las predicciones son sustancialmente más fiables en productos de alto volumen que en los intermitentes, donde los ceros no distinguen entre falta de demanda y falta de producto. En síntesis: un resultado zero-shot sólido, claramente superior a una línea de base elemental, pero no una prueba definitiva de que Timestral sea el modelo de referencia para conjuntos de datos tipo M5.
Quién debería usarlo y quién no
En su blog, Mistral cita casos de uso como sensores industriales, flujos y volúmenes financieros, energía, planificación de la cadena de suministro y métricas de observabilidad de sistemas. El comercio minorista solo queda cubierto aquí por nuestra prueba. En entornos con muchas series, escasos recursos estadísticos y datos ricos en covariables conocidas, el valor es evidente: un solo modelo preentrenado evita construir y mantener una canalización para cada serie. En la ficha técnica, Timestral supera por poco a Chronos-2, TimesFM-3, Toto-2.0 (en su versión de 2,5 mil millones de parámetros) y t0-gamma, por lo que la competición permanece abierta. Además, Mistral señala que su modelo de 28 millones de parámetros supera en GIFT-Eval y TIME a Chronos-2, que es unas cuatro veces mayor.
Resulta menos útil en escenarios que el sentido común y Hyndman señalan: pocas series, relaciones causales conocidas, explicabilidad obligatoria, escasez de datos o falta de competencias para mantener un modelo en producción. Su consejo se resume en tres pasos: comenzar con una referencia estadística bien elaborada, probar con los propios datos mediante ventanas móviles sin fiarse de clasificaciones ajenas, y ponderar el coste total entre cómputo, latencia, dependencia del proveedor y baja interpretabilidad. A esto se suma la licencia, que un departamento jurídico debería revisar antes de desarrollar un producto comercial sobre ella.
Más accesible, no mágico
El cuello de botella está cambiando de sitio: importa menos la selección del modelo y más la calidad de los datos, la supervisión del sesgo y la cobertura, y la gobernanza de covariables y licencias. La soberanía, mediante despliegue local en la empresa con registros de auditoría, constituye un argumento adicional para las organizaciones que no pueden enviar sus datos fuera.
Cuatro aspectos a seguir en los próximos meses: la publicación del informe técnico, la réplica independiente de los resultados, casos de uso reales en producción y comparaciones rigurosas con alternativas, incluidas las estadísticas. Hasta entonces, Timestral es una señal sólida, no una prueba definitiva. En nuestra prueba supera a una regla ingenua en un 23% en WAPE, pero subestima, presenta intervalos de predicción amplios y se evaluó sobre una muestra limitada.
La predicción no se ha convertido en magia. Se ha vuelto más accesible.