Predicting delivery orders status

Predicting Delivery Status of Orders with Machine Learning

Introduction

In an era where e-commerce and logistics are rapidly evolving, ensuring the timely and successful delivery of orders is paramount for businesses. This project tackles this challenge by leveraging machine learning to predict the delivery status of orders. By analyzing historical data, the model identifies key patterns and features to classify whether an order will be delivered successfully or canceled.

With practical applications in supply chain management and customer service optimization, this project demonstrates how machine learning can provide actionable insights to enhance operational efficiency.


Project Details

1. Data Loading and Preparation

The foundation of any machine learning project is the data. This project begins by:

  • Importing Libraries: Essential Python libraries, including NumPy, Pandas, Scikit-learn, XGBoost, and CatBoost, are used for data manipulation, visualization, and modeling.
  • Loading Datasets:
    • pedidos_entrenar.csv: Historical order data for training.
    • pedidos_predecir.csv: New data for prediction.
Key Data Cleaning Steps:
  • Target Encoding: Convert the final_status column to binary labels (1 for «DeliveredStatus,» 0 for others).
  • Feature Engineering:
    • Extract the hour from local_time and apply cyclic transformations using sine and cosine to preserve temporal patterns.
    • Group rare country_code values into a single category («otro») to reduce noise.
    • Encode store_address with the mean of the target variable for more predictive power.
  • One-Hot Encoding: Transform categorical features like payment_status into numerical representations.
  • Data Balancing: Address class imbalance by undersampling the majority class to ensure the model learns effectively.
Feature Selection:
  • Use a Random Forest model to rank feature importance and identify the most impactful predictors for model training.
Data Splitting and Scaling:
  • Split the data into training and testing sets using train_test_split.
  • Standardize numerical features with StandardScaler to ensure consistent scaling.

2. Model Training and Evaluation

To build a robust predictive model, the project evaluates multiple machine learning algorithms:

  • Algorithms Tested:
    • Support Vector Classifier (SVC)
    • Logistic Regression
    • RidgeClassifier
    • DecisionTreeClassifier
    • RandomForestClassifier
    • GradientBoostingClassifier
    • XGBoostClassifier
    • CatBoostClassifier
Evaluation Metrics:
  • The models are evaluated using:
    • AUC (Area Under the Curve): Measures the model’s ability to distinguish between classes.
    • ROC Curve: Visualizes the trade-off between sensitivity and specificity at various thresholds.
Best Model Selection:
  • Gradient Boosting emerged as the top-performing model based on its superior AUC scores and ROC curve performance.
Hyperparameter Tuning:
  • Although the code includes the option for hyperparameter tuning using GridSearchCV, it is currently commented out for simplicity.

3. Prediction

The trained Gradient Boosting model is used to:

  • Predict the delivery status of new orders in the pedidos_predecir.csv dataset.
  • Generate probabilities using predict_proba for more granular insights.
  • Create a prediction dataframe with order IDs and corresponding predicted delivery statuses.

Conclusions

  1. Model Performance:

    • Gradient Boosting demonstrated the best performance, making it the optimal choice for predicting delivery status.
    • Feature importance analysis revealed critical predictors, providing actionable insights into what factors most influence delivery outcomes.
  2. Real-World Applications:

    • The generated predictions can guide decision-making in supply chain management.
    • Businesses can proactively address potential issues with at-risk orders, improving customer satisfaction and operational efficiency.
  3. Key Takeaways:

    • This project showcases the power of machine learning in solving real-world business challenges.
    • The approach—from data cleaning and feature engineering to model training and evaluation—offers a comprehensive blueprint for similar predictive analytics tasks.

Final Thoughts

Predicting delivery status is just one example of how machine learning can revolutionize logistics and e-commerce operations. By leveraging historical data, businesses can anticipate challenges, streamline operations, and ultimately deliver better customer experiences.

Project Details