Skip to content
0

How can a meal delivery service improve operations?

📖 Background

Your client is a food company in India that provides meal delivery services to thousands of customers per week. They operate in 51 cities inside eight different regions of the country. To better serve their customers, they deliver meals from 77 fulfillment centers.

The company wants you to help them understand their customer base, meal preferences, and fluctuations in demand. They want to investigate ways to improve operations and reduce food waste.

💾 The data

Your client has provided you with almost three years of order information for each of their 77 fulfillment centers:

  • "week" - week (1 - 145)
  • "center_id" - id of the fulfillment center
  • "city_code" - city identifier
  • "region_code" - region identifier
  • "center_type" - there are three types of centers: A, B, and C
  • "op_area" - the size of the area serviced by the fulfillment center
  • "meal_id" - each meal has a unique id
  • "category" - food category (beverages, pasta, rice, etc.)
  • "cuisine" - the type of cuisine for each meal
  • "checkout_price" - the price the customer pays (including discounts, promotions, etc.)
  • "base_price" - list price for the meal
  • "emailer" - 1 if there was an email promotion for the meal, 0 otherwise
  • "featured" - 1 if the website featured the meal, 0 otherwise
  • "orders" - number of orders for that week for that meal id

💪 Competition challenge

Create a report that covers the following:

  1. What are the most popular food categories in each region?
  2. For each of the two cities with more than three fulfillment centers, would you recommend:
    • Keeping the number of centers the same,
    • Combine fulfillment centers, or
    • Opening new centers
  3. Investigate the effectiveness of email campaigns and promoting meals on the website.
  4. Explore ways of forecasting food order numbers to assist purchasing managers in their planning.

🧑‍⚖️ Judging criteria

CATEGORYWEIGHTINGDETAILS
Recommendations35%
  • Clarity of recommendations - how clear and well presented the recommendation is.
  • Quality of recommendations - are appropriate analytical techniques used & are the conclusions valid?
  • Number of relevant insights found for the target audience.
Storytelling35%
  • How well the data and insights are connected to the recommendation.
  • How the narrative and whole report connects together.
  • Balancing making the report in-depth enough but also concise.
Visualizations30%
  • Appropriateness of visualization used.
  • Clarity of insight from visualization.

✅ Checklist before publishing into the competition

  • Rename your workspace to make it descriptive of your work. N.B. you should leave the notebook name as notebook.ipynb.
  • Remove redundant cells like the judging criteria, so the workbook is focused on your story.
  • Make sure the workbook reads well and explains how you found your insights.
  • Try to include an executive summary of your recommendations at the beginning.
  • Check that all the cells run without error

⌛️ Time is ticking. Good luck!

Data Science Competition Project

In this notebook we will be exploring the dataset to answer the following questions:

  • What are the most popular food categories in each region

  • For each of the two cities with more than three fulfillment centers, would you recommend:

    • Keeping the number of centers the same
    • Combine fulfillment centers, or
    • Opening new centers
  • Investigate the effectiveness of email campaigns and promoting meals on the website.

  • Explore ways of forecasting food order numbers to assist purchasing managers in their planning.

Importing Libraries

Here I will be importing the neccisary libraries needed for this analysis Before we import the libraires here is a list of libraries being used as well as their purpose

LibraryPurpose
PandasData Manipulation
NumpyNumerical and Scientific Calculations
SeabornData Visualization
MatplotlibData Visualization
PlotlyData Visualization
SklearnMachine Learning
import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
import plotly 
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

Importing the dataset

import pandas as pd
deliveries = pd.read_csv('data/meal_deliveries.csv')

Now that the above csv has been loaded in we are going to take a closer look into the dataset before starting our analysis.

for i in [deliveries]:
    display(i.shape)
    display(i.isnull().sum())
    display(i.head())

#Dropping Unuseful Columns