Прогнозирование временных рядов: постановка, baseline и валидация
Нужно прогнозировать retention, revenue или LTV во времени. Как поставить задачу, выбрать горизонт и гранулярность, построить baseline и провести корректную временную валидацию?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Начните с target, горизонта, гранулярности, сезонностей, временного split и baseline. Библиотеки вторичны: важнее корректная валидация, leakage control и понимание, является ли задача single-series, panel или cohort forecasting.
Полный разбор
Сначала фиксируем постановку: что предсказываем, на каком горизонте, на какой гранулярности, какие сезонности и внешние факторы есть, как делаем temporal split и какой baseline считаем.
Baseline может быть naive last value, moving average, seasonal naive, линейная модель или бустинг на lag/rolling features. После этого можно обсуждать ARIMA/SARIMA, Prophet, Darts, TFT или другие sequence-модели, но только если они подходят под данные и ограничения.
Для LTV/retention важно помнить, что это не всегда классический одномерный ряд: часто это panel/cohort forecasting, где есть множество когорт, признаки acquisition и разная зрелость наблюдений.
Теория
На интервью проверяют не название библиотеки, а понимание временной структуры данных. Главные темы: horizon, seasonality, temporal validation, leakage, baseline и uncertainty.
Типичные ошибки
- Сразу перечислять библиотеки без постановки задачи.
- Делать random split для временных данных.
- Не отделять single time series от cohort/panel forecasting.
Как отвечать на собеседовании
- Если библиотекой не пользовался, скажи это коротко и перейди к общему time-series framework.
- Обязательно назови temporal split и baseline.