The challenge
The client relied heavily on historical averages and manual adjustments to forecast demand across a large combination of products and locations. Seasonal patterns, promotions, changing customer behavior, and differences between stores made forecasts difficult to maintain consistently.
The business needed a forecasting approach that could process large volumes of historical sales data, incorporate multiple demand drivers, and generate repeatable predictions that could be integrated into existing planning and reporting workflows.
Our approach
WizeTek built an Azure-based machine learning pipeline using Databricks and PySpark to prepare and transform historical sales, product, location, calendar, and promotional data at scale.
We engineered forecasting features including historical demand, rolling averages, lag variables, seasonality, promotional activity, and calendar effects. XGBoost models were trained and evaluated across different product and location segments, with model performance compared against baseline forecasting approaches.
The workflow was designed for repeatable execution, with data preparation, feature engineering, model training, evaluation, and prediction generation orchestrated within Databricks. MLflow was used to track experiments, model versions, parameters, and evaluation results.
The outcome
The solution gave planning teams a more systematic way to anticipate demand across products and locations while reducing dependence on manually maintained forecasting logic.
The machine learning pipeline also established a reusable foundation for retraining models as new sales data becomes available and for extending forecasting into areas such as inventory planning, replenishment, promotion analysis, and capacity forecasting.