Project Duration: Jan 2026
Domain: Machine Learning, Predictive Analytics, Logistics Optimization
Tech Stack: Python, Scikit-learn, Pandas, NumPy, Matplotlib, Seaborn, Flask, Jupyter Notebook
Modern food delivery platforms like Swiggy, Zomato, and Uber Eats rely on intelligent prediction systems to estimate delivery time accurately. This project builds a real-world machine learning regression system that predicts food delivery duration using operational, order-level, and partner availability features.
The system processes structured order data and operational signals to predict delivery time in minutes. It is designed with scalability and deployment readiness in mind, simulating real-world logistics optimization systems.
- Predict delivery time accurately using operational features
- Analyze impact of partner availability & order load
- Build an end-to-end ML pipeline (EDA → Training → Evaluation → Deployment)
- Design the system to be API-deployable
Accurate delivery time prediction is critical for:
- Customer satisfaction
- Operational efficiency
- Delivery partner optimization
- Platform trust & retention
Static time estimates fail to account for:
- Order complexity
- Store workload
- Partner availability
- Demand fluctuations
The goal is to build a regression-based ML system that dynamically predicts delivery duration based on real-world operational factors.
The dataset represents structured operational and order-level features from a food delivery platform.
~180,000+ order records
Supervised Regression Problem
total_itemssubtotalnum_distinct_itemsmin_item_pricemax_item_price
total_onshift_partnerstotal_busy_partnerstotal_outstanding_orders
- Encoded store category signals
- Derived operational metrics
delivery_time(Actual delivery duration in minutes)
- Removed irrelevant columns
- Handled missing values
- Converted timestamp columns
- Encoded categorical features
- Outlier inspection
- Analyzed workload vs delivery delay
- Studied partner availability impact
- Explored demand patterns
- Correlation-based feature selection
- Train-test split preparation
- Structured pipeline alignment
Model Type: Regression (Scikit-learn)
- Delivery time is continuous
- Requires error minimization
- Suitable for operational forecasting
- Train-test split
- Model fitting
- Performance evaluation
- Error analysis
Evaluation Metrics Used:
- MAE (Mean Absolute Error)
This provides a strong baseline model with scope for further improvement using ensemble techniques.
The project supports deployment via:
- Flask API
- Saved trained model (
model.pkl) - Input-based prediction pipeline
This mirrors real-world ML deployment patterns used in logistics and delivery platforms.
│ ├── Delivery-Time-Estimator.ipynb ├── model.pkl ├── app.py ├── requirements.txt └── README.md
Open Delivery-Time-Estimator.ipynb for training and evaluation.
This project aligns with:
Swiggy / Zomato ETA prediction
Logistics optimization systems
E-commerce last-mile delivery forecasting
AI-driven operational decision systems
It demonstrates:
End-to-end ML workflow
Structured data modeling
Operational feature engineering
Deployment-ready ML design
XGBoost / LightGBM integration
Hyperparameter tuning (GridSearch / RandomSearch)
Cross-validation
Feature interaction engineering
Real-time streaming integration
Docker + CI/CD MLOps pipeline
Utsav Kashyap Data Scientist Machine Learning | Backend | Predictive Systems
🔗 LinkedIn: https://www.linkedin.com/in/utsav-kashyap-581550236/
💻 GitHub: https://github.com/kashyaputsav