Что вы предсказываете и на какой горизонт

Прогнозирование и временные ряды · Урок 1 / 22

Прогноз начинается с решения, а не с ряда

Первый вопрос звучит не «какую модель взять», а «какое решение примут по этому числу и когда». Пока на него нет ответа, любая точность бессмысленна: вы не знаете ни нужную гранулярность, ни горизонт, ни цену промаха.

Прогноз спроса на склад и прогноз выручки для совета директоров — разные задачи по одному и тому же ряду продаж. Первому нужен товар в конкретной точке на 21 день вперёд с недельной детализацией. Второму — суммарная цифра по стране на квартал. Модель, отличная для одного, для другого бесполезна.

Четыре параметра постановки

  • Объект. Что именно предсказываем: SKU в магазине, все продажи компании, число обращений в очередь, пиковая нагрузка на кластер.
  • Гранулярность. Час, день, неделя, месяц. Ниже гранулярность — больше шума и выше относительная ошибка.
  • Горизонт. На сколько шагов вперёд. Горизонт задаёт срок поставки, длину найма, цикл бюджета — не удобство аналитика.
  • Момент отсечки. В какой день и час прогноз должен быть готов, и какие данные к этому моменту физически доступны.

Момент отсечки — самая недооценённая деталь

Закупщик отправляет заказ в понедельник утром. Продажи за воскресенье приезжают в хранилище во вторник вечером. Значит, модель, обученная на данных «по вчерашний день включительно», в проде работать не будет — этих данных в понедельник утром нет. Разрыв между тем, что доступно на бумаге, и тем, что доступно в момент решения, — источник большинства прогнозов, которые «в тесте были отличные, а в проде развалились».

Постановка задачи прогноза (заполните до первой строки кода)
Объект:        продажи SKU в магазине
Гранулярность: сутки
Горизонт:      14 дней вперёд
Отсечка:       понедельник 06:00
Доступно на отсечке: продажи по субботу, остатки по пятницу,
                     календарь акций на 4 недели вперёд
Решение:       объём заказа поставщику
Цена промаха:  недозаказ = упущенная маржа, перезаказ = списание
Инсайт. Горизонт и отсечка вместе задают, сколько шагов вперёд модель реально предсказывает. Если данные приходят с лагом в двое суток, прогноз на 14 дней — это прогноз на 16 шагов вперёд, и ошибка будет соответствующей.
Частая ошибка. Считать, что удлинить горизонт почти ничего не стоит. Ошибка растёт с горизонтом нелинейно: на неделю вперёд ряд ещё держится инерцией, на квартал вперёд его определяют события, которых в истории нет.
Про-совет. Спросите заказчика, что он сделает при прогнозе 100 и при прогнозе 130. Если ответ одинаковый, задача поставлена неверно: точность в этом диапазоне никому не нужна, и деньги лучше потратить на другой горизонт или другой объект.

Не всё стоит прогнозировать

Есть величины, где прогноз честно не нужен. Если решение принимается быстрее, чем меняется величина, достаточно текущего значения. Если решение обратимо и дёшево, дешевле реагировать, чем предсказывать: автомасштабирование по факту нагрузки часто выигрывает у прогноза нагрузки. Прогноз оправдан там, где между решением и его эффектом есть лаг, который нельзя сократить: срок поставки, срок найма, срок запуска мощности.

Шпаргалка

  • Сначала решение и его лаг, потом объект, гранулярность, горизонт.
  • Отсечка определяет, какие данные у модели реально есть.
  • Ошибка растёт с горизонтом быстрее, чем кажется.
  • Если решение не меняется от прогноза, прогноз не нужен.
1. С чего начинается постановка задачи прогноза?
2. Что такое момент отсечки?
3. Когда прогноз честно не нужен?

🔒 Ответьте на вопрос верно, чтобы перейти к следующему уроку.

Что вы предсказываете и на какой горизонт — Прогнозирование и временные ряды — Skilvy