Optimizing an urban meal delivery platform
Find a file
Alexander Hess af82951485
Add OrderHistory.choose_tactical_model()
- the method implements a heuristic from the first research paper
  that chooses the most promising forecasting `*Model` based on
  the average daily demand in a `Pixel` for a given `train_horizon`
- adjust the test scenario => `LONG_TRAIN_HORIZON` becomes `8`
  as that is part of the rule implemented in the heuristic
2021-02-02 11:29:27 +01:00
.github/workflows Add rpy2 to the dependencies 2021-01-11 16:06:58 +01:00
docs Remove pylint from the project 2021-01-09 17:47:45 +01:00
migrations Add Forecast.actual column 2021-01-31 18:29:53 +01:00
research Add rpy2 to the dependencies 2021-01-11 16:06:58 +01:00
src/urban_meal_delivery Add OrderHistory.choose_tactical_model() 2021-02-02 11:29:27 +01:00
tests Add OrderHistory.choose_tactical_model() 2021-02-02 11:29:27 +01:00
.gitignore Fix the "clean-pwd" command in nox 2020-08-11 10:31:54 +02:00
.gitmodules Move submodule with demand-forecasting paper into research folder 2020-12-14 16:21:12 +01:00
.pre-commit-config.yaml Adjust the branch reference fixer's logic 2020-09-30 12:16:00 +02:00
alembic.ini Add database migrations 2020-08-11 10:29:58 +02:00
LICENSE.txt Initial commit 2020-08-03 20:19:42 +02:00
noxfile.py Fix nox session for slow CI tests 2021-02-01 22:00:47 +01:00
poetry.lock Add statsmodels to the dependencies 2021-01-31 18:24:03 +01:00
pyproject.toml Add statsmodels to the dependencies 2021-01-31 18:24:03 +01:00
README.md Move notebooks into the research folder 2020-12-14 16:56:27 +01:00
setup.cfg Add extrapolate_season.predict() function 2021-02-01 11:32:10 +01:00

Urban Meal Delivery

This repository holds code analyzing the data of an undisclosed urban meal delivery platform (UDP) operating in France from January 2016 to January 2017. The goal is to optimize the platform's delivery process involving independent couriers.

Structure

The analysis is structured into the following stages that iteratively build on each other.

Data Cleaning

The UDP provided its raw data as a PostgreSQL dump. This notebook cleans the data extensively and maps them onto the ORM models defined in the urban-meal-delivery package that is developed in the src/ folder and contains all source code to drive the analyses.

Due to a non-disclosure agreement with the UDP, neither the raw nor the cleaned data are published as of now. However, previews of the data can be seen throughout the research/ folder.

Real-time Demand Forecasting

Predictive Routing

Shift & Capacity Planning

Installation & Contribution

To play with the code developed for the analyses, you can clone the project with git and install the contained urban-meal-delivery package and all its dependencies in a virtual environment with poetry:

git clone https://github.com/webartifex/urban-meal-delivery.git

and

poetry install --extras research

The --extras option is necessary as the non-develop dependencies are structured in the pyproject.toml file into dependencies related to only the urban-meal-delivery source code package and dependencies used to run the Jupyter environment with the analyses.

Contributions are welcome. Use the issues tab. The project is licensed under the MIT license.