Commodity price forecasting is an important activity for many different industry verticals. The underlying objective for commodity price forecasting - as with any forecasting activity - is quite simple: to predict future behavior of a variable quantity. The users of such analytics are typically operations and supply chain managers.
A finished product relies on the availability of one or more commodity raw materials, and the final cost of the finished product is significantly driven by the cost of the commodities. Finished products are sometimes on the "shelf" for long periods of time: the manufacturer is in a long term fixed price contract with the buyer of the goods, for example automotive suppliers typically agree to supply parts to the OEM at a negotiated price for 3-4 years. During this period, the cost of the commodity fluctuates, sometimes dramatically. However, as stated before, the manufacturer is not at liberty to revise the selling price of the good based on the current price of the commodity.
To address this issue, manufacturers typically agree to buy the commodities at a negotitated contract price for several years in advance. This will allow them to lock in the price of the commodity. However, the risk of doing so depends on the volatility of the price. To understand and quantify this risk, forecasting is often the only recourse. As mentioned earlier, this problem cuts across many verticals.
One example is the energy industry. Price forecasting of energy is a complex multi-dimensional problem, and there are some analytical as well as stochastic tools available. However, what is also needed are confidence envelopes around the time series forecasting, based on volatility data that can be assigned to each individual time period and a confidence interval.
Another example is the food or restaurant industry. Supply chain managers at restaurants typically buy commodities such as wheat, cheese, pork etc at annual contract prices. When the prices of these commodities increase, they come out ahead, and when the prices decrease, they would have ended up paying more than market price.
Going back to the automotive industry example, we developed a product quote generating app for a complex subsystem. The app uses a multiple linear regression model to predict the final cost of the subsystem based on the commodity prices that are used to build it out. The best performing regression models showed adjusted R2 values in the low 90% range, but the standard error of the predictions were still below expectations (< 95%). One of the key reasons was that the products used copper and the commodity prices of copper fluctuated more than 30% in the span of the time when the data (for building the model) was collected. The model did not use the prices of these commodities, but only their quantity (in terms of pounds or ounces used). The result was that the model prediction of final assembled costs of the subsystem was off because of this reason.
Time series forecasting is a fundamental business activity and there is a shortage of both easy to use tools and skills to deliver this business need. Many companies have unique needs, as described in the examples above and an out-of-the-box, one-size-fits-all solution is unfeasible.The solution to this problem is to build custom analytics apps that handle forecasting using the rich libraries of open source tool sets like R, for example.