Price forecasting is a must-have analytical technique in current competitive and volatile market. There are many use-cases where price-forecasting plays a critical role such as retail price forecasting for optimization purposes, telecom voice-route price forecasting, electricity price forecasting for predicting spot and forward price, crude oil price forecasting, stock price forecasting and many others

As many business decisions are made on price forecast, it is important to get it correctly.

In this blog, I explain the different approaches for price forecasting and then explain more about using Time Series modeling to forecast price

I will also touch upon how to do large-scale price forecasting using Aster

Fundamental Analysis establishes a systematic and formal procedure for exploring demand-supply in real markets. It attempts to both anticipate changes in supply/demand information, and to evaluate the direction and range of price movement resulting from new information. Some of these methods are Market research, Anticipation Survey, Panel Consensus.

Fundamental Analysis methods could be useful where forecasting cannot be done technically solely using historical data. It requires other data such as macro-economic, news events, company balance-sheet etc. As an example, they are used a lot in stock price forecasting or crude oil price forecasting . These methods are also useful when there is no historical data such as in new product launches.

On the other hand, Technical analysis methods are used when historical data can be relied upon to predict future price. These methods are scalable to large product catalogues as they are largely driven by algorithms and mathematical models

The frequently used Technical analysis methods are Predictive Modeling and Time Series Modeling

In this blog, we explore the Time Series Modeling

The process of Time Series Modeling

The Time Series modeling is generally used when historical data plays an important role in predictive future prices. The process is shown in this diagram.

Let me briefly explain these steps

Determine Trend

Trend is increase or decrease over a period of time. This can be caused due to systematic persistent, upward or downward pattern. Example which cause this are population increase, technology adaption etc.

Visually shown here is a time series without trend and time series with trend

Determine Seasonality

Seasonality means that a fluctuation occurs over certain months or periods each year. Visually shown here is a time series without Seasonality and time series with Seasonality. As you can see that in time series with Seasonality, there is increase in value observed in months 7 and 8

Box plots are very useful to visualize seasonality

Determine Auto-correlation

Auto-correlation means how a point in time-series impacts future values in time-series.

This can be determined using a PACF (Partial Auto-correlation) plot

Time-Series Modeling

Time-series modeling tries to fit a model to existing data, so that it can be used to forecast future values. One of the most commonly used algorithms for time series modeling is ARIMA (autoregressive integrated moving average)

This algorithm first converts the data into, what we call it a stationary time-series, by removing the trend and seasonality. Then it tries to fit a model on the stationary data

The analysis done about trend, seasonality and auto-correlation earlier in the process serve as input parameters for ARIMA

Forecasting

Once the model is fitted, it can be used to predict the future values

Large-Scale Price Modeling and forecasting with Aster

Many business situations require price-forecasting to be scalable. A typical retailer may have thousands or millions of products for which price forecasting is required. A telecom company would typically have thousands of voice and roaming routes to forecast price for.

Also each product or product group has its own time-series model, so it would be required to train various time-series models in parallel

Aster, with its scalable algorithms, has capability to make large-scale price forecasting by training various models in a parallel way

Some of the Aster algorithms used are

Aster GLM to determine trend and seasonality

Aster-R or Aster Streaming with Python algorithm for partial correlation

Aster ARIMA for time-series modeling

ARIMAPredictor for time-series forecasting

So hopefully this blog gives you an idea on price forecasting and time-series modeling, as well as how Aster capabilities could be used for large-scale price forecasting. Please feel free to comment