Merge branch 'supervisor-review' into develop
This commit is contained in:
commit
a657eaef1b
20 changed files with 128 additions and 70 deletions
BIN
paper.pdf
BIN
paper.pdf
Binary file not shown.
|
@ -1,4 +1,4 @@
|
||||||
\documentclass[preprint,review,12pt]{static/elsarticle}
|
\documentclass[preprint,review,12pt,authoryear]{static/elsarticle}
|
||||||
|
|
||||||
\input{tex/preamble}
|
\input{tex/preamble}
|
||||||
|
|
||||||
|
@ -42,9 +42,6 @@
|
||||||
\input{tex/5_con/4_further_research}
|
\input{tex/5_con/4_further_research}
|
||||||
\newpage
|
\newpage
|
||||||
|
|
||||||
\input{tex/glossary}
|
|
||||||
\newpage
|
|
||||||
|
|
||||||
\appendix
|
\appendix
|
||||||
\newpage
|
\newpage
|
||||||
\input{tex/apx/tabular_ml_models}
|
\input{tex/apx/tabular_ml_models}
|
||||||
|
@ -55,6 +52,8 @@
|
||||||
\newpage
|
\newpage
|
||||||
\input{tex/apx/peak_results}
|
\input{tex/apx/peak_results}
|
||||||
\newpage
|
\newpage
|
||||||
|
\input{tex/apx/glossary}
|
||||||
|
\newpage
|
||||||
|
|
||||||
\bibliographystyle{static/elsarticle-harv}
|
\bibliographystyle{static/elsarticle-harv}
|
||||||
\bibliography{tex/references}
|
\bibliography{tex/references}
|
||||||
|
|
|
@ -11,8 +11,9 @@ A common feature of these platforms is that they do not operate kitchens but
|
||||||
related processes in simple smartphone apps, and managing the delivery via
|
related processes in simple smartphone apps, and managing the delivery via
|
||||||
a fleet of either employees or crowd-sourced sub-contractors.
|
a fleet of either employees or crowd-sourced sub-contractors.
|
||||||
|
|
||||||
Various kind of urban delivery platforms (UDP) have received attention in
|
Various kinds of urban delivery platforms
|
||||||
recent scholarly publications.
|
(\gls{udp}; \ref{glossary} provides a glossary with all abbreviations)
|
||||||
|
have received attention in recent scholarly publications.
|
||||||
\cite{hou2018} look into heuristics to simultaneously optimize courier
|
\cite{hou2018} look into heuristics to simultaneously optimize courier
|
||||||
scheduling and routing in general, while \cite{masmoudi2018} do so
|
scheduling and routing in general, while \cite{masmoudi2018} do so
|
||||||
for the popular dial-a-ride problem and \cite{wang2018} investigate
|
for the popular dial-a-ride problem and \cite{wang2018} investigate
|
||||||
|
@ -63,8 +64,8 @@ Moreover, many of the established forecasting methods can only handle a single
|
||||||
and often low seasonality (i.e., repeated regular pattern), if at all.
|
and often low seasonality (i.e., repeated regular pattern), if at all.
|
||||||
|
|
||||||
In this paper, we develop a rigorous methodology as to how to build and
|
In this paper, we develop a rigorous methodology as to how to build and
|
||||||
evaluate a robust forecasting system for an urban delivery platform
|
evaluate a robust forecasting system for an UDP
|
||||||
(\gls{udp}) that offers ad-hoc point-to-point transportation of any kind.
|
that offers ad-hoc point-to-point transportation of any kind.
|
||||||
We implement such a system with a broad set of commonly used forecasting
|
We implement such a system with a broad set of commonly used forecasting
|
||||||
methods.
|
methods.
|
||||||
We not only apply established (i.e., "classical") time series methods but also
|
We not only apply established (i.e., "classical") time series methods but also
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Na\"{i}ve Methods, Moving Averages, and Exponential Smoothing.}
|
\subsubsection{Na\"{i}ve Methods, Moving Averages, and Exponential Smoothing}
|
||||||
\label{ets}
|
\label{ets}
|
||||||
|
|
||||||
Simple forecasting methods are often employed as a benchmark for more
|
Simple forecasting methods are often employed as a benchmark for more
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Autoregressive Integrated Moving Averages.}
|
\subsubsection{Autoregressive Integrated Moving Averages}
|
||||||
\label{arima}
|
\label{arima}
|
||||||
|
|
||||||
\cite{box1962}, \cite{box1968}, and more papers by the same authors in the
|
\cite{box1962}, \cite{box1968}, and more papers by the same authors in the
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Seasonal and Trend Decomposition using Loess.}
|
\subsubsection{Seasonal and Trend Decomposition using Loess}
|
||||||
\label{stl}
|
\label{stl}
|
||||||
|
|
||||||
A time series $y_t$ may exhibit different types of patterns; to fully capture
|
A time series $y_t$ may exhibit different types of patterns; to fully capture
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Supervised Learning.}
|
\subsubsection{Supervised Learning}
|
||||||
\label{learning}
|
\label{learning}
|
||||||
|
|
||||||
A conceptual difference between classical and ML methods is the format
|
A conceptual difference between classical and ML methods is the format
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Cross-Validation.}
|
\subsubsection{Cross-Validation}
|
||||||
\label{cv}
|
\label{cv}
|
||||||
|
|
||||||
Because ML models are trained by minimizing a loss function $L$, the
|
Because ML models are trained by minimizing a loss function $L$, the
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Random Forest Regression.}
|
\subsubsection{Random Forest Regression}
|
||||||
\label{rf}
|
\label{rf}
|
||||||
|
|
||||||
\cite{breiman1984} introduce the classification and regression tree
|
\cite{breiman1984} introduce the classification and regression tree
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Support Vector Regression.}
|
\subsubsection{Support Vector Regression}
|
||||||
\label{svm}
|
\label{svm}
|
||||||
|
|
||||||
\cite{vapnik1963} and \cite{vapnik1964} introduce the so-called support vector
|
\cite{vapnik1963} and \cite{vapnik1964} introduce the so-called support vector
|
||||||
|
|
|
@ -9,9 +9,11 @@ Figure \ref{f:grid} shows how the orders' delivery locations are each
|
||||||
covering the entire service area within a city.
|
covering the entire service area within a city.
|
||||||
This gridification step is also applied to the pickup locations separately.
|
This gridification step is also applied to the pickup locations separately.
|
||||||
The lower-left corner is chosen at random.
|
The lower-left corner is chosen at random.
|
||||||
\cite{winkenbach2015} apply the same gridification idea and slice an urban
|
Applications of this gridification idea to model location-routing problems
|
||||||
area to model a location-routing problem, and \cite{singleton2017} portray
|
can be viewed, for example, in \cite{winkenbach2015}, \cite{bergmann2020},
|
||||||
it as a standard method in the field of urban analytics.
|
\cite{janjevic2019}, \cite{snoeck2020}, and \cite{janjevic2020}
|
||||||
|
while \cite{singleton2017} portray it as a standard method in the field of
|
||||||
|
urban analytics.
|
||||||
With increasing pixel sizes, the time series exhibit more order aggregation
|
With increasing pixel sizes, the time series exhibit more order aggregation
|
||||||
with a possibly stronger demand pattern.
|
with a possibly stronger demand pattern.
|
||||||
On the other hand, the larger the pixels, the less valuable become the
|
On the other hand, the larger the pixels, the less valuable become the
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Horizontal and Whole-day-ahead Forecasts.}
|
\subsubsection{Horizontal and Whole-day-ahead Forecasts}
|
||||||
\label{hori}
|
\label{hori}
|
||||||
|
|
||||||
The upper-left in Figure \ref{f:inputs} illustrates the simplest way to
|
The upper-left in Figure \ref{f:inputs} illustrates the simplest way to
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Vertical and Whole-day-ahead Forecasts without Retraining.}
|
\subsubsection{Vertical and Whole-day-ahead Forecasts without Retraining}
|
||||||
\label{vert}
|
\label{vert}
|
||||||
|
|
||||||
The upper-right in Figure \ref{f:inputs} shows an alternative way to
|
The upper-right in Figure \ref{f:inputs} shows an alternative way to
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Vertical and Real-time Forecasts with Retraining.}
|
\subsubsection{Vertical and Real-time Forecasts with Retraining}
|
||||||
\label{rt}
|
\label{rt}
|
||||||
|
|
||||||
The lower-left in Figure \ref{f:inputs} shows how models trained on vertical
|
The lower-left in Figure \ref{f:inputs} shows how models trained on vertical
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\subsubsection{Vertical and Real-time Forecasts without Retraining.}
|
\subsubsection{Vertical and Real-time Forecasts without Retraining}
|
||||||
\label{ml_models}
|
\label{ml_models}
|
||||||
|
|
||||||
The lower-right in Figure \ref{f:inputs} shows how ML models take
|
The lower-right in Figure \ref{f:inputs} shows how ML models take
|
||||||
|
|
|
@ -13,36 +13,6 @@ We labeled them "no", "low", "medium", and "high" demand pixels with
|
||||||
increasing ADD, and present the average MASE per cluster.
|
increasing ADD, and present the average MASE per cluster.
|
||||||
The $n$ do not vary significantly across the training horizons, which confirms
|
The $n$ do not vary significantly across the training horizons, which confirms
|
||||||
that the platform did not grow area-wise and is indeed in a steady-state.
|
that the platform did not grow area-wise and is indeed in a steady-state.
|
||||||
We use this table to answer \textbf{Q1} regarding the overall best methods
|
|
||||||
under different ADDs.
|
|
||||||
All result tables in the main text report MASEs calculated with all time
|
|
||||||
steps of a day.
|
|
||||||
In contrast, \ref{peak_results} shows the same tables with MASEs calculated
|
|
||||||
with time steps within peak times only (i.e., lunch from 12 pm to 2 pm and
|
|
||||||
dinner from 6 pm to 8 pm).
|
|
||||||
The differences lie mainly in the decimals of the individual MASE
|
|
||||||
averages while the ranks of the forecasting methods do not change except
|
|
||||||
in rare cases.
|
|
||||||
That shows that the presented accuracies are driven by the forecasting methods'
|
|
||||||
accuracies at peak times.
|
|
||||||
Intuitively, they all correctly predict zero demand for non-peak times.
|
|
||||||
|
|
||||||
Unsurprisingly, the best model for pixels without demand (i.e.,
|
|
||||||
$0 < \text{ADD} < 2.5$) is \textit{trivial}.
|
|
||||||
Whereas \textit{hsma} also adapts well, its performance is worse.
|
|
||||||
None of the more sophisticated models reaches a similar accuracy.
|
|
||||||
The intuition behind is that \textit{trivial} is the least distorted by the
|
|
||||||
relatively large proportion of noise given the low-count nature of the
|
|
||||||
time series.
|
|
||||||
|
|
||||||
For low demand (i.e., $2.5 < \text{ADD} < 10$), there is also a clear
|
|
||||||
best-performing model, namely \textit{hsma}.
|
|
||||||
As the non-seasonal \textit{hses} reaches a similar accuracy as its
|
|
||||||
potentially seasonal generalization, the \textit{hets}, we conclude that
|
|
||||||
the seasonal pattern from weekdays is not yet strong enough to be
|
|
||||||
recognized in low demand pixels.
|
|
||||||
So, in the absence of seasonality, models that only model a trend part are
|
|
||||||
the least susceptible to the noise.
|
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\captionof{table}{Top-3 models by training weeks and average demand
|
\captionof{table}{Top-3 models by training weeks and average demand
|
||||||
|
@ -198,6 +168,38 @@ So, in the absence of seasonality, models that only model a trend part are
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
\
|
||||||
|
|
||||||
|
We use this table to answer \textbf{Q1} regarding the overall best methods
|
||||||
|
under different ADDs.
|
||||||
|
All result tables in the main text report MASEs calculated with all time
|
||||||
|
steps of a day.
|
||||||
|
In contrast, \ref{peak_results} shows the same tables with MASEs calculated
|
||||||
|
with time steps within peak times only (i.e., lunch from 12 pm to 2 pm and
|
||||||
|
dinner from 6 pm to 8 pm).
|
||||||
|
The differences lie mainly in the decimals of the individual MASE
|
||||||
|
averages while the ranks of the forecasting methods do not change except
|
||||||
|
in rare cases.
|
||||||
|
That shows that the presented accuracies are driven by the forecasting methods'
|
||||||
|
accuracies at peak times.
|
||||||
|
Intuitively, they all correctly predict zero demand for non-peak times.
|
||||||
|
|
||||||
|
Unsurprisingly, the best model for pixels without demand (i.e.,
|
||||||
|
$0 < \text{ADD} < 2.5$) is \textit{trivial}.
|
||||||
|
Whereas \textit{hsma} also adapts well, its performance is worse.
|
||||||
|
None of the more sophisticated models reaches a similar accuracy.
|
||||||
|
The intuition behind is that \textit{trivial} is the least distorted by the
|
||||||
|
relatively large proportion of noise given the low-count nature of the
|
||||||
|
time series.
|
||||||
|
|
||||||
|
For low demand (i.e., $2.5 < \text{ADD} < 10$), there is also a clear
|
||||||
|
best-performing model, namely \textit{hsma}.
|
||||||
|
As the non-seasonal \textit{hses} reaches a similar accuracy as its
|
||||||
|
potentially seasonal generalization, the \textit{hets}, we conclude that
|
||||||
|
the seasonal pattern from weekdays is not yet strong enough to be
|
||||||
|
recognized in low demand pixels.
|
||||||
|
So, in the absence of seasonality, models that only model a trend part are
|
||||||
|
the least susceptible to the noise.
|
||||||
|
|
||||||
For medium demand (i.e., $10 < \text{ADD} < 25$) and training horizons up to
|
For medium demand (i.e., $10 < \text{ADD} < 25$) and training horizons up to
|
||||||
six weeks, the best-performing models are the same as for low demand.
|
six weeks, the best-performing models are the same as for low demand.
|
||||||
|
|
|
@ -10,8 +10,9 @@ Somewhat surprisingly, despite ML-based methods` popularity in both business
|
||||||
and academia in recent years, we must conclude that classical forecasting
|
and academia in recent years, we must conclude that classical forecasting
|
||||||
methods suffice to reach the best accuracy in our study.
|
methods suffice to reach the best accuracy in our study.
|
||||||
There is one case where ML-based methods are competitive in our case study:
|
There is one case where ML-based methods are competitive in our case study:
|
||||||
In a high demand pixel, if only about four to six weeks of past data is
|
In a high demand pixel (defined as more than 25 orders per day on average),
|
||||||
available, the \textit{vrfr} model outperformed the classical ones.
|
if only about four to six weeks of past data is available,
|
||||||
|
the \textit{vrfr} model outperformed the classical ones.
|
||||||
So, we recommend trying out ML-based methods in such scenarios.
|
So, we recommend trying out ML-based methods in such scenarios.
|
||||||
In addition, with the \textit{hsma} and \textit{hets} models being the overall
|
In addition, with the \textit{hsma} and \textit{hets} models being the overall
|
||||||
winners, incorporating real-time data is not beneficial, in particular,
|
winners, incorporating real-time data is not beneficial, in particular,
|
||||||
|
@ -53,6 +54,8 @@ We emphasize that for the most part, our proposed forecasting system
|
||||||
is calibrated automatically and no manual work by a data scientist is required.
|
is calibrated automatically and no manual work by a data scientist is required.
|
||||||
The only two parameters where assumptions need to be made are the pixel size
|
The only two parameters where assumptions need to be made are the pixel size
|
||||||
and the time step.
|
and the time step.
|
||||||
While they can only be optimized by the data scientist over time, the results in our
|
The results in our empirical study suggest
|
||||||
empirical study suggest that a pixel size of $1~\text{km}^2$ and a time step of
|
that a pixel size of $1~\text{km}^2$ and a time step of one hour are ideal,
|
||||||
one hour are ideal.
|
which results in the optimal trade-off
|
||||||
|
between signal strength and spatial-temporal resolution.
|
||||||
|
Future research may explore adaptive grid-sizing depending on, for instance, demand density.
|
|
@ -1,3 +1,6 @@
|
||||||
|
\section{Glossary}
|
||||||
|
\label{glossary}
|
||||||
|
|
||||||
% Abbreviations for technical terms.
|
% Abbreviations for technical terms.
|
||||||
\newglossaryentry{add}{
|
\newglossaryentry{add}{
|
||||||
name=ADD, description={Average Daily Demand}
|
name=ADD, description={Average Daily Demand}
|
||||||
|
@ -138,4 +141,4 @@
|
||||||
trained on vertical time series}
|
trained on vertical time series}
|
||||||
}
|
}
|
||||||
|
|
||||||
\printglossaries
|
\printglossary[title=]
|
30
tex/meta.tex
30
tex/meta.tex
|
@ -3,7 +3,7 @@
|
||||||
\journal{Transportation Research Part E}
|
\journal{Transportation Research Part E}
|
||||||
\title{Real-time Demand Forecasting for an Urban Delivery Platform}
|
\title{Real-time Demand Forecasting for an Urban Delivery Platform}
|
||||||
|
|
||||||
\author[WHU]{Alexander Hess\fnref{emails}}
|
\author[WHU]{Alexander Hess\fnref{emails}\fnref{corresponding}}
|
||||||
\author[WHU]{Stefan Spinler\fnref{emails}}
|
\author[WHU]{Stefan Spinler\fnref{emails}}
|
||||||
\author[MIT]{Matthias Winkenbach\fnref{emails}}
|
\author[MIT]{Matthias Winkenbach\fnref{emails}}
|
||||||
\address[WHU]{
|
\address[WHU]{
|
||||||
|
@ -21,20 +21,26 @@ Emails:
|
||||||
mwinkenb@mit.edu
|
mwinkenb@mit.edu
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\fntext[corresponding]{
|
||||||
|
The corresponding author is Alexander Hess.
|
||||||
|
Use the provided email.
|
||||||
|
}
|
||||||
|
|
||||||
\begin{abstract}
|
\begin{abstract}
|
||||||
Meal delivery platforms like Uber Eats shape the landscape in cities around the world.
|
Meal delivery platforms like Uber Eats shape the landscape in cities around the world.
|
||||||
This paper addresses forecasting demand into the short-term future.
|
This paper addresses forecasting demand on a grid into the short-term future,
|
||||||
|
enabling, for example, predictive routing applications.
|
||||||
We propose an approach incorporating
|
We propose an approach incorporating
|
||||||
both classical forecasting
|
both classical forecasting and machine learning methods
|
||||||
and machine learning methods.
|
and adapt model evaluation and selection to typical demand:
|
||||||
Model evaluation and selection is adapted to demand typical for such a platform
|
intermittent with a double-seasonal pattern.
|
||||||
(i.e., intermittent with a double-seasonal pattern).
|
An empirical study shows that
|
||||||
The results of an empirical study with a European meal delivery service show
|
an exponential smoothing based method trained on past demand data alone
|
||||||
that machine learning models become competitive
|
achieves optimal accuracy,
|
||||||
once the average daily demand passes a threshold.
|
if at least two months are on record.
|
||||||
As a main contribution, the paper explains
|
With a more limited demand history,
|
||||||
how a forecasting system must be set up
|
machine learning is shown
|
||||||
to enable predictive routing.
|
to yield more accurate prediction results than classical methods.
|
||||||
\end{abstract}
|
\end{abstract}
|
||||||
|
|
||||||
\begin{keyword}
|
\begin{keyword}
|
||||||
|
|
|
@ -56,6 +56,17 @@ pages={8--15},
|
||||||
publisher={Elsevier}
|
publisher={Elsevier}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@article{bergmann2020,
|
||||||
|
title={Integrating first-mile pickup and last-mile delivery
|
||||||
|
on shared vehicle routes for efficient urban e-commerce distribution},
|
||||||
|
author={Bergmann, Felix M and Wagner, Stephan M and Winkenbach, Matthias},
|
||||||
|
year={2020},
|
||||||
|
journal={Transportation Research Part B: Methodological},
|
||||||
|
volume={131},
|
||||||
|
pages={26--62},
|
||||||
|
publisher={Elsevier}
|
||||||
|
}
|
||||||
|
|
||||||
@article{box1962,
|
@article{box1962,
|
||||||
title={Some statistical Aspects of adaptive Optimization and Control},
|
title={Some statistical Aspects of adaptive Optimization and Control},
|
||||||
author={Box, George and Jenkins, Gwilym},
|
author={Box, George and Jenkins, Gwilym},
|
||||||
|
@ -376,6 +387,26 @@ pages={211--225},
|
||||||
publisher={INFORMS}
|
publisher={INFORMS}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@article{janjevic2019,
|
||||||
|
title={Integrating collection-and-delivery points
|
||||||
|
in the strategic design of urban last-mile e-commerce distribution networks},
|
||||||
|
author={Janjevic, Milena and Winkenbach, Matthias and Merch{\'a}n, Daniel},
|
||||||
|
year={2019},
|
||||||
|
journal={Transportation Research Part E: Logistics and Transportation Review},
|
||||||
|
volume={131},
|
||||||
|
pages={37--67},
|
||||||
|
publisher={Elsevier}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{janjevic2020,
|
||||||
|
title={Designing Multi-tier, Multi-service-level, and Multi-modal
|
||||||
|
Last-Mile Distribution Networks for Omni-Channel Operations},
|
||||||
|
author={Janjevic, Milena and Merchan, Daniel and Winkenbach, Matthias},
|
||||||
|
year={2020},
|
||||||
|
journal={European Journal of Operational Research},
|
||||||
|
publisher={Elsevier}
|
||||||
|
}
|
||||||
|
|
||||||
@article{kim2016,
|
@article{kim2016,
|
||||||
title={A new Metric of Absolute Percentage Error for Intermittent Demand
|
title={A new Metric of Absolute Percentage Error for Intermittent Demand
|
||||||
Forecasts},
|
Forecasts},
|
||||||
|
@ -559,6 +590,17 @@ number={3},
|
||||||
pages={199--222}
|
pages={199--222}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@article{snoeck2020,
|
||||||
|
title={The value of physical distribution flexibility
|
||||||
|
in serving dense and uncertain urban markets},
|
||||||
|
author={Snoeck, Andr{\'e} and Winkenbach, Matthias},
|
||||||
|
year={2020},
|
||||||
|
journal={Transportation Research Part A: Policy and Practice},
|
||||||
|
volume={136},
|
||||||
|
pages={151--177},
|
||||||
|
publisher={Elsevier}
|
||||||
|
}
|
||||||
|
|
||||||
@article{stitson1999,
|
@article{stitson1999,
|
||||||
title={Support Vector Regression with ANOVA Decomposition Kernels},
|
title={Support Vector Regression with ANOVA Decomposition Kernels},
|
||||||
author={Stitson, Mark and Gammerman, Alex and Vapnik, Vladimir
|
author={Stitson, Mark and Gammerman, Alex and Vapnik, Vladimir
|
||||||
|
|
Loading…
Reference in a new issue