Визуализация временных рядов на собеседовании
Почему временные ряды — ключевая тема
Почти каждая аналитическая задача связана с динамикой: DAU, выручка, конверсия, retention — все эти метрики живут во времени. Умение правильно визуализировать временной ряд и интерпретировать то, что видишь — базовый навык аналитика.
На собеседовании вопросы по временным рядам бывают визуальные («какой график выбрать»), интерпретационные («что вы видите на этом графике») и методологические («как отделить тренд от сезонности»).
Line chart — основной инструмент
Line chart — стандартный выбор для временных рядов. Линия подчёркивает непрерывность и направление изменений. Ось X — время, ось Y — метрика.
Правила хорошего line chart: ось X хронологическая, не более 5-6 линий (иначе фасеты), подписи напрямую на линиях, не через легенду. Не соединяйте точки при пропусках в данных.
Типичная ошибка: использовать bar chart вместо line chart для ежедневных метрик. Bar chart подходит для дискретных периодов (выручка по кварталам), line chart — для непрерывных рядов (DAU по дням).
Area chart
Area chart — line chart с заливкой под линией. Подчёркивает объём и хорошо работает для stacked area (суммарная метрика, разложенная по компонентам).
Когда использовать: источники трафика во времени (органика + платный + реферальный = общий), выручка по продуктам, количество пользователей по платформам.
Ограничение: при stacked area сложно оценить динамику отдельного компонента, кроме нижнего. Если важна динамика каждого — лучше отдельные line chart.
Тренд и сезонность
Тренд — долгосрочное направление изменения. Растёт, падает, стабилен. На графике виден как общее направление линии, если мысленно сгладить колебания.
Сезонность — повторяющиеся паттерны с фиксированным периодом. Недельная (просадка в выходные), месячная (всплеск в начале месяца), годовая (рост в декабре).
Как показать тренд визуально: добавьте линию тренда (линейную или скользящее среднее) поверх исходных данных. Скользящее среднее с окном 7 дней убирает недельную сезонность и показывает чистый тренд.
Как показать сезонность: разложите данные на компоненты (decomposition) или визуализируйте heatmap: дни недели по строкам, недели по столбцам, цвет — значение метрики.
Классический вопрос на собеседовании: «DAU упал в воскресенье — это проблема?» Правильный ответ: сравните с прошлыми воскресеньями. Если падение типичное — это сезонность, не проблема. Если аномальное — нужно разбираться.
Скользящее среднее
Скользящее среднее (moving average) — один из самых полезных инструментов для временных рядов. Сглаживает шум и выделяет тренд.
Окно 7 дней — убирает недельную сезонность. Самый частый выбор для ежедневных метрик.
Окно 30 дней — показывает месячный тренд, сглаживает недельные и внутримесячные колебания.
Важно: скользящее среднее запаздывает. Резкий рост или падение на графике MA появится с задержкой. Для обнаружения аномалий нужны другие инструменты.
На собеседовании: если просят «сгладить график» — предложите скользящее среднее и объясните выбор окна. Если просят «найти аномалию» — скользящее среднее + полоса стандартных отклонений.
Визуализация аномалий
Аномалия — точка, которая значительно отклоняется от ожидаемого значения. Визуально — выброс на графике.
Bollinger Bands — скользящее среднее +/- 2 стандартных отклонения. Точки за пределами полосы — аномалии. Цветовое выделение — обычные точки одним цветом, аномалии красным. Аннотации — вертикальные линии с подписями «запуск фичи», «сбой сервера» помогают объяснить причины.
На собеседовании могут показать график с резким скачком и спросить: «Что могло произойти?» Ответ должен включать несколько гипотез: технический сбой, маркетинговая кампания, сезонный фактор, изменение методологии подсчёта.
Как готовиться
Возьмите любой ежедневный датасет и постройте: сырой line chart, скользящее среднее с разными окнами, area chart по компонентам. Потренируйтесь описывать то, что видите: тренд, сезонность, аномалии. Подробнее — в разделе визуализация данных.
FAQ
Когда area chart лучше line chart?
Когда нужно показать состав целого во времени (stacked area) или подчеркнуть объём одной метрики. Для сравнения трендов нескольких метрик line chart читается лучше. Смотрите примеры вопросов.
Как выбрать окно скользящего среднего?
Зависит от сезонности данных. 7 дней — для убирания недельных колебаний. 30 дней — для месячного тренда. Если сезонность неизвестна — начните с 7 дней и увеличивайте, пока тренд не станет читаемым.
Как отличить тренд от сезонности на графике?
Тренд — долгосрочное направление, видно при сглаживании. Сезонность — повторяющийся паттерн с фиксированным периодом. Если убрать скользящим средним регулярные колебания, оставшееся — тренд. Подробнее — подготовка к собеседованию аналитика.