Forecasting de demanda para Shopify: 4 métodos comparados (y cuándo usar cada uno)
Velocidad, velocidad ponderada, combinada o estacional? El método de forecasting que elijas decide si te quedas sin stock, te sientas sobre stock muerto o envías justo lo que toca. La guía del operador.
Casi toda la literatura sobre forecasting para Shopify cae en uno de dos modos de fallo: o es "usa los últimos 30 días" (que te mata en cualquier negocio estacional), o es un muro de teoría estadística que nunca vas a aplicar (Holt-Winters, ARIMA, Croston) para un volumen de SKUs que no tienes.
La respuesta real está en el medio, y no es un método. Es saber cuándo usar cuál. Un SKU nuevo lanzado hace 21 días necesita un forecast distinto que un SKU core de 4 años con estacionalidad predecible. Usar el mismo modelo para los dos es lo que causa el dolor de inventario que mantiene despiertos a los operadores de Shopify.
Este es el framework que usamos dentro de Ecombone Inventory. Cuatro métodos, ordenados por complejidad, con la pregunta que decide cuál usar.
Qué tiene que entregar realmente un "forecast de demanda"
Antes de meternos en métodos, ánclate en para qué sirve un forecast. En el contexto de operaciones de Shopify, un forecast existe para responder a una pregunta: ¿cuántas unidades de este SKU debería tener en mano en una fecha futura para no quedarme sin stock y no sentarme sobre stock muerto?
Eso es. El número del forecast alimenta tres decisiones aguas abajo:
- Punto de reposición — cuándo lanzar el siguiente PO.
- Cantidad a pedir — cuántas unidades meter en el PO.
- Asignación — entre ubicaciones, qué split.
Un buen método de forecasting es uno cuyo error es lo bastante pequeño como para que esas tres decisiones dejen de doler. No tiene que ser teóricamente puro. Tiene que ser barato operativamente, rápido de recalcular y resistente a los modos de fallo específicos del e-commerce (picos promo, días virales, histórico distorsionado por stockouts).
Método 1: velocidad 30 días
El más simple. Coge unidades vendidas en los últimos 30 días. Divide entre 30. Esa es tu velocidad diaria. Multiplica por tu horizonte de forecast (lead time + días de stock de seguridad) para obtener el forecast.
Unidades vendidas en 30d = 600
Velocidad diaria = 600 / 30 = 20 unidades/día
Forecast para horizonte 45d = 20 * 45 = 900 unidades
Cuándo usarlo:
- El SKU es nuevo (menos de 45 días de histórico).
- El SKU está siendo muy trendy y esperas que el rendimiento se parezca más a "los últimos 30 días" que a "los últimos 12 meses".
- Estás en una vertical no estacional (consumibles, B2B, esenciales de compra recurrente).
Dónde se rompe:
- Cualquier cosa con estacionalidad. Una velocidad 30d en noviembre va a sobrepredecir enero catastróficamente.
- SKUs con picos promo. Una semana de Black Friday infla tu velocidad durante semanas si no lo manejas.
- Periodos de stockout. Si estuviste OOS 8 de esos 30 días, tu "velocidad" está salvajemente subestimada. (La mayoría de equipos se equivoca aquí — no normalizan por días con stock disponible.)
Cómo arreglar lo de los stockouts: divide entre días con stock disponible, no entre días de calendario. Si vendiste 600 unidades en 22 días con stock, tu velocidad real es 600/22 = 27,3 unidades/día, no 20.
Método 2: velocidad 90 días
Misma matemática, ventana distinta. Coge unidades vendidas en los últimos 90 días, divide entre días con stock, obtienes velocidad diaria.
Este es el método por defecto que la mayoría de operadores debería usar para el grueso de su catálogo. 90 días suaviza el ruido semanal sin meterse todavía en territorio estacional.
Cuándo usarlo:
- SKUs estables con al menos 90 días de histórico.
- Categorías sin estacionalidad mensual fuerte.
- Cualquier SKU donde la velocidad 30d se sienta demasiado ruidosa.
Dónde se rompe:
- Negocios estacionales. Una ventana de 90 días en noviembre ya incluye octubre — un régimen de demanda distinto al de diciembre que viene.
- Marcas que tuvieron un pico fuerte de PR/viral/promo en los últimos 90 días. El pico tira la media hacia arriba y sobrepredices.
Cómo arreglar los picos: capa la contribución de cualquier día único en, digamos, 2× la mediana del día. Esto amortigua la influencia de un día anómalo sin que tengas que marcarlo a mano.
Método 3: media ponderada combinada
Aquí empezamos a pensar de verdad. En lugar de elegir entre 30 o 90, usa los dos — y pondera más el reciente.
Una fórmula simple y robusta:
forecast_velocidad = (0,6 * velocidad_30d) + (0,4 * velocidad_90d)
Por qué funciona: la ventana de 30 días captura la dirección reciente (tu lanzamiento despega, o tu categoría se enfría). La de 90 días aporta estabilidad para que un martes loco no rompa tu lógica de reposición. La ponderación 60/40 es empíricamente lo que la mayoría de equipos de Shopify converge tras un año de prueba y error.
También puedes ponderar 30/60/90 (p.ej. 0,5/0,3/0,2). Para casi todos los SKUs la ganancia marginal de precisión es pequeña — el split 60/40 te da el 90% del camino con la mitad de bookkeeping.
Cuándo usarlo:
- SKUs estables en categorías que crecen.
- SKUs donde quieres ser responsivo a la tendencia sin coletazo.
- El "default por defecto" para tus top 50 SKUs.
Dónde se rompe:
- Estacionalidad. La velocidad combinada sigue sin saber que diciembre es distinto a octubre. Va a infrapredecir Q4 y sobrepredecir Q1.
Método 4: media móvil ponderada con multiplicadores estacionales y tendencia
Este es el que la mayoría de marcas Shopify necesita pero nunca construye porque suena complicado. No lo es.
La fórmula:
velocidad_base = 0,6 * velocidad_30d + 0,4 * velocidad_90d
multiplicador_estacional = unidades_medias(este_mes, año_pasado) / unidades_medias(año_completo, año_pasado)
factor_tendencia = velocidad_últimos_30d / velocidad_30d_hace_un_año
forecast_velocidad = velocidad_base * multiplicador_estacional * factor_tendencia
En cristiano:
- Velocidad base: igual que el método 3, la demanda reciente.
- Multiplicador estacional: ¿cómo compara ESTE mes históricamente con el mes MEDIO? Si diciembre promedia 1,8× el año, multiplica por 1,8 en diciembre.
- Factor tendencia: ¿la marca crece o se contrae YoY? Si estás +30% YoY, el patrón estacional histórico sigue aplicando, pero a una base mayor.
Este es el modelo detrás del modo estacional en Ecombone Inventory. No es Holt-Winters. No es ARIMA. Es un modelo plano de operador — pero captura el 80% de lo que hacen esos métodos estadísticos, sobre tamaños de datos que los SKUs de Shopify de verdad tienen.
Cuándo usarlo:
- Cualquier negocio con estacionalidad mes a mes (la mayoría de ellos, sinceramente — incluso las verticales "no estacionales" suelen tener un lift de Q4).
- SKUs con al menos 13 meses de histórico (necesitas el mismo mes del año pasado).
- SKUs hero donde la precisión del forecast importa más que la simplicidad computacional.
Dónde se rompe:
- SKUs nuevos (sin datos del año pasado). Cae al método 3.
- Años cisne negro. Si tu multiplicador estacional sale de 2024 y 2024 fue un outlier, vas a forecastear mal. Usa 2-3 años de datos estacionales cuando puedas, promedia los multiplicadores.
- SKUs pre-lanzamiento y lanzamientos por PR que no se van a replicar.
Comparativa lado a lado
| Método | Histórico necesario | Maneja estacionalidad | Mejor para | Coste computacional |
|---|---|---|---|---|
| Velocidad 30 días | 30 días | No | SKUs nuevos, no estacionales | Trivial |
| Velocidad 90 días | 90 días | Ligeramente | SKUs estables medios | Trivial |
| Combinada 30/90 | 90 días | No | Mayoría de SKUs estables | Trivial |
| WMA estacional + tendencia | 13+ meses | Sí | SKUs hero, categorías estacionales | Moderado |
El árbol de decisión
Si no sabes qué método usar para un SKU, recorre esto:
- ¿Menos de 45 días de histórico? → Método 1 (velocidad 30d, con override manual a juicio).
- ¿45–90 días de histórico? → Método 2 (velocidad 90d, normalizada por días con stock).
- ¿Más de 90 días, pero menos de 13 meses? → Método 3 (combinada 30/90).
- ¿Más de 13 meses y tiene estacionalidad? → Método 4 (WMA estacional + tendencia).
- ¿Más de 13 meses pero sin estacionalidad? → El método 3 es suficiente.
No elijas un método para todo el catálogo. Tieriza tus SKUs y aplica el método correcto por tier. La mayoría de marcas tienen 5-15 SKUs hero que justifican el método 4, una cola larga que vive en el método 2 o 3, y un puñado de SKUs nuevos que necesitan el método 1. Ese es el setup de operador.
Tres trampas en las que cae casi todo operador de Shopify
Trampa 1: forecastear demanda sin corregir por días sin stock
Si te quedaste sin stock 8 de los últimos 30 días, tu "velocidad 30d" se calcula sobre 22 días de demanda, no 30. Divide siempre entre días con stock disponible, no entre días de calendario. Este único arreglo es la mayor ganancia de precisión para casi todas las marcas.
Trampa 2: confundir precisión del forecast con utilidad del forecast
Un forecast "perfecto" que llega demasiado tarde para actuar no vale nada. Recalcula al menos semanal, diario si tienes la infra. Un forecast con 90% de precisión semanal le gana siempre a uno del 95% mensual, porque puedes reaccionar al semanal.
Trampa 3: forecastear en unidades cuando deberías forecastear en días de cobertura
No preguntes "cuántas unidades necesito el mes que viene". Pregunta "cuántos días de cobertura tengo ahora mismo, dado el forecast actual". La cobertura está lista para decisión. Las unidades no.
días_cobertura = stock_actual / forecast_velocidad
reordenar cuando días_cobertura <= lead_time + días_stock_seguridad
Si tu dashboard de inventario no te muestra los días de cobertura como KPI principal, cámbialo.
El resumen que puedes usar hoy: divide tus SKUs en tres tiers (heroes, medios, cola larga). Corre método 4 en heroes, método 3 en medios, método 1 o 2 en cola larga. Recalcula semanal. Normaliza siempre por días con stock. Esto es el 80% del forecasting bien hecho, con cero data science.
Lo que el forecasting no puede hacer por ti
El forecasting es necesario pero no suficiente. Incluso con un forecast perfecto, sigues necesitando:
- Lead times precisos por proveedor (y la varianza — un lead time medio de 30 días con varianza ±10 días se comporta como 40).
- Una política de stock de seguridad que escala con la varianza, no un número plano de días.
- Pack size y MOQ considerados al generar cantidades de reposición.
- Tracking de POs pendientes para no sobre-reponer mientras tienes inbound en tránsito.
Un forecast que no conecta a esas cuatro cosas es un número en un dashboard. Un forecast que sí conecta es una sugerencia de reposición sobre la que puedes actuar. Esa es la diferencia entre "tenemos un forecast" y "tenemos un sistema de forecasting".
Esta es la brecha que Ecombone Inventory está construido para cerrar: cada uno de los cuatro métodos de forecasting de arriba corre nativamente, el sistema normaliza por días con stock, lead time y varianza, MOQ y POs pendientes alimentan de vuelta a la sugerencia de reposición, y el dashboard muestra días de cobertura, no solo unidades. Se instala en Shopify en 15 minutos y hay 14 días de prueba para contrastar los forecasts contra tu intuición sobre tu catálogo real.
Si estás adivinando reposiciones, o estás stockout o estás sentado sobre capital. El forecast es el arreglo más barato.