Временные ряды: вопросы для собеседования (часть 3)
Line chart — стандарт для визуализации временных рядов: DAU, revenue, конверсия по дням. На собеседовании спрашивают, как показать сезонность, тренд и аномалии на одном графике, нужна ли ось Y с нуля и как сравнить несколько метрик с разными масштабами. Временные ряды — самый частый тип визуализации в аналитике.
Вопросы 11–15 из 20
11Вы построили `rolling average` с окном 7 дней и видите, что первые дни графика пустые или ведут себя странно. Что лучше сделать, чтобы не исказить смысл?
AПодставить 0 для первых 6 дней, чтобы линия была непрерывной
BДублировать первое значение на первые 6 дней
CЯвно определить правило краёв: начать линию, когда окно заполнено, или показать неполные окна без подстановки нулей
DУвеличить окно до 30 дней, чтобы исчезли пустые значения
Ответ: У `rolling average` есть краевые эффекты: важно честно показать, где окно неполное.
Подстановка 0 или дублей создаёт искусственные провалы/пики. Лучше явно управлять краями окна и не выдавать вычислительный артефакт за сигнал.
12Вы строите отчёт о росте `MoM`. Как корректнее считать и визуализировать `MoM` для месячной метрики?
AСравнить каждый день месяца с предыдущим днём и назвать это `MoM`
BСравнить значение метрики за текущий месяц с предыдущим месяцем (одинаковая `granularity` = месяц)
CСравнить текущий месяц с тем же месяцем прошлого года и назвать это `MoM`
DСравнить текущий месяц со средним за всё время
Ответ: `MoM` — это сравнение 'месяц к месяцу' на одной `granularity`.
Чтобы `MoM` был корректным, сравнивают сопоставимые месячные агрегаты, а не отдельные дни. Для сравнения с прошлым годом используют `YoY`.
13У метрики выраженная недельная `seasonality` (выходные ниже). Какое окно `rolling average` чаще всего логично, чтобы сгладить именно недельный цикл?
AОкно 2 дня
BОкно 7 дней
CОкно 365 дней
DОкно 1 день (без сглаживания)
Ответ: Окно `rolling average` выбирают под период `seasonality`.
Окно 7 дней усредняет полный недельный цикл и снижает влияние конкретного дня недели. Слишком длинное окно может скрыть изменения и запаздывать.
14В ежедневной `time series` событий один день трекинг был сломан: данных нет, но пользователи были. Как корректнее отобразить этот день на графике?
AПоставить 0, чтобы линия была непрерывной
BУдалить день из оси времени, чтобы не было разрыва
CОставить пропуск как `missing` и пометить, что это отсутствие данных, а не ноль
DЗаменить значение на среднее соседних дней без комментариев
Ответ: Ноль и `missing` — разные смыслы на `time series`.
Подстановка 0 создаёт ложный провал и ломает сравнения типа `WoW`. Лучше показать пропуск и явно объяснить, что это проблема данных.
15Вы построили `index` с `baseline` в первую неделю, но тогда была крупная распродажа, и базовый уровень аномальный. Что лучше сделать?
AНичего не менять: `index` всегда устойчив к аномалиям
BВыбрать более репрезентативный `baseline` (типичная неделя) или явно объяснить, что базовый период аномальный
CЗаменить `index` на `cumulative` без объяснений
DУдалить распродажную неделю из данных и не упоминать
Ответ: `Index` чувствителен к выбору `baseline`, особенно если он аномальный.
Аномальный `baseline` искажает всю кривую и может создать ложный вывод о росте/падении. Лучше выбрать типичный период или прозрачно объяснить, почему база необычная.
Хотите тренировать интерактивно?
В приложении — таймер, прогресс, стрики и 1700+ вопросов по всем темам.
Тренировать в TelegramДругие темы: Визуализация данных