Pronósticos Documentación

v1 · engines
Home

Visión general

Pronóstico de ventas, ingresos, unidades, costos y demanda multi-SKU.

Esta referencia cubre 10 engines. Cada endpoint trae ruta, permiso, parámetros, respuesta y los errores posibles.

Pronóstico de costos

Compartir
POST/api/v1/cost_forecasting/process
Engine
cost_forecasting
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Pronóstico de costos vía ExponentialSmoothing vs regresión lineal, con el mejor modelo elegido por RMSE en holdout.

¿Por qué? Proyecta costos futuros a partir del histórico, entregando pronósticos por período con análisis de tendencia y diagnósticos del ajuste. Es la base para la planificación financiera y presupuestaria, permitiendo anticipar la evolución de los costos antes de cerrar cada ciclo.

¿Cómo? Entrena ExponentialSmoothing (Holt-Winters), con componentes de tendencia y estacionalidad, y regresión lineal como modelo alternativo. Los datos se dividen en entrenamiento y holdout, y el modelo con menor RMSE se selecciona automáticamente. El pronóstico viene acompañado de análisis de tendencia y diagnósticos.

Origen Los métodos siguen la base consolidada en Hyndman y Athanasopoulos (2021), "Forecasting: Principles and Practice", 3.ª edición, OTexts.

Literatura de referencia

  • Hyndman, R. J. & Athanasopoulos, G. (2021). "Forecasting: Principles and Practice." 3rd ed., OTexts.

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
forecast_horizonintegerno30Número de períodos a pronosticar. Entero positivo.
frequencystringno"D"Frecuencia temporal de la serie: 'D' (diaria), 'W' (semanal) o 'M' (mensual). Determina el período estacional del ExponentialSmoothing.

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha de la observación (ISO 8601 u otros formatos aceptados).
costnumberValor del costo en la fecha. Al menos 10 observaciones.

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/cost_forecasting/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/cost_forecasting/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Planificación de demanda

Compartir
POST/api/v1/demand_planning/process
Engine
demand_planning
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Pronóstico de demanda multi-SKU con ranking por volumen y alertas de tendencia.

¿Por qué? Genera pronósticos de demanda para múltiples SKUs de una sola vez, entregando un ranking por volumen proyectado y alertas de cambio significativo de tendencia por producto. Es la herramienta indicada para la planificación de la cadena de suministro con visión consolidada, priorizando los productos de mayor impacto y señalando temprano los que cambian de comportamiento.

¿Cómo? Aplica pronóstico de series temporales (ARIMA, Holt-Winters y tendencia lineal) de forma independiente por SKU, a través del engine central de pronóstico de ventas. Los SKUs se ordenan por volumen proyectado y la tendencia de cada uno se analiza, con alertas para cambios significativos. Los resultados se agregan en una vista consolidada.

Origen Los métodos siguen la base consolidada en Hyndman y Athanasopoulos (2021), "Forecasting: Principles and Practice", 3.ª edición, OTexts.

Literatura de referencia

  • Hyndman, R. J. & Athanasopoulos, G. (2021). "Forecasting: Principles and Practice." 3rd ed., OTexts.

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
forecast_horizonintegerno30Número de períodos a pronosticar por SKU. Entero positivo.
frequencystringno"D"Frecuencia temporal de la serie: 'D' (diaria), 'W' (semanal) o 'M' (mensual).
top_kintegerno20Cantidad de SKUs mejor rankeados (por volumen proyectado) en la salida detallada.

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha de la observación.
sku_idstringIdentificador de SKU/producto. Acepta el alias 'product_id'.
units_soldnumberUnidades vendidas del SKU en la fecha. Acepta aliases: demand, units, value, amount, quantity.

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/demand_planning/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/demand_planning/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Pronóstico de costos (CV)

Compartir
POST/api/v1/forecast_cost_improved/process
Engine
forecast_cost_improved
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Pronóstico de costos con validación cruzada de ventana expansiva, comparación por MAPE e intervalos de confianza.

