← Все проекты

Python · прогноз доставки

Olist мог обещать доставку на три дня раньше

На заказах, которые я оставил для проверки, модель дала средний срок 17,91 дня вместо 20,94 дня у Olist. Опозданий тоже стало меньше: 3,44% вместо 4,50%.

3 днясокращение среднего обещанного срока с моделью p90 в тестовом периоде
Сравнение обещанных сроков и опозданий Olist и модели.
В одном тестовом периоде модель p90 дала меньший средний срок и меньше опозданий.Открыть изображение целиком ↗

Почему я это изучил

Olist задаёт дату доставки, которую покупатель видит при оформлении заказа. В данных за прошлые годы заказы часто приходили намного раньше этой даты. Но часть всё равно опаздывала. Я проверил, можно ли сократить обещанный срок без роста опозданий.

Что я сделал

Я работал примерно с 96 тысячами доставленных заказов. Сначала сравнил оценки заказов, пришедших раньше и позже срока. Затем обучил LightGBM предсказывать 90-й процентиль времени доставки, а не среднее. Сравнил модель со сроками Olist и простым расчётом по штатам продавца и покупателя. Для всех трёх вариантов использовал один тестовый период.

Что я выяснил

  • Около двух третей заказов с опозданием больше пяти дней получили одну звезду. Ранние доставки оценивали выше, но после запаса в 7–16 дней оценки почти не росли. Дальнейшее увеличение срока уже не помогало.
  • Модель p90 сократила средний обещанный срок примерно на три дня. Здесь p90 обозначает процентиль, который предсказывает модель. А 17,91 дня представляет среднее её прогнозов.
  • Пункт назначения, расстояние и месяц покупки помогли модели. Простой расчёт по парам штатов не учитывал часть этих деталей и давал более длинные сроки.

Что я сделал бы дальше

Я бы сначала проверил новые даты на нескольких маршрутах. Перед запуском на всей площадке следил бы за опозданиями и отзывами покупателей.

Чего этот анализ не показывает

Это проверка на прошлых заказах, а не запуск в реальном магазине. Она не показывает, станут ли люди чаще покупать при более коротком сроке и сохранится ли результат на новых заказах.