I interned as a Data Scientist at Nestlé USA.
This is the project that I worked on, which increased demand prediction accuracy by 9.4% from existing models, translating into cost savings of $3.4 million.
My work involved improving Nestlé's existing demand forecasting models through 3 aspects, as follows:
Nestlé collects an enormous amount of data, such as demand data, promotional data, holiday data, and competitor data. With this large amount of features available to be used for modelling, the team required a robust feature selection tool.
The first aspect of my project involved designing an end-to-end framework for feature selection (code and documentation). The goal was to (i) Increase model accuracy through technical feature selection methods instead of human intuition and domain expertise, and (ii) Increase model explainability to non-technical stakeholders within Nestlé.
I designed an approach that utilized Recursive Feature Elimination (RFE) through Permutation Feature Importance with Random Forests. This new approach improves on the current feature selection approach used by the team through the following aspects:
Next, I explored different levels in which to conduct feature selection. Feature selection can be conducted at 3 main levels:
Among the 3 levels, I determine the optimal level at which feature selection should be conducted by back-testing across various time periods to find the level that results in the highest forecasting accuracy.
3. Benchmark suite of machine learning models:
Elastic Net, Random Forest, XGBoost, Deep Neural Network
My work increased the accuracy of product demand forecasts by 9.4% on average across 6 categories of Nestlé products, with the exact breakdown as follows:
This translates into cost savings of $3.4 million across the various categories:
- Feature engineering: Transform time-series problem into supervised learning problem
- Encode categorical variables using Hash Encoding
- Tune Random Forest using Random Search
- Obtain unbiased permutation feature importances
- Feature selection using Recursive Feature Elimination (RFE)
- Train model on optimal subset of features
- Repeat for various levels of forecasting to determine optimal level
- Repeat for different models to determine optimal model
Check out this project on my website here :)