¿Por qué? Versión más robusta del pronóstico de costos, con validación más rigurosa y resultados acompañados de intervalos de confianza y diagnósticos de residuos. Es la opción indicada cuando la decisión presupuestaria exige mayores garantías sobre la calidad del modelo, y no solo una proyección puntual.

¿Cómo? Evalúa ExponentialSmoothing y regresión lineal como modelos base, con Prophet como modelo adicional opcional. La selección usa validación cruzada de ventana expansiva, más robusta que un holdout único, con las métricas MAPE y RMSE. El resultado incluye intervalos de confianza y análisis de residuos.

Origen Se basa en Taylor y Letham (2018), "Forecasting at Scale", The American Statistician, 72(1), 37-45, y en Hyndman y Athanasopoulos (2021), "Forecasting: Principles and Practice".

Literatura de referencia

  • Taylor, S. J. & Letham, B. (2018). "Forecasting at Scale." The American Statistician, 72(1), 37-45.
  • Hyndman, R. J. & Athanasopoulos, G. (2021). "Forecasting: Principles and Practice."

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
forecast_horizonintegerno30Número de períodos a pronosticar. Entero positivo.
frequencystringno"D"Frecuencia temporal de la serie: 'D' (diaria), 'W' (semanal) o 'M' (mensual).
n_splitsintegerno3Número de pliegues de la validación cruzada de ventana expansiva. Entero >= 2.
use_prophetbooleannotrueSi además debe probar un modelo Prophet cuando el paquete esté instalado.

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha de la observación.
costnumberValor del costo en la fecha. Al menos 20 observaciones para la validación cruzada.
categorystringnoCategoría de costo opcional. Si está presente, todas las filas deben compartir un único valor; mezclar categorías en una request se rechaza.

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/forecast_cost_improved/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/forecast_cost_improved/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Pronóstico de costos (dominio)

Compartir
POST/api/v1/forecast_cost_totus/process
Engine
forecast_cost_totus
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Pronóstico de costos de dominio con ajuste de inflación opcional y detalle por categoría.

¿Por qué? Pronóstico de costos orientado al análisis empresarial, capaz de proyectar por categoría de costo, trabajar en valores reales con ajuste de inflación y separar costos fijos de variables. Es útil para presupuestos detallados por área y para entender qué parte de la estructura de costos acompaña el volumen de operación.

¿Cómo? Se construye sobre el motor de pronóstico de costos de la plataforma como base. Aplica ajuste por la tasa de inflación para proyecciones en valores reales, agrega y pronostica por categoría de costo y descompone los costos en componentes fijos y variables.

Origen Los métodos siguen la base consolidada en Hyndman y Athanasopoulos (2021), "Forecasting: Principles and Practice", 3.ª edición, OTexts.

Literatura de referencia

  • Hyndman, R. J. & Athanasopoulos, G. (2021). "Forecasting: Principles and Practice." 3rd ed., OTexts.

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
forecast_horizonintegerno30Número de períodos a pronosticar. Entero positivo.
frequencystringno"D"Frecuencia temporal de la serie: 'D' (diaria), 'W' (semanal) o 'M' (mensual).
inflation_ratenumberno0Tasa anual de inflación aplicada al pronóstico (ej.: 0.05 = 5%/año). Entre -0.5 y 2.0.
group_by_categorybooleannofalseCuando es true, pronostica cada valor de 'category' de forma independiente y agrega en un pronóstico total. Exige la columna 'category'.

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha de la observación.
costnumberValor del costo en la fecha.
categorystringnoCategoría de costo. Obligatoria solo cuando group_by_category=true; cada categoría necesita al menos 10 observaciones.

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/forecast_cost_totus/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/forecast_cost_totus/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Pronóstico (profundo)

Compartir
POST/api/v1/forecast_deep/process
Engine
forecast_deep
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Pronóstico multi-horizonte con deep learning y aceleración dedicada (N-BEATS / N-HiTS, fallback MLP).

