Predictive machine learning model to optimize supply chain operations for an FMCG company's instant noodles distribution network.
An FMCG company distributing instant noodles across multiple warehouses faced:
- Overstocking at certain distribution points, leading to waste
- Stockouts at high-demand locations, resulting in lost sales
- Inefficient supply allocation due to reliance on manual forecasting
The goal was to build a data-driven model that accurately predicts demand at each warehouse and recommends optimal supply quantities.
- Analyzed historical sales data across warehouse locations
- Identified seasonal patterns, demand spikes, and outliers
- Visualized distribution of products and warehouse performance
- Created lag features and rolling averages for time-based patterns
- Encoded categorical warehouse and product variables
- Normalized numerical features for model training
- Trained and evaluated multiple regression models
- Compared: Linear Regression, Random Forest, Gradient Boosting
- Selected best model based on RMSE and MAE metrics
- Used model predictions to recommend optimal stock levels per warehouse
- Minimized both overstock cost and stockout penalty
├── EDA.ipynb # Exploratory data analysis
├── Model_Building.ipynb # Model training and evaluation
├── DSE-FT-CHN-MAY24-G8-Interim-Report.docx # Project report
└── README.md
| Tool | Purpose |
|---|---|
| Python | Core language |
| Pandas & NumPy | Data manipulation |
| Matplotlib & Seaborn | Visualizations |
| Scikit-learn | ML model training |
| Jupyter Notebook | Development environment |
- Built a demand forecasting model with improved accuracy over baseline
- Identified top-performing and underperforming warehouse regions
- Provided actionable supply recommendations to reduce waste and stockouts
# Clone the repository
git clone https://github.com/Rajasekaren-S-K/Machine-Learning-Driven-Demand-Forecasting-and-Supply-Optimization-for-Instant-Noodles-Distribution.git
# Install dependencies
pip install pandas numpy matplotlib seaborn scikit-learn jupyter
# Launch Jupyter
jupyter notebookOpen EDA.ipynb first, then Model_Building.ipynb.
- End-to-end ML pipeline from raw data to actionable insights
- Feature engineering for supply chain time-series data
- Model evaluation and selection for regression problems
- Business framing of ML outputs for non-technical stakeholders
Part of my AI/ML learning journey — transitioning into AI engineering.