Saltar al contenido principal

Motor multi-modelo y selección por SKU

Cómo el motor ejecuta varios modelos en paralelo (CNNQR, DeepAR, Prophet, NPTS, ARIMA, ETS) y elige el de mejor desempeño para cada SKU.

Por qué ningún modelo gana siempre

No existe un modelo de pronóstico universalmente superior. Un modelo que capta bien la estacionalidad anual puede fallar con series intermitentes; uno diseñado para grandes volúmenes de datos puede sobreajustar en series cortas. La pregunta no es "¿cuál es el mejor modelo?" sino "¿cuál es el mejor modelo para este SKU, en este momento?"

AInventory responde a esa pregunta ejecutando múltiples modelos en paralelo y dejando que los datos decidan. El motor compara el desempeño de cada candidato sobre el historial real de cada serie y selecciona al ganador según métricas de error (RMSE y MAPE). Si en el futuro la serie cambia su comportamiento, el sistema reentrena y puede elegir un modelo diferente.

Los modelos disponibles

La tabla describe el punto fuerte de cada modelo. La selección final siempre la hace el motor por SKU; esta vista es orientativa.

ModeloFamiliaCuándo rinde mejor
CNNQR (CNN · Quantile Regression)Red neuronal causalSeries relacionadas en gran volumen; demanda compleja con patrones no lineales. Produce intervalos de predicción (cuantiles), no solo un punto.
DeepAR (Recurrent Neural Network)Red neuronal recurrenteGrandes conjuntos de series con metadatos externos (precio, promociones). Aprovecha la información cruzada entre SKUs para mejorar pronósticos individuales.
ProphetModelo estructural bayesianoSeries con tendencia clara y estacionalidad diaria, semanal o anual bien definida, siempre que existan suficientes ciclos históricos.
NPTS (Non-Parametric Time Series)No paramétricoSeries intermitentes o muy dispersas donde los modelos paramétricos sobreajustan. Escala bien a portafolios amplios.
ARIMAClásico autorregresivoSeries relativamente simples, sin patrones de estacionalidad múltiple, con historia suficiente para estimar parámetros.
ETS (Exponential Smoothing)Suavizado exponencialEstacionalidad fuerte con tendencia aditiva o multiplicativa; funciona bien cuando la historia no es muy larga.
Nivel de detalle

Esta página cubre el motor a alto nivel. El mecanismo exacto de selección por SKU (cómo se particionan los datos de validación, cómo se comparan los modelos y cuándo se dispara el reentrenamiento) se documenta en profundidad en la guía de administración del motor.

TODO: enlazar a la guía de administración del motor cuando esté disponible.

Casos especiales que el motor modela

Más allá de la selección de modelo, el motor tiene capacidad para tratar situaciones que rompen los supuestos básicos de una serie de tiempo estándar:

  • Demanda intermitente: períodos con cero ventas intercalados con picos; el modelo no interpreta los ceros como tendencia a la baja.
  • Estacionalidad múltiple: un SKU puede tener ciclo semanal y ciclo anual al mismo tiempo.
  • Lanzamientos (phase-in): productos sin historial previo o con historia muy corta; el motor usa información de productos similares para arrancar con mejor pie.
  • Descontinuaciones (phase-out): la demanda cae estructuralmente; el motor reconoce la señal y no la interpreta como ruido.
  • Promociones: eventos puntuales que inflan la demanda; si se etiquetan correctamente, el modelo no arrastra ese pico hacia el futuro como si fuera demanda base.
  • Recalibración de sesgos sistemáticos: si un modelo sobreestima o subestima consistentemente, el motor aplica corrección de sesgo antes de entregar el pronóstico.

Relación con las métricas

El motor compara modelos usando RMSE y MAPE. Para entender qué mide cada métrica y por qué se usan en conjunto, consulta Métricas de precisión y de entrenamiento.

Los términos CNNQR, DeepAR, phase-in, phase-out y demanda intermitente tienen entrada en el glosario.