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 and Technical Analysis methods of price forecasting
Price forecasting can be broadly categorized into Fundamental Analysis methods and Technical analysis methods
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.