Supply chain · Production

DoorDash improves holiday supply and demand forecast accuracy with a cascade ML approach

The problem

DoorDash's supply and demand forecasting relied on tree-based ML models (GBM, Random Forest) that struggle to handle high variation during holidays because each holiday only appears once a year in training data, causing forecast accuracy to dip around rare extreme events and forcing ad-hoc manual interventions.

First attempt

The GBM model's weighted mean absolute percentage error (wMAPE) deteriorated to between 60% and 70% around Christmas, as tree-based models averaged extreme holiday observations into a single final node rather than predicting each holiday accurately.

Workflow diagram · grounded in source
1
Operational forecasting trigger
trigger
“we generate supply and demand forecasts to proactively plan operations such as acquiring the right number of Dashers (delivery drivers) and adding extra pay when we anticipate low supply”
2
GBM generates initial forecasts
ai_action
“We utilize the GBM model to generate supply and demand forecasts for initial points; however, we experience significant declines in accuracy during holidays”
3
Holiday multiplier calculation
ai_action
“We run a linear regression with holiday dummies for each starting point-daypart pair in our data and calculate the holiday multipliers as the coefficients for the holiday dummies”
4
Spark parallelizes and stores multipliers
integration
“we leverage parallel computation in Spark and store the holiday multipliers into a table for the GBM model to use in the preprocessing step”
5
Preprocess to holiday-free series
ai_action
“We preprocess the input series - for example, number of orders - by the holiday multipliers to turn it into "holiday-free" figures”
6
Train GBM on holiday-free data
ai_action
“After preprocessing to obtain the non-holiday figures, we train and store the GBM model”
7
Generate and post-process forecasts
output
“To obtain the final holiday forecast, we use the holiday multipliers that were calculated in Step 1 for post-processing”
8
Backtest and stakeholder validation
human_review
“stakeholders across multiple teams must agree that the new feature adds value without degrading business metrics”
Reported outcome

The cascade approach reduced wMAPE over Christmas from between 60–70% to between 10–20%, achieved a 10% absolute wMAPE improvement averaged across all holidays, and backtests showed a ~25% reduction in volume lost from bad quality over Thanksgiving and Christmas.

Reported metrics
wMAPE over Christmas (cascade vs GBM)decreased from between 60% and 70% to between 10% and 20%
absolute wMAPE improvement across all holidays10%
volume lost from bad quality over Thanksgiving and Christmas~25%
Reported stack
GBMSpark
Source
https://careersatdoordash.com/blog/how-doordash-improves-holiday-predictions-via-cascade-ml-approach/
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

The cascade approach reduced wMAPE over Christmas from between 60–70% to between 10–20%, achieved a 10% absolute wMAPE improvement averaged across all holidays, and backtests showed a ~25% reduction in volume lost fro…

What tools did this team use?

GBM, Spark.

What results were reported?

wMAPE over Christmas (cascade vs GBM): decreased from between 60% and 70% to between 10% and 20%; absolute wMAPE improvement across all holidays: 10%; volume lost from bad quality over Thanksgiving and Christmas: ~25% (source-reported, not independently verified).

What failed first in this deployment?

The GBM model's weighted mean absolute percentage error (wMAPE) deteriorated to between 60% and 70% around Christmas, as tree-based models averaged extreme holiday observations into a single final node rather than pre…

How is this supply chain AI workflow structured?

Operational forecasting trigger → GBM generates initial forecasts → Holiday multiplier calculation → Spark parallelizes and stores multipliers → Preprocess to holiday-free series → Train GBM on holiday-free data → Generate and post-process forecasts → Backtest and stakeholder validation.