Descripción general de la llamada a motores de previsiones
En este tema se proporciona una descripción general de los requisitos necesarios para llamar a los motores de previsiones y generar previsiones para los artículos o ubicaciones seleccionados mediante el comando CallForecastEngine.
- El usuario o uno de los roles del usuario debe tener acceso a la macro, así como al motor de previsiones que se encuentra en el parámetro de nombre de motor. De no ser así, se emite el siguiente error en la macro al ejecutarse:
El usuario {1} no tiene acceso al motor de previsiones {0}
- Las reglas de seguridad de datos para el usuario actual que ejecuta la macro se aplican al determinar los elementos de artículo y ubicación que deben pasar al motor de previsiones para el cálculo, según el nivel de jerarquía de artículo y la selección y el nivel de jerarquía de ubicación y la selección pasados. Por ejemplo:
- CallForecastEngine ("Motor BATS","","TUPLE_EXISTS","Marca","Marca A","Región","EE. UU.","Meses").
- Si la seguridad de datos del usuario actual no permite ver la marca A, o ningún elemento base bajo la marca A, en la jerarquía de artículo, no se pasará ninguna selección al motor. Si el usuario puede acceder a un subconjunto de elementos base bajo la marca A, solo para estos artículos se generarán previsiones.
- Si la seguridad de datos del usuario actual no permite ver EE. UU. o cualquier ubicación base de los EE. UU. en la jerarquía de ubicación, no se pasará ninguna selección al motor. Si el usuario puede acceder a un subconjunto de ubicaciones base bajo los EE. UU., solo para estas ubicaciones se generarán previsiones.
- Si alguna restricción de período les impide acceder al horizonte completo del período del ciclo, sólo el subconjunto de períodos base con acceso tendrá resultados de motor persistentes. Por ejemplo, si un usuario está restringido a períodos base futuros, no se conservaría ningún resultado escrito en períodos históricos.
- La secuencia básica para que SCP prepare y llame al motor de previsiones mediante el comando de macro CallForecastEngine se realiza de la siguiente manera:
- Identificar el motor de previsiones, el tipo y la configuración predeterminada.
- Determinar los parámetros del motor de previsiones pasado.
- La configuración de parámetros no válida no se pasará al motor de previsiones para su procesamiento.
- Los parámetros obligatorios que falten no se pasarán al motor de previsiones para su procesamiento.Nota: Los parámetros se aplican a todos los artículos/ubicaciones ejecutados para un motor de previsiones de modo que los valores no válidos o los parámetros obligatorios que falten cancelan los procesamientos con un error que se notifica en el administrador de trabajos y registro de auditoría.
- Determinar las selecciones de artículos y ubicaciones para calcular.
- En función de la configuración de mapeo de medidas del motor de previsiones, recupera los valores de escenario apropiados que debe pasar al motor (todas las asignaciones de entrada).
- El sistema prepara y secuencia las llamadas de artículo y ubicación individuales que se hacen al motor de previsiones, pasando el parámetro aplicable y los valores de medida de cada artículo y ubicación. El proceso:
- El sistema se asegura de que el historial y las medidas de peso estén vinculados a como mínimo un período >0 para generar una previsión. De lo contrario, el artículo y la ubicación no se pasarán al motor de previsiones para procesarlos y aparecerá el mensaje Nada que ajustar.
- Por cada selección de artículo y ubicación, puede determinar la configuración de los parámetros mediante los parámetros del motor de previsiones y la lista de códigos de parámetros predeterminada definida para el motor de previsiones.
- Las llamadas de artículo y ubicación individuales que se hacen al motor de previsiones deben prepararse y secuenciarse pasando los parámetros y los valores de medida aplicables de cada llamada de artículo y ubicación.
- En función de la configuración de mapeo de medidas definidas para el motor de previsiones, puede recuperar los valores de escenario adecuados que deben pasarse al motor (para los valores de entrada Historial, Máscara del historial y Valor ponderado del período). Nota: Las combinaciones de artículo y ubicación que utilicen configuraciones de parámetros no válidas no se pasan al motor de previsiones para procesarlas. El error en un parámetro se notifica una sola vez para una lista de códigos de parámetros en el registro de descartes.
- Cuando el algoritmo no es "Solo eventos", realice la prueba de historial breve para comprobar el número de puntos de datos del historial después de eliminar los ceros iniciales y las máscaras definidas por el usuario, en comparación con el parámetro de historial breve.Nota:
- Cuando los puntos de historial < al parámetro de historial breve, el artículo/ubicación se marca como historial breve y no se pasa al motor de previsiones.
- Valor del historial = 0 después de añadir el primer período distinto de cero al vector del historial como 0 y se cuenta como parte de la prueba de historial breve.
- El valor de "1" se escribe en la medida Excepción de historial breve, si se asigna en esta configuración del motor de previsiones.
- El recuento de artículos/ubicaciones añadidos a la excepción de historial breve se incluye en el registro de descartes.
- Si el valor de máscara del historial se ha establecido (>0) para el horizonte histórico del período del ciclo, no hay datos disponibles para la previsión. La selección de artículo y ubicación no se pasa al motor de previsiones para procesarla y se registra la excepción pertinente en el registro de descartes.
- El motor de previsiones devuelve los artículos y las ubicaciones (y los períodos) que contienen una excepción, ya que todas las excepciones se basan en un problema marcado durante la última llamada al motor de previsiones.
- Las medidas mapeadas a la salida de la excepción (Excepción de inicio no válida, Obsolescencia, Valores atípicos, Excepción de historial breve, Excepción de cambio por etapas y Excepción de señal de seguimiento) para cada artículo y ubicación que se pasan al motor de previsiones no deben estar seleccionadas.
- Cuando el motor es de tipo ATT y el algoritmo es HOLTWINTERS, MÍNIMOSCUADRADOS, PROMEDIOMÓVIL o CROSTON y la medida SMP = 0 o no está definida, el motor de previsiones debe llamarse haciendo que fitModelGivenAlgorithm() ignore el algoritmo especificado.
- El historial y los vectores de máscara deben tener la misma longitud. Nota: Son válidos los valores de máscara 0 (o Nulos) de todos los períodos. Esto indica que no hay ningún período enmascarado.
- Los valores de historial se normalizan usando la medida de peso especificada antes de que pasen al motor.
- Cuando se genera la previsión, el sistema guarda los resultados del motor de previsiones relativos a cada artículo y ubicación en los valores de escenario de las medidas de resultados definidas. Para ello utiliza la configuración de mapeo de medidas. Esto incluye:
- Normalizar la previsión mediante el vector de valor ponderado del período especificado para el horizonte futuro del período del ciclo, antes de guardar los datos de la previsión.
- Normalizar los valores Adaptar modelo en línea e Historial de ajuste del modelo mediante el vector de valor ponderado del período especificado para el horizonte histórico del período del ciclo, antes de guardar los datos de la previsión, si están mapeados.
- Si la excepción de obsolescencia está mapeada a una medida para un motor de previsiones determinado, SCP efectúa una comprobación de obsolescencia adicional para cada artículo y ubicación devueltos:
- Definición: El artículo y las ubicaciones cuyo nivel previsto sea negativo (<0) en el horizonte futuro del período del ciclo (períodos de previsión).
- Cálculo: Nivel + (Crecimiento * Períodos de previsión) <0.
- La obsolescencia solo se da si Crecimiento <0. Así, el artículo y las ubicaciones cuyo Crecimiento >=0 no se tienen en cuenta.
- En el cálculo no se incluyen los pasos de macro modificados ni la amortiguación del crecimiento.
- Horizonte futuro de 12 meses = Nivel + (Crecimiento * 12). Si Nivel = 100, Crecimiento = -10, esta combinación de artículo y ubicaciones se considera obsoleta.
- Si se asignan, se pueden derivar los índices estacionales:
- Aplicables donde el algoritmo es Holt-Winters (o seleccionarse como Holt-Winters, por Mejor) y el formulario modelo resultante es estacional. El tipo de índices estacionales devueltos se indican por Tipo estacional.
- Esto se devuelve como un vector de n valores numéricos, donde n es la periodicidad pasada al motor de previsiones.
- El valor se escribirá en los n períodos históricos más recientes.
Por ejemplo: Motor de previsiones Periodicidad = 12 (meses), Periodicidad del ciclo = Meses, Período de ciclo = AF14 M07. Se aplican 12 índices estacionales a los meses AF13 M07 hasta el AF14 M06.Nota: Los valores se distribuyen proporcionalmente hasta el nivel en el que se almacenan los valores de escenario, donde sea aplicable. - Los resultados de la llamada al motor de previsiones se actualizan con los períodos del horizonte futuro del período de ciclo, el horizonte histórico del período de ciclo o como un valor estático en PCONST.
- Los resultados de Previsión y atípico, Cambio de paso y Excepciones de señal de seguimiento (un vector de valores) se escriben en los períodos futuros del horizonte de previsión del período de ciclo.
- Los resultados de Desviación estándar, Nivel, Crecimiento y Excepción de historial breve (un valor único) se escriben en el elemento PCONST de la dimensión de período.
- Los resultados de Historial de ajuste del modelo normalizado y Adaptar modelo en línea (un vector de valores) se escriben en los períodos históricos del horizonte histórico del período de ciclo.
- Los resultados de la macro CallForecastEngine se transfieren al administrador de trabajos y al registro de auditoría. El proceso:
- El sistema genera un archivo de registro con información adicional a partir del resultado del motor de previsiones.
- Los artículos y ubicaciones sin un historial, peso y valores de entrada de máscara válidos se devuelven como Nada que ajustar.
- Los artículos y ubicaciones sin la configuración de parámetro válida se devuelven con un error y valores incorrectos.
- Para cada parámetro no válido de una lista de códigos de parámetros se registra un error en los conjuntos de parámetros. Por ejemplo, La lista de códigos de parámetros "Parámetros BATS predeterminados" contiene un valor no válido (1): (2). 1= parámetro, 2 = error
- Cuando se identifica una combinación de artículo y ubicación que no se ha procesado correctamente, ya sea mediante la validación de SCP o que se haya devuelto mediante el motor de previsiones con un código de error, se registra el error en el registro de descartes con un mensaje de error detallado. Por ejemplo, No hay ningún historial que no sea cero. No se puede ajustar el modelo.
- En el registro de descartes se actualizan las excepciones de previsión para cada excepción de un trabajo. Ello incluye las excepciones Historial breve, Obsolescencia, Valores atípicos, Señal de seguimiento, Cambios por etapas y Excepción de inicio no válida. Por ejemplo: 22 artículos/ubicaciones marcados como valores atípicos.