TGViewer
ML for Value / Ваня Максимов ML for Value / Ваня Максимов @ml4value · 5.69K subscribers
Post #339 6.58K
Запрос про спрос

На прошлой неделе словил вьетнамский флешбек: однажды из-за моей ошибки в алгоритме списали фуру мяса в Ростове 🥩

А вспомнил я про это, потому что меня аж 4 раза спросили про задачу восстановления спроса. Или как считать спрос на товар, если его не было в наличии весь день? Это немного необычная задача backcasting - восстановление данных в прошлом:

Вчера к 12 дня продали 1 штуку товара - товар кончился. Какой был бы спрос за вчера, если бы товар был в наличии весь день?

99% решений этой задачи заканчиваются примерно так:
Товар продавался с 8 утра до 12, а не было его с 13 до 23. Получается он был в наличии 4 часа из 16 = 25% времени (этот показатель в ритейле называют OSA - on shelf availability). Раз за 25% дня продали 1 штуку товара, то за весь день продали бы 1 / 0.25 = 4 штуки.
Профит, задача решена!

Общая формула спроса = sales / OSA

Логика c OSA проста и элегантна, но у нее есть 3 проблемы - давайте разбираться

1. Сезонность внутри дня
Расчет выше неявно предполагает, что спрос равномерно распределен внутри дня. Но это не так:
- Есть "часы пик" в районе обеда и вечером
- Некоторые товары чаще продаются утром (кофе)

Поэтому надо знать распределение спроса внутри дня и взвешивать формулу на него. Обычно вес добавляют к OSA: 1 час наличия кофе утром имеет бОльший вес, чем 1 час вечером
Общая формула спроса = sales / weigted_OSA

2. Чертов Пуассон

Все было бы хорошо, если бы спрос не был распределен по Пуассону - с длииииным хвостом продаж при низком мат ожидании
В нашем же примере про 1 продажу с 8 до 12 утра есть немаленький риск (спойлер - его можно посчитать!), что мат ожидание спроса за день = 1, но эта 1 штука просто случайно выпала на первую половину дня. И мы резко завысили спрос за день в 4 раза. Глобально формула выше всегда в среднем завышает спрос. Чем меньше средние продажи товара, тем больше ошибка

Казалось бы, может и не так страшно? Товар же непопулярный. Но непопулярных товаров много (пусть 50%). И если вы для 50% товаров завышаете спрос в несколько раз - это крупная проблема. Крупная, как фура с мясом: да-да, в Ростове ее списали ровно из-за этого…
Но проблема решаемая! Об этом и 3-ей проблеме в следующей серии

To be continued..

Канал @ml4value
#timeseries
  • 👍 66
  • 🔥 24
  • ❤ 5
  • 🥱 3
More from @ml4value
  1. Sep 17, 2026Post #496
  2. Sep 14, 2026ML вообще работает? (эпизод 1) Давно не писал в канал. Понял, что сейчас сфокусирован на д…
  3. Jun 12, 2026The art of a strong baseline За последнее время все чаще понимаю, что создать сильный бейз…
  4. May 2, 2026Начинать писать после перерыва всегда непросто, поэтому пока легкий пост про мои новости)…
  5. Mar 29, 2026LLM - велосипед в новой обертке Холиварный пост выходного дня) Доля правды в этом есть - и…
  6. Mar 27, 2026LLM долгосрочные интересы пользователя Понемногу LLM-ки находят полезное применение в реко…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →