Skip navigation

Demand Forecasting

Accurately forecasting spikes in demand for products and services can give a company a competitive advantage. This solution focuses on demand forecasting within the energy sector.


Note: If you have already deployed this solution, click here to view your deployment.

Estimated provisioning time: 25 minutes


Accurately forecasting spikes in demand for products and services can give a company a competitive advantage. The better the forecasting, the more they can scale as demand increases, and the less they risk holding onto unneeded inventory. Use cases include predicting demand for a product in a retail/online store, forecasting hospital visits and anticipating power consumption.

This solution focuses on demand forecasting within the energy sector. Storing energy is not cost effective, so utilities and power generators need to forecast future power consumption so that they can efficiently balance the supply with the demand. During peak hours, short supply can result in power outages. Conversely, too much supply can result in a waste of resources. Advanced demand forecasting techniques detail hourly demand and peak hours for a particular day, allowing an energy provider to optimise the power generation process. This solution using Cortana Intelligence enables energy companies to quickly introduce powerful forecasting technology into their business.


The Cortana Intelligence Suite provides advanced analytics tools through Microsoft Azure – data ingestion, data storage, data processing and advanced analytics components – all of the essential elements for building a demand forecasting for energy solution.

This solution combines several Azure services to provide powerful advantages. Event Hubs collects real-time consumption data. Stream Analytics aggregates the streaming data and makes it available for visualisation. Azure SQL stores and transforms the consumption data. Machine Learning implements and executes the forecasting model. PowerBI provides a visualisation of the real-time energy consumption and the forecast results. Finally, Data Factory orchestrates and schedules the entire data flow.

The ‘Deploy’ button will launch a workflow that will deploy an instance of the solution within a Resource Group in the Azure subscription you specify. The solution includes multiple Azure services (described below) along with a web job that simulates data so that immediately after deployment you have a working end-to-end solution. The sample data of this solution is simulated from publicly available data from the NYISO.

Technical details and workflow

  1. The sample data is streamed by newly deployed Azure Web Jobs.
  2. This synthetic data feeds into the Azure Event Hubs and Azure SQL service as data points or events, which will be used in the rest of the solution flow.
  3. Azure Stream Analytics analyses the data to provide near real-time analytics on the input stream from the event hub, and publishes directly to PowerBI for visualisation.
  4. The Azure Machine Learning service is used to make forecasts on the energy demand of a particular region given the inputs received.
  5. Azure SQL Database is used to store the prediction results received from the Azure Machine Learning service. These results are then consumed in the Power BI dashboard.
  6. Azure Data Factory handles orchestration and scheduling of the hourly model retraining.
  7. Finally, Power BI is used for results visualisation, so that users can monitor a region’s energy consumption in real time and use the forecast demand to optimise the power generation or distribution process.

Pricing Info

Your Azure subscription used for the deployment will incur consumption charges on the services used in this solution. For pricing details, visit the Azure Pricing Page.


©2017 Microsoft Corporation. All rights reserved. This information is provided “as is” and may change without notice. Microsoft makes no warranties, express or implied, with respect to the information provided here. Third-party data was used to generate the solution. You are responsible for respecting the rights of others, including procuring and complying with relevant licences in order to create similar datasets.

Related solution architectures

Demand Forecasting and Price Optimisation

Pricing is recognised as a pivotal determinant of success in many industries and can be one of the most challenging tasks. Companies often struggle with several aspects of the pricing process, including accurately forecasting the financial impact of potential tactics, taking reasonable consideration of core business constraints, and fairly validating the executed pricing decisions. Expanding product offerings adds further computational requirements to making real-time pricing decisions, thereby compounding the difficulty of this already overwhelming task.

Demand Forecasting for Shipping and Distribution

The Demand Forecasting for Shipping and Distribution Solution uses historical demand data to forecast demand in future periods across various customers, products and destinations. 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. A company can use these forecasts as inputs into an allocation tool that optimises operations, e.g. in the routing of delivery vehicles, or to plan capacity in the longer term.

User ActionSimulation Personalized OfferLogic System ResponseQueue User ActionQueue Event Hub Stream Analytics Power BI Machine Learning Cold StartProduct Affinity User Document DB Product Offers Reference Product Views Offer Views Cache Update Logic Azure Services Raw Stream Data 1 2 3 5 4

Personalised offers

In today’s highly competitive and connected environment, modern businesses can no longer survive with generic, static online content. Furthermore, marketing strategies using traditional tools are often expensive, hard to implement, and do not produce the desired return on investment. These systems often fail to take full advantage of the data collected to create a more personalised experience for the user.