Python · forecasting
A shorter delivery promise that held up
Could Olist show an earlier delivery date without missing it more often?

Why this question matters
Olist showed customers a delivery date at checkout. Across its historical orders, the date often sat far beyond the actual arrival, yet some orders were still late. A better promise needed to balance speed with reliability.
How I approached it
I analyzed about 96,000 delivered orders, checked how lateness related to review scores, and trained a LightGBM quantile model. I compared it with Olist’s original estimates and a simpler seller-state to customer-state baseline on the same held-out period.
What the evidence showed
- On the test period, Olist’s own estimate averaged 20.94 days with 4.50% late deliveries. The model averaged 17.91 days with 3.44% late deliveries.
- Very late arrivals were costly: about two-thirds of orders more than five days late received a one-star review. Extra padding stopped adding much to review scores after a point.
- Destination, distance, and purchase month helped the model improve on a simple state-pair lookup.
The decision it supports
Pilot the revised promise on selected routes. Track the late rate and customer response before changing the checkout date for everyone.
Where the evidence stops
This is a historical, offline comparison. The data cannot establish whether a shorter displayed promise would increase conversion or how a live model would perform after deployment.