Previsión de la demanda de envíos y distribución

Blob Storage
Data Factory
Functions
HDInsight
Web Apps

La solución de previsión de la demanda de envíos y distribución utiliza datos del historial de la demanda para prever la futura demanda en diferentes clientes, productos y destinos.The Demand Forecasting for Shipping and Distribution Solution uses historical demand data to forecast demand in future periods across various customers, products and destinations. Por ejemplo, una empresa de envío o entrega desea predecir las cantidades de los distintos productos que sus clientes quieren que se entreguen en diferentes ubicaciones en el futuro.For instance, a shipping or delivery company wants to predict the quantities of the different products its customers want delivered at different locations at future times. Después puede usar estas previsiones como entrada para una herramienta de asignación que optimice las operaciones, como las rutas de los vehículos de entrega, o para planear la capacidad a largo plazo.A company can use these forecasts as input to an allocation tool that optimizes operations, such as delivery vehicles routing, or to plan capacity in the longer term.

Ver en GitHubView on GitHub

ArchitectureArchitecture

Diagrama de la arquitectura Descargue un SVG de esta arquitectura.Architecture diagram Download an SVG of this architecture.

ResumenSummary

Esta es una solución de Azure que reduce la incertidumbre que generan los envíos previstos en aquellas organizaciones que necesitan planear en función de las cantidades futuras.This is an an Azure Solution to reduce the uncertainty in forecasted shipments for organizations that need to plan based on future quantities. En esta página se explican las funciones de la solución y cómo instalar una copia de la misma que se pueda ejecutar y modificar en una suscripción de Azure.This page explains what the Solution does, and how to install a copy that you can run and modify in your Azure subscription.

Las soluciones de Azure que se encuentran en la galería de Cortana Intelligence constan de herramientas de análisis avanzado para la ingesta de datos, el almacenamiento de datos, la programación y los componentes de análisis avanzado (todos ellos son los elementos esenciales para ejecutar una solución de previsión de la demanda que se puede integrar en sus sistemas de producción actuales).Azure Solutions in the Cortana Intelligence Gallery are composed of advanced analytics tools for data ingestion, data storage, scheduling and advanced analytics components - all of the essential elements for running a demand forecasting solution that can be integrated with your current production systems. Esta solución combina varios servicios de Azure.This Solution combines several Azure services. Azure SQL Server se usa para almacenar previsiones y el historial de datos de distribución, el servicio web Azure Machine Learning (AML) para hospedar el código de previsión de R, Azure Data Factory para organizar todo el flujo de trabajo y Power BI para visualizarlo.Azure SQL Server is used for storing forecasts and historical distribution data, Azure Machine Learning (AML) webservice for hosting the R forecasting code, Azure Data Factory to orchestrate the entire workflow, and Power BI to visualize it.

Use el repositorio GitHub para implementar una instancia de la solución en la suscripción de Azure que especifique.Use the GitHub repository to deploy an instance of the Solution for the Azure subscription you specify. Así podrá acceder a los pasos de su suscripción necesarios para crear e iniciar los recursos que componen esta solución, con el fin de que pueda ejecutarla.This will bring you through the steps in your subscription needed to create and launch the resources that make up this solution so that you can run it. La solución incluye varios servicios de Azure (que se describen a continuación), junto con funciones de Azure que, entre otras tareas, simulan los datos y rellenan la base de datos con ellos, con el fin de que tenga una solución de un extremo a otro en cuanto termine la implementación.The Solution includes multiple Azure services (described below) along with Azure functions that, among other tasks, simulate the data and populate the database with it, so that immediately after deployment you will have a working end-to-end solution.

DescriptionDescription

Costo diario estimado: 4,66 USDEstimated Daily Cost: $4.66

