La lógica de clasificar antes de modelar

En el artículo anterior vimos por qué un modelo único falla sistemáticamente. La solución que propone M8 es directa: antes de modelar, clasifica.

La segmentación hace dos cosas. Primero, elimina del pipeline los SKUs que no deberían modelarse estadísticamente — lanzamientos sin historia suficiente, descontinuados con cero sostenido. Segundo, para los SKUs modelables, define qué familia de algoritmos es candidata.

Eso reduce el espacio de búsqueda del backtesting de 15 modelos a 3–5 por SKU. El backtesting elige el ganador dentro de ese conjunto. Menos competidores que no tienen chance → resultados más robustos.

El árbol de decisión M8

El árbol aplica cuatro preguntas secuenciales sobre la serie de tiempo de cada SKU:

¿Tiene historia suficiente para modelar? ├── NO → [ F ] NEW LAUNCH (reglas de negocio) └── SÍ │ ¿Está descontinuado? (cero sostenido reciente) ├── SÍ → [ G ] DISCONTINUED (excluido del pipeline) └── NO │ ¿La demanda es errática / intermitente? ├── SÍ → [ E ] INTERMITTENT (Croston, SES) └── NO → SKU maduro con demanda regular │ ¿Hay tendencia? ¿Hay estacionalidad? ├── Solo estacionalidad → [ A ] MATURE-SEASONAL ├── Solo tendencia → [ B ] MATURE-TREND ├── Ambas → [ C ] MATURE-TREND+SEASON ├── Ninguna → [ D ] MATURE-STABLE └── Sin señal clara → [ H ] NO MATCH (flag revisión)
💡 Por qué el orden importa
Las preguntas están en orden de prioridad. Primero se resuelven los casos especiales (sin historia, descontinuados, intermitentes) — que no deberían entrar en competencia con modelos diseñados para series regulares. Solo los SKUs maduros regulares pasan al análisis de tendencia y estacionalidad.

Los 8 segmentos en detalle

[ F ] New Launch

SKUs con historia menor al umbral mínimo configurable (por defecto: 6 períodos mensuales o 24 semanas). No hay base estadística suficiente para que ningún modelo generalice bien. M8 aplica reglas de negocio: benchmark de categoría similar, curva de adopción, o simplemente el promedio de SKUs hermanos. El cliente puede configurar el enfoque.

Reglas de negocio Benchmark categoría Curva adopción
[ G ] Discontinued

Cero sostenido en los últimos N períodos consecutivos (configurable, por defecto: 3 meses). M8 excluye estos SKUs del pipeline de forecasting y los registra en el reporte de revisión. Son candidatos a limpieza de catálogo — mantenerlos activos distorsiona las métricas globales.

Excluido del pipeline Flag para revisión
[ E ] Intermittent

Demanda errática con alta proporción de ceros y picos esporádicos sin patrón temporal claro. M8 usa el coeficiente de variación y la proporción de períodos con demanda cero para clasificar en esta categoría. Los modelos clásicos sobre-forecastean el silencio. Croston fue diseñado específicamente para esta estructura de demanda.

Croston SES
[ A ] Mature — Seasonal

Demanda regular con picos estacionales consistentes (p. ej., diciembre, Q2) pero sin tendencia de largo plazo. M8 detecta estacionalidad mediante tests de descomposición sobre la serie histórica. Aquí compiten los modelos con componente estacional explícito.

TES (Triple Exp. Smoothing) TBATS sARIMA STLF SeasonalNaiveYoY
[ B ] Mature — Trend

Crecimiento o caída sostenida sin estacionalidad marcada. Productos en curva de crecimiento o en declive de ciclo de vida. Los modelos sin componente de tendencia llegan siempre tarde — el error se acumula período tras período.

DES (Double Exp. Smoothing) AutoARIMA Prophet (linear growth) AR-NNET
[ C ] Mature — Trend + Season

Demanda con tendencia de largo plazo y picos estacionales simultáneos. La combinación más compleja — y donde el backtesting es más crítico, porque varios modelos compiten en serio. TES, ETS y Prophet suelen ser los finalistas en esta categoría.

TES ETS TBATS Prophet (full) sARIMA
[ D ] Mature — Stable

Demanda regular, sin tendencia ni estacionalidad marcadas. Los modelos más simples suelen ganar aquí — porque la serie es simple y los modelos más complejos sobreajustan el ruido. Moving Average y Theta compiten bien en esta categoría.

SES Theta MovingAverage NaiveRandomWalk
[ H ] No Match

Series que no califican limpiamente en ninguna categoría: ruido puro, cambios estructurales en la demanda (p. ej., un SKU que pasó de canal A a canal B), o datos inconsistentes. M8 las marca explícitamente y no fuerza un modelo. Son candidatos a revisión de calidad de datos o tratamiento manual.

Flag revisión manual Excluido de métricas globales

Por qué la segmentación importa antes del backtesting

Una pregunta frecuente: ¿no sería mejor simplemente hacer competir los 15 modelos para todos los SKUs y dejar que el backtesting elija?

La respuesta es no, por dos razones:

  • Costo computacional: 15 modelos × N ventanas de backtesting × 5,000 SKUs es un volumen de cómputo significativo. La segmentación lo reduce a 3–5 modelos por SKU.
  • Ruido estadístico: Permitir que Croston compita en SKUs estacionales, o que TES compita en intermitentes, introduce varianza espuria en la selección. Un modelo puede "ganar" en una ventana de backtesting por razones que no se generalizarán.

La segmentación no es un atajo. Es una mejora en la calidad de la selección de modelo, además de una mejora en eficiencia computacional.

¿Qué pasa después de la segmentación?

Una vez clasificado cada SKU, el BacktestEngine entra en acción: entrena los modelos candidatos del segmento sobre múltiples ventanas de historia, los evalúa sobre períodos de validación reales, y selecciona el ganador por RMSE/MAPE promedio.

En el siguiente artículo mostramos esto funcionando en vivo — sobre un catálogo real de más de 800 SKUs, con los resultados reales de segmentación, modelos ganadores y métricas.

¿Cuál es la distribución de segmentos de tu catálogo?

Descúbrelo gratis en 48 horas

Análisis completo: distribución M8, modelos ganadores por segmento, MAPE estimado. Sin tarjeta de crédito, sin compromiso.

Solicitar análisis gratuito →