Что вы предсказываете и на какой горизонт
Прогнозирование и временные ряды · Урок 1 / 22
Прогноз начинается с решения, а не с ряда
Первый вопрос звучит не «какую модель взять», а «какое решение примут по этому числу и когда». Пока на него нет ответа, любая точность бессмысленна: вы не знаете ни нужную гранулярность, ни горизонт, ни цену промаха.
Прогноз спроса на склад и прогноз выручки для совета директоров — разные задачи по одному и тому же ряду продаж. Первому нужен товар в конкретной точке на 21 день вперёд с недельной детализацией. Второму — суммарная цифра по стране на квартал. Модель, отличная для одного, для другого бесполезна.
Четыре параметра постановки
- Объект. Что именно предсказываем: SKU в магазине, все продажи компании, число обращений в очередь, пиковая нагрузка на кластер.
- Гранулярность. Час, день, неделя, месяц. Ниже гранулярность — больше шума и выше относительная ошибка.
- Горизонт. На сколько шагов вперёд. Горизонт задаёт срок поставки, длину найма, цикл бюджета — не удобство аналитика.
- Момент отсечки. В какой день и час прогноз должен быть готов, и какие данные к этому моменту физически доступны.
Момент отсечки — самая недооценённая деталь
Закупщик отправляет заказ в понедельник утром. Продажи за воскресенье приезжают в хранилище во вторник вечером. Значит, модель, обученная на данных «по вчерашний день включительно», в проде работать не будет — этих данных в понедельник утром нет. Разрыв между тем, что доступно на бумаге, и тем, что доступно в момент решения, — источник большинства прогнозов, которые «в тесте были отличные, а в проде развалились».
Постановка задачи прогноза (заполните до первой строки кода)
Объект: продажи SKU в магазине
Гранулярность: сутки
Горизонт: 14 дней вперёд
Отсечка: понедельник 06:00
Доступно на отсечке: продажи по субботу, остатки по пятницу,
календарь акций на 4 недели вперёд
Решение: объём заказа поставщику
Цена промаха: недозаказ = упущенная маржа, перезаказ = списание
Не всё стоит прогнозировать
Есть величины, где прогноз честно не нужен. Если решение принимается быстрее, чем меняется величина, достаточно текущего значения. Если решение обратимо и дёшево, дешевле реагировать, чем предсказывать: автомасштабирование по факту нагрузки часто выигрывает у прогноза нагрузки. Прогноз оправдан там, где между решением и его эффектом есть лаг, который нельзя сократить: срок поставки, срок найма, срок запуска мощности.
Шпаргалка
- Сначала решение и его лаг, потом объект, гранулярность, горизонт.
- Отсечка определяет, какие данные у модели реально есть.
- Ошибка растёт с горизонтом быстрее, чем кажется.
- Если решение не меняется от прогноза, прогноз не нужен.