Entrena un modelo N-BEATS o N-HiTS (con aceleración dedicada) sobre las columnas objetivo/fecha nombradas en los params, cayendo a un pronosticador MLP por ventanas cuando N-BEATS/N-HiTS no están disponibles. Produce un pronóstico por horizonte pedido, con intervalos de confianza de 80%/95% y una descomposición tendencia/estacional/residuo.

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
target_columnstringNombre de la columna numérica de 'data' a pronosticar. Sin valor por defecto; el job falla sin él.
date_columnstringNombre de la columna de fecha/datetime en 'data'. Sin valor por defecto; el job falla sin él.
horizonsarrayno[7,30,90]Lista de horizontes de pronóstico (enteros positivos, en pasos de tiempo). Un modelo por horizonte; máximo 10 horizontes.
frequencystringno"daily"Frecuencia de la serie temporal: 'daily', 'weekly', 'monthly' u 'hourly'.
algorithmstringno"auto"Backend de pronóstico: 'auto' (N-BEATS/N-HiTS si está disponible, si no MLP), 'nbeats', 'nhits' o 'mlp_forecast'.
epochsintegerno200Número de épocas/pasos de entrenamiento. Entero positivo.
exogenous_columnsarrayno[]Lista opcional de columnas adicionales usadas como regresores exógenos.
random_stateintegerno42Semilla aleatoria. Entero no negativo.

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha/datetime de la observación. El nombre de la columna es configurable vía date_column (este ejemplo usa 'date').
valuenumberValor numérico a pronosticar. El nombre de la columna es configurable vía target_column (este ejemplo usa 'value'). Al menos 20 observaciones.

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/forecast_deep/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/forecast_deep/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Pronóstico de ingresos

Compartir
POST/api/v1/forecast_revenue/process
Engine
forecast_revenue
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Pronóstico de ingresos con crecimiento YoY y descomposición opcional volumen vs precio.

¿Por qué? Proyecta los ingresos futuros, entregando pronósticos por período acompañados de métricas específicas de ingresos, como crecimiento interanual (YoY) y descomposición opcional entre volumen y precio. Da a las áreas comercial y financiera una visión anticipada de la facturación y de las fuerzas que la impulsan.

¿Cómo? Compara ARIMA con selección automática de órdenes (p, d, q), ExponentialSmoothing (Holt-Winters) con componentes de tendencia y estacionalidad, y tendencia lineal como línea base. El mejor modelo se elige por RMSE en holdout. Sobre el pronóstico se calculan las métricas específicas de ingresos, incluido el crecimiento YoY.

Origen Los métodos siguen la base consolidada en Hyndman y Athanasopoulos (2021), "Forecasting: Principles and Practice", 3.ª edición, OTexts.

Literatura de referencia

  • Hyndman, R. J. & Athanasopoulos, G. (2021). "Forecasting: Principles and Practice." 3rd ed., OTexts.

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
forecast_horizonintegerno30Número de períodos a pronosticar. Entero positivo.
frequencystringno"D"Frecuencia temporal de la serie: 'D' (diaria), 'W' (semanal) o 'M' (mensual). También determina la ventana de comparación YoY.

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha de la observación.
revenuenumberMonto de ingresos en la fecha.
quantitynumbernoUnidades vendidas en la fecha. Junto con unit_price, habilita la descomposición volumen vs precio.
unit_pricenumbernoPrecio unitario promedio en la fecha. Junto con quantity, habilita la descomposición volumen vs precio.

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/forecast_revenue/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/forecast_revenue/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Pronóstico (modelo guardado)

Compartir
POST/api/v1/forecast_saved/process
Engine
forecast_saved
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Pronóstico con un modelo preentrenado cargado desde el almacenamiento de objetos, o fallback ExponentialSmoothing entrenado en la entrada.

¿Por qué? Genera pronósticos a partir de un modelo preentrenado almacenado en la plataforma, permitiendo inferencia rápida sin repetir el entrenamiento en cada llamada. Es la opción indicada para flujos recurrentes donde el mismo modelo ya validado debe reutilizarse con baja latencia.

