Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 f601d4a436d0674a031f472983fa7cc4
Работаю с данными

Прогноз цен (Задание на интенсиве)

Добавлено 10 июн 2023 в 12:23
Занял призовое место

Техническое задание по кейсу «Прогнозирование рыночных цен на арматуру»

Предыстория Одна из основных статей расходов девелоперов – это закупка материалов. При этом, среди общих затрат на материалы около 10% приходится на арматуру. Упрощенно, процесс закупки материалов выглядит так: Категорийный менеджер Иван, придя в пятницу на работу, устраивает тендер на закупку арматуры объема Х (для простоты давайте считать, что потребность ГК Самолет в арматуре постоянна, нам нужно Х тонн в неделю). Например, он может организовать тендер на объем 5Х, или на объем 2Х. Он знает какая цена на арматуру сегодня, но не знает, какая она будет через неделю. В принятии решение о размере проводимого тендера может помочь прогнозная модель. Например, если модель дает прогноз, что через неделю рыночная цена на арматуру снизится – то закупаться стоит на 1 неделю, и наоборот, если модель прогнозирует тренд на рост цены – то следует сделать более масштабную закупку. С одной стороны, прогнозирование цены – это стандартная модель временных рядов, но бизнесу же важен не просто временной ряд, а качество предлагаемых «бизнес»-решений: рекомендация необходимого объема, поэтому результатом работы модели должно быть целое число N – на сколько недель вперед проводить закупку (1 <=N <=10) Постановка задачи Цель: Помочь категорийному менеджеру сэкономить В приложении есть понедельная история рыночных цен на арматуру в промежутке 2019-2022 гг. Необходимо разработать модель, которая по истории [1,T] делает рекомендацию по объему тендера для недели T. Рекомендация на N недель фиксирует цену на N недель, следующий тендер будет проведен на неделе T+N. Считаем, что тендеры проводятся по пятницам, оперировать можно историческими данными до четверга включительно. Целевая метрика: средняя цена закупки арматуры при проведении тендеров на промежутке 1/07/22 – 23/12/22 Методология расчета (псевдокод):

#pp_array = []

#ll_array = []

#for start_date in [все пятницы с 1/07 – 23/12]:

#for end_date in [start_date + 2 недели, 26/12]:

#price_period = Средняя Цена закупки за период [start_date, end_date)

#len_period = end_date – start_date – 1

#pp_array.append(price_period)

#ll_array.append(len_period)

#final_avg_price = sum(np.array(pp_array) * np.array(ll_array)) / sum(np.array(ll_array)) – взвешенное среднее

Стоит аккуратно отнестись к вычислению средней закупки за период, имейте в виду что в остаток периода может поместиться не весь N. На забудьте аккуратно настроить схему валидации, подумайте над отбором признаков, точек мало – данных много.

0137658d42 7a17b8d4ed E9f5a29efc 5265d3ac20