La solución de previsión de la demanda de envíos y distribución utiliza datos del historial de la demanda para prever la futura demanda en diferentes clientes, productos y destinos.The Demand Forecasting for Shipping and Distribution Solution uses historical demand data to forecast demand in future periods across various customers, products and destinations. Por ejemplo, una empresa de envío o entrega desea predecir las cantidades de los distintos productos que sus clientes quieren que se entreguen en diferentes ubicaciones en el futuro.For instance, a shipping or delivery company wants to predict the quantities of the different products its customers want delivered at different locations at future times. O bien, un proveedor o una compañía de seguros desean saber cuántos productos se van a devolver por averías en el transcurso de un año.Similarly a vendor or insurer wants to know the number of products that will be returned due to failures over the course of a year. Después puede usar estas previsiones como entrada para una herramienta de asignación que optimice las operaciones, como las rutas de los vehículos de entrega, o para planear la capacidad a largo plazo.A company can use these forecasts as input to an allocation tool that optimizes operations, such as delivery vehicles routing, or to plan capacity in the longer term.

Estas son las características de todos estos casos de previsión:Characteristics of all of these forecasting cases are:

  • Hay muchos tipos de elementos con volúmenes diferentes, que se acumulan en uno o varios niveles de categoría.There are numerous kinds of items with differing volumes, that roll up under one or more category levels.
  • Hay un historial disponible que contiene la cantidad de artículo que había en cada momento en el pasado.There is a history available for the quantity of the item at each time in the past. Los volúmenes de los elementos difieren considerablemente y posiblemente haya un número importante de elementos cuyo volumen a veces sea cero.The volumes of the items differ widely, with possibly a substantial number that have zero volume at times.
  • El historial de elementos muestra tanto la tendencia como la estacionalidad, posiblemente en varias escalas de tiempo.The history of items shows both trend and seasonality, possibly at multiple time scales. Las cantidades confirmadas o devueltas no tienen una gran diferencia de precio.The quantities committed or returned are not strongly price sensitive. En otras palabras, la empresa que realiza la entrega no puede influir mucho en las cantidades mediante cambios de precio a corto plazo, aunque puede haber otros factores determinantes que afecten al volumen, como el tiempo.In other words, the delivery company cannot strongly influence quantities by short-term changes in prices, although there may be other determinants that affect volume, such as weather.

En estas condiciones, se puede aprovechar la jerarquía formada entre la serie temporal de los distintos elementos.Under these conditions we can take advantage of the hierarchy formed among the time series of the different items. Al exigir coherencia, con el fin de que las cantidades menores de la jerarquía (por ejemplo, las cantidades de los productos individuales) se sumen a las cantidades superiores (los totales de productos de los clientes), aumenta la precisión de la previsión global.By enforcing consistency so that the quantities lower in the hierarchy (e.g. individual product quantities) sum to the quantities above (customer product totals) we improve the accuracy of the overall forecast. Lo mismo sucede si los elementos individuales se agrupan en categorías, incluso en categorías que se superpongan.The same applies if individual items are grouped into categories, even possibly categories that overlap. Por ejemplo, puede que le interese prever la demanda de todos los productos en total, por ubicación, por categoría de producto, por cliente, etc.For example, one might be interested in forecasting demand of all products in total, by location, by product category, by customer, etc.

Esta solución calcula las previsiones en todos los niveles de agregación de la jerarquía para cada período especificado.This Solution computes forecasts at all aggregation levels in the hierarchy for each time period specified. Para simplificar, llamaremos "serie temporal jerárquica" tanto a la serie temporal agrupada como a la jerárquica.For simplicity, we will refer to both hierarchial and grouped time series as "hierarchical time series."

Previsión de envíos y distribución en usoShipping and distribution forecasting in use

Agradecemos a Kotahi que hayan colaborado con nosotros para desarrollar esta solución.We thank Kotahi for working with us to develop this Solution. Kotahi es una empresa de logística que planea, busca un distribuidor y entrega contenedores de carga para las exportaciones de Nueva Zelanda.Kotahi is a supply chain company that plans, sources, and delivers shipping containers for New Zealand exports. Lea cómo se puso en contacto con Microsoft y con un asociado del círculo interno de Microsoft Dynamics 2016, DXC Eclipse, para ponerlo en producción.Read their Customer Story on how they engaged with us at Microsoft and a Microsoft Dynamics 2016 Inner Circle partner, DXC Eclipse, to put this into production. La solución ayudó a aumentar la precisión de la previsión y, en consecuencia, a mejorar su capacidad para elegir los buques de tamaño correcto y en el momento adecuado, y para enviarlos a los puertos correctos.The solution helped to increase forecast accuracy and so improve their ability to choose the right-size container ships, at the right times, and dispatch them to the right ports.