¿Cómo? Carga el modelo serializado desde la ruta indicada y ejecuta la inferencia directamente sobre él. Si no se proporciona ninguna ruta o el modelo no está disponible, entrena un ExponentialSmoothing al momento como respaldo, garantizando que el pronóstico siempre se genere.

Origen Los métodos siguen la base consolidada en Hyndman y Athanasopoulos (2021), "Forecasting: Principles and Practice", 3.ª edición, OTexts.

Literatura de referencia

  • Hyndman, R. J. & Athanasopoulos, G. (2021). "Forecasting: Principles and Practice." 3rd ed., OTexts.

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
forecast_horizonintegerno30Número de períodos a pronosticar. Entero positivo.
model_pathstringnoRuta (s3://bucket/clave) de un modelo preentrenado serializado. Cuando se omite, se entrena un ExponentialSmoothing de fallback sobre la propia entrada.

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha de la observación.
valuenumberValor histórico en la fecha, usado como entrenamiento del fallback (o contexto de predicción cuando se carga un modelo guardado).

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/forecast_saved/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/forecast_saved/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Pronóstico de unidades

Compartir
POST/api/v1/forecast_units/process
Engine
forecast_units
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Pronóstico de unidades/demanda con detección de estacionalidad y clasificación de tendencia.

¿Por qué? Pronostica ventas y demanda en unidades, entregando proyecciones por período con detección de estacionalidad y clasificación de la tendencia como creciente, estable o decreciente. Es la base cuantitativa para la planificación de inventario y producción.

¿Cómo? Compara ARIMA con estacionalidad detectada vía autocorrelación, ExponentialSmoothing (Holt-Winters) con componentes estacionales aditivos o multiplicativos y tendencia lineal como línea base. El mejor modelo se selecciona por RMSE. La tendencia resultante se clasifica como creciente, estable o decreciente.

Origen Los métodos siguen la base consolidada en Hyndman y Athanasopoulos (2021), "Forecasting: Principles and Practice", 3.ª edición, OTexts.

Literatura de referencia

  • Hyndman, R. J. & Athanasopoulos, G. (2021). "Forecasting: Principles and Practice." 3rd ed., OTexts.

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
forecast_horizonintegerno30Número de períodos a pronosticar. Entero positivo.
frequencystringno"D"Frecuencia temporal de la serie: 'D' (diaria), 'W' (semanal) o 'M' (mensual). Determina el período estacional verificado (7/52/12).

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha de la observación.
unitsnumberNúmero de unidades vendidas en la fecha.

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/forecast_units/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/forecast_units/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Pronóstico de unidades (lote)

Compartir
POST/api/v1/forecast_units_asyncio/process
Engine
forecast_units_asyncio
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Wrapper de sales_forecasting ruteable por callback para envíos en lote con metadatos de entrega asíncrona.

¿Por qué? Variante de ejecución asíncrona del pronóstico de unidades: entrega los mismos pronósticos de demanda, con el resultado enrutado por callback cuando el procesamiento termina. Es la opción indicada para integraciones donde la respuesta no necesita ser inmediata y el resultado se entrega de forma asíncrona al sistema que llama.

¿Cómo? Usa los mismos algoritmos del engine central de pronóstico de ventas (ARIMA, ExponentialSmoothing y tendencia lineal), con selección de modelo por RMSE. La diferencia es la capa de metadatos asíncronos adjunta al resultado, que permite enrutar la respuesta por callback.

Origen Los métodos siguen la base consolidada en Hyndman y Athanasopoulos (2021), "Forecasting: Principles and Practice", 3.ª edición, OTexts.

Literatura de referencia

  • Hyndman, R. J. & Athanasopoulos, G. (2021). "Forecasting: Principles and Practice." 3rd ed., OTexts.

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
forecast_horizonintegerno30Número de períodos a pronosticar. Entero positivo.
frequencystringno"D"Frecuencia temporal de la serie: 'D' (diaria), 'W' (semanal) o 'M' (mensual).
callback_queuestringnoNombre opcional de la cola donde debe publicarse el resultado asíncrono. String no vacío si se entrega.
batch_idstringnoIdentificador opcional del lote para seguimiento (string o entero).
batch_positionintegernoPosición opcional (base cero) de este job dentro del lote. Entero no negativo.
batch_totalintegernoTotal opcional de ítems en el lote. Entero positivo.

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha de la observación.
valuenumberValor de ventas en la fecha. Acepta aliases: units, revenue, amount, sales, quantity.

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/forecast_units_asyncio/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/forecast_units_asyncio/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Pronóstico de ventas

Compartir
POST/api/v1/sales_forecasting/process
Engine
sales_forecasting
Grupo
forecast
Auth
X-TENANT-KEY | Authorization: Bearer
Entrada
JSON inline (data[]) o archivo .json/.csv/.parquet vía multipart/form-data
Modos
asíncrono (202) · ?sync=true (200) · ?dry_run=true (200, efímero)

Propósito

Pronóstico de ventas multi-modelo (ExponentialSmoothing, ARIMA, tendencia lineal) con selección automática del mejor.

¿Por qué? Engine central de pronóstico de ventas de la plataforma: proyecta las ventas futuras y entrega los pronósticos acompañados de intervalos de confianza. El enfoque multimodelo maximiza la precisión sin exigirle elegir el método, sirviendo de base para metas comerciales y decisiones de planificación.

¿Cómo? Entrena ARIMA con selección automática de orden por criterio de información, ExponentialSmoothing (Holt-Winters) con optimización de parámetros y tendencia lineal como línea base. El mejor modelo se elige automáticamente por el menor RMSE en holdout. Los intervalos de confianza son paramétricos.

Origen Se fundamenta en la obra clásica de Box, Jenkins y Reinsel (2015), "Time Series Analysis: Forecasting and Control", 5.ª edición, Wiley.

Literatura de referencia

  • Box, G. E. P., Jenkins, G. M. & Reinsel, G. C. (2015). "Time Series Analysis: Forecasting and Control." 5th ed., Wiley.

Parámetros (params)

CampoTipoObligatorioPor defectoDescripción
forecast_horizonintegerno30Número de períodos a pronosticar. Entero positivo.
frequencystringno"D"Frecuencia temporal de la serie: 'D' (diaria), 'W' (semanal) o 'M' (mensual).

Columnas de data[]

ColumnaTipoObligatoriaDescripción
datestringFecha de la observación.
valuenumberValor de ventas en la fecha. Acepta aliases: units, revenue, amount, sales, quantity. No puede contener nulos/NaN. Al menos 10 períodos tras el remuestreo.

Respuesta

En modo asíncrono (por defecto), 202 Accepted con {"process_uuid", "result_url"}; el resultado sale en GET /api/v1/results/{process_uuid}. Con ?sync=true o ?dry_run=true la respuesta es 200 con el resultado inline (y 504 con el process_uuid si el worker no responde a tiempo).

Errores

  • 403 - la engine no está en allowed_engines de tu suscripción.
  • 413 - subida por encima de max_upload_mb.
  • 422 - engine desconocida o inactiva en el catálogo.
  • 429 - cuota diaria (max_jobs_per_day) o por minuto excedida.

La validación es fail-fast: un envío rechazado no tiene ningún efecto secundario.

Probar solicitudOPENAPI
POST
https://intelligence.echosistema.live/api/v1/sales_forecasting/process?dry_run=true&playground=true
AUTENTICACIÓN
X-TENANT-KEY
QUERY PARAMS
sync
dry_run
playground
REQUEST BODY · JSON
Envía la solicitud para ver la respuesta.
curl
curl -X POST "https://intelligence.echosistema.live/api/v1/sales_forecasting/process?dry_run=true&playground=true" \
  -H "X-TENANT-KEY: $TENANT_KEY"

Entrar

Usa tu cuenta EchoSistema para seguir tus integraciones.