Problem:

  • Cisco needs to be able to effectively forecast it’s sales every quarter on a product by product basis, and needs to understand the highest and lowest bounds it can expect in terms of revenue to make strategic decisions about the companies investment and planning.

Solution:

  • Develop an aggregated sales forecasting model that uses the aggregated time series sales over each week of a quarter to forecast the sales for each week in the next quarter. Traditional time series regression methods were initially applied such as ARIMA methods and variations of these traditional simple stochastic process methods of forecasting. However, these methods failed to perform well, and were ultimately unable to fit our data set given the small number of points, high complexity of the seasonal trend. So instead, the fundamental approach of modeling trend, and seasonality separately was used. The trend was modeled using a robust linear regression method (Using Huber Loss) as sales motions had high variance outliers near the end of quarters that biased the trend of traditional regression methods. The seasonal component of the series was modeled using gaussian process regression method, which provided upper and lower High Density Intervals (HDI) quantifying the 95% credible interval for sales each week to lie in.

Methods:

  • Huber linear regression, Gaussian Process Regression, ARIMA models, various forms of EDA

Frameworks and Platforms:

  • Python, scikit-learn, pymc3, statsmodels

Outcomes:

  • Developed a set of reliable sales forecasting models, and a strategic forecasting report about the forecast with upper and lower forecast bounds.