Los entresijos de la soluciónWhat's under the hood

La solución usa cinco tipos de recursos hospedados y administrados en Azure:The Solution uses five types of resources hosted and managed in Azure:

  • Una instancia de Azure SQL Server (Azure SQL) para el almacenamiento persistente.Azure SQL Server instance (Azure SQL) for persistent storage
  • El servicio web Azure Machine Learning (AML) para hospedar el código de previsión de R.Azure Machine Learning (AML) webservice to host the R forecasting code
  • Azure Blob Storage para el almacenamiento intermedio de las previsiones generadas.Azure Blob Storage for intermediate storage of generated forecasts
  • Azure Data Factory (ADF), que organiza ejecuciones normales del modelo de AML.Azure Data Factory (ADF) that orchestrates regular runs of the AML model
  • El panel de Power BI para mostrar y explorar en profundidad las previsionesPower BI dashboard to display and drill down on the forecasts

La solución automatiza la ejecución de previsiones periódicas, a un ritmo que se configura en ADF (por ejemplo, mensualmente), donde aprende un modelo con los datos históricos actuales y predice las cantidades de períodos futuros para todos los productos de la jerarquía.The Solution automates the running of periodic forecasts, at a pace configured in ADF (e.g. monthly), where it learns a model with the current historical data, and predicts quantities for future periods for all products in the product hierarchy. Cada ciclo de previsión consta en un recorrido de ida y vuelta que parte de la base de datos, atraviesa el modelo y vuelve a la base de datos.Each forecast cycle consists of a round-trip from the database, through the model, then back to the database. Cada ciclo mide la precisión de la previsión mediante técnicas de exclusión de datos convencionales.Each cycle measures forecast accuracy by conventional data holdout techniques. Puede configurar el número de períodos, las categorías de los productos y la jerarquía de los productos.You can configure the number of periods, the product categories and the hierarchy among products. Debe cargar los datos actuales en la base de datos de Azure SQL y extraer las previsiones después de cada ejecución de la misma base de datos.You need to load your current data in the Azure SQL database, and extract forecasts after each run from the same database. La solución expone el modelo de código de R para permitir más personalizaciones y permitirle simular datos históricos para probar la solución.The Solution exposes the R code model to allow further customizations, and to allow you to simulate historical data, to test the Solution.

Uso de la solución de previsión: IntroducciónUsing the forecasting solution: Getting started

En la guía técnica de la solución encontrará un conjunto completo de instrucciones sobre cómo usar esta solución como ejemplo de lo que se puede hacer con Cortana Intelligence Suite.See the Technical Solution Guide for a full set of instructions on how to use this Solution as an example of what is possible with the Cortana Intelligence Suite. Si tiene cualquier problema técnico o cualquier dudad sobre la implementación de esta solución, publíquelos en la pestaña de problemas del repositorio.For technical problems or questions about deploying this Solution, please post in the issues tab of the repository.

Panel de la soluciónSolution Dashboard

Este es un ejemplo de una instantánea de las previsiones que genera la solución en el panel de Power BI que se incluye con la solución.Here is an example of a snapshot of the forecasts generated by the solution in the PowerBI dashboard that comes with the Solution.

Instantánea de Power BI

Información de preciosPricing Info

La suscripción de Azure usada para la implementación incurrirá en cargos por el consumo de los servicios que se usen en esta solución, aproximadamente 4,66 USD al día.Your Azure subscription used for the deployment will incur consumption charges on the services used in this solution, approximately $4.66/day. Para más información, visite la calculadora de precios.For more information, please visit the Pricing Calculator.

Nota: Si ya no va a usar la solución implementada, recuerde eliminarla para dejar de incurrir en gastos de consumo.Note: If you are no longer using the deployed solution, remember to delete it to stop incurring consumption charges.