Skip to content

Rajasekaren-S-K/Machine-Learning-Driven-Demand-Forecasting-and-Supply-Optimization-for-Instant-Noodles-Distribution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ML-Driven Demand Forecasting & Supply Optimization

Predictive machine learning model to optimize supply chain operations for an FMCG company's instant noodles distribution network.

Python Scikit-learn Jupyter Status


🎯 Problem Statement

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.


🔍 Approach

1. Exploratory Data Analysis (EDA)

  • Analyzed historical sales data across warehouse locations
  • Identified seasonal patterns, demand spikes, and outliers
  • Visualized distribution of products and warehouse performance

2. Feature Engineering

  • Created lag features and rolling averages for time-based patterns
  • Encoded categorical warehouse and product variables
  • Normalized numerical features for model training

3. Model Building

  • Trained and evaluated multiple regression models
  • Compared: Linear Regression, Random Forest, Gradient Boosting
  • Selected best model based on RMSE and MAE metrics

4. Supply Optimization

  • Used model predictions to recommend optimal stock levels per warehouse
  • Minimized both overstock cost and stockout penalty

📁 Repository Structure

├── EDA.ipynb                          # Exploratory data analysis
├── Model_Building.ipynb               # Model training and evaluation
├── DSE-FT-CHN-MAY24-G8-Interim-Report.docx  # Project report
└── README.md

🛠️ Tech Stack

Tool Purpose
Python Core language
Pandas & NumPy Data manipulation
Matplotlib & Seaborn Visualizations
Scikit-learn ML model training
Jupyter Notebook Development environment

📊 Key Results

  • 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

🚀 How to Run

# 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 notebook

Open EDA.ipynb first, then Model_Building.ipynb.


📚 Learnings

  • 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.

About

Developed a predictive machine learning model to optimize supply chain operations for an FMCG company's instant noodles distribution.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors