Urban demand forecasting plays a critical role in optimizing routing, dispatching, and congestion management within Intelligent Transportation Systems. By leveraging data fusion and analytics techniques, traffic demand forecasting serves as a key intermediate measure for identifying emerging spatial and temporal demand patterns. In this paper, we tackle this challenge by proposing two gradient boosting model variations, one for classiffication and one for regression, both capable of generating demand forecasts at various temporal horizons, from 5 minutes up to one hour. Our overall approach effectively integrates temporal and contextual features, enabling accurate predictions that are essential for improving the efficiency of shared (micro-) mobility services. To evaluate its effectiveness, we utilize open shared mobility data derived from e-scooter and e-bike networks in five metropolitan areas. These real-world datasets allow us to compare our approach with state-of-the-art methods as well as a Generative AI-based model, demonstrating its effectiveness in capturing the complexities of modern urban mobility. Ultimately, our methodology offers novel insights on urban micro-mobility management, helping to tackle the challenges arising from rapid urbanization and thus, contributing to more sustainable, efficient, and livable cities.
Figures & tables
Figure 1: Impact of forecast‑driven fleet rebalancing in Rotterdam. Left panel: pre‑rebalancing fleet with red circles (demand > supply) and blue circles (demand < supply) indicating shortages and surpluses, respectively. Right panel: post‑rebalancing after moving scooters (orange curved arrows) – shortage areas turn light orange, surplus circle fade to teal
Figure 2: Two indicative timeseries for two regions of Rotterdam: Overschie (top) and Rotterdam Centrum (bottom). The x-axis denotes time, while the y-axis indicates the measured demand values in number of shared vehicles.
Figure 3: Daily demand across different districts in the Rotterdam dataset. Each row represents a district, and each column corresponds to a day in the observation period. Color intensity reflects the total daily demand (aggregated from minute-level data), with warmer colors indicating higher activity.
Figure 4: Average hourly demand across the week in Rotterdam Centrum. The coloring indicates the relative demand intensity and, along with the peaks, aids in highlighting daily and weekly usage patterns.
Figure 5: Temporal evolution of the shared mobility demand (in hourly basis) in Rotterdam Centrum. Seasons are color-coded to highlight the different behaviors. During fall and winter seasons, demand patterns are more stable, whereas during spring and summer seasons, short-term spikes are observed often at “random” periods.
Figure 6: Overview of our proposed SMDF framework: (1) a preprocessing stage creates enriched per‑region timeseries; (2) postprocessing normalizes and encodes features while preserving inter‑region demand ratios; (3) an XGBoost predictor produces the demand forecasts.
Category
Type
Feature Name
Description
Base
ID
region (station)
Spatial entity identifier
value
demand
Raw demand value
Temporal
Lagged
demand_lag_*
Lagged demand values n minutes ago; n∈{1,5,60,1440}
Rolling
demand_rolling_mean_*
Rolling mean of demand over past n time steps; n∈{5,10,60,1440}
demand_rolling_max_*
Rolling maximum of demand over past n time steps; n∈{5,10,60,1440}
EWMA
demand_ewm_*
Exponentially weighted moving average of the demand value over past n time steps; n∈{5,10,60,1440}
Table 1: Summary table of the extracted features used in our approach
Variation
Dataset
Time Span
# Records
# Spatial Entities (regions or points)
Region-based
Rotterdam
2024-08-11 - 2025-07-18
7,561,051
13
Amsterdam
2024-11-11 - 2025-07-18
32,925,151
88
The Hague
2024-12-11 - 2025-07-18
13,099,811
46
Point-based
CitiNYC
2021-01-01 - 2022-06-01
36,323,801
1374
Divvy
2021-01-01 - 2022-06-01
7,104,591
1007
Table 2: Summary table of the datasets used in our experimental study.
Dataset
Model
Horizon (min)
Train Size (records)
Training Time (sec) (mean ± std)
Test Size (records)
Inference Time (µsec)
Amsterdam
Regressor
5
24.8M
29.83 ± 7.54
2.7M
0.34
15
24.8M
8.59 ± 1.19
2.7M
0.32
30
24.7M
15.15 ± 2.73
2.7M
0.32
60
24.7M
13.63 ± 1.97
2.7M
0.33
Classifier
5
24.8M
34.43 ± 0.55
2.7M
0.35
15
24.8M
48.86 ± 0.34
2.7M
0.35
Table 3: Training and inference times of the MoDE-Boost model per dataset, model, and forecasting horizon. The sizes of the training and test sets of the datasets are provided for reference of the training and inference times, respectively.
Dataset
5 min
15 min
30 min
60 min
MAE
RMSE
MAE
RMSE
MAE
RMSE
MAE
RMSE
Amsterdam
0.95
1.37
1.28
1.78
1.59
2.12
2.02
2.66
The Hague
1.05
1.52
1.25
1.78
1.44
2.09
1.85
2.61
Rotterdam
4.70
6.33
5.74
7.80
7.14
9.80
9.15
12.05
Table 4: Performance metrics of r-MoDE-Boost across four forecasting horizons.
Dataset
5 min
15 min
30 min
60 min
F1
Accuracy
F1
Accuracy
F1
Accuracy
F1
Accuracy
Amsterdam
0.88
0.86
0.85
0.84
0.83
0.81
0.79
0.76
The Hague
0.90
0.84
0.88
0.81
0.87
0.79
0.85
0.76
Rotterdam
0.95
0.90
0.93
0.84
0.92
0.82
0.89
0.77
Table 5: Performance metrics of c-MoDE-Boost across four forecasting horizons.
Dataset
HA
SN
SES
Croston
r-MoDE-Boost
MAE
RMSE
MAE
RMSE
MAE
RMSE
MAE
RMSE
MAE
RMSE
Amsterdam
5.88 ( ± 3.04)
7.21 ( ± 3.66)
5.35 ( ± 2.35)
6.86 ( ± 3.07)
2.29 ( ± 0.98)
3.08 ( ± 1.28)
2.29 ( ± 0.98)
3.08 ( ± 1.28)
2.06 ( ± 0.86)
2.78 ( ± 1.12)
The Hague
9.06 ( ± 7.97)
10.45 ( ± 8.83)
5.93 ( ± 4.14)
7.88 ( ± 5.57)
1.98 ( ± 1.28)
3.01 ( ± 1.89)
1.98 ( ± 1.29)
3.01 ( ± 1.89)
2.06 ( ± 1.58)
2.99 ( ± 2.07)
Rotterdam
57.95 ( ± 40.14)
67.40 ( ± 47.14)
22.36 ( ± 18.14)
31.21 ( ± 24.98)
8.57 ( ± 6.31)
12.37 ( ± 8.77)
8.58 ( ± 6.35)
12.39 ( ± 8.82)
8.13 ( ± 4.77)
11.72 ( ± 6.59)
Table 6: Average city-level performance comparison for the 60 min. horizon (the lowest error in bold type).
District
Avg. Pop.
r‑MoDE‑Boost
Local XGBoost
TimeGPT
MAE
RMSE
MAE
RMSE
MAE
RMSE
Bedrijvenpark Noord‑West
16
0.69
1.13
1.18
1.48
0.95
1.59
Charlois
248
8.64
13.29
7.76
11.56
12.52
17.11
Delfshaven
398
9.73
13.01
11.14
14.75
22.15
26.51
Feijenoord
385
8.43
11.23
8.67
11.30
14.53
18.01
Hillegersberg‑Schiebroek
435
14.08
21.50
12.03
18.22
17.06
23.41
Table 7: Performance comparison of the r-MoDE-Boost, local XGBoost models, and TimeGPT for the 60 min. forecasting horizon across Rotterdam districts (the lowest error in bold type).
Dataset
ASTN
MoDE-Boost
MAE
RMSE
MAE
RMSE
CitiNYC
1.20
2.22
1.13
1.78
Divvy
0.77
1.43
0.76
1.25
Table 8: Performance comparison of r-MoDE-Boost and ASTN (as reported in Feng and Liu (2024) ) models on CitiNYC and Divvy datasets, measured by MAE and RMSE. Note: in this experiment, the error scores are reported in standardized units (demand counts).
Figure 7: Inference time of the MoDE-Boost model (both variants) over three different datasets and a 60 min. forecasting horizon, running at an Edge environment.