сеньорчикОткрыть в Telegram
← вся теориятеория к собесу · BI и визуализация

Интерактивность дашборда

Интерактив: помогает, а не мешает

Интерактивность дашборда должна вести пользователя к ответу, а не превращать экран в конструктор с полусотней фильтров. Собес проверяет, проектируешь ли ты взаимодействие под реальные вопросы.

Стержень: обзор → zoom и фильтр → детали по требованию; дефолт это самый частый сценарий, а не пустой экран с выбором.

// Формулировки: «как спроектируешь фильтры?», «чем drill-down отличается от drill-through?», «чем опасен cross-filter?».

Мантра Шнейдермана и дефолт

Мантра Шнейдермана: сначала обзор, потом zoom и фильтр, детали - по требованию. Дашборд ведёт от агрегата к строке, а не вываливает всё сразу.

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

// Дефолтное состояние - самый частый сценарий использования: последние 30 дней, все регионы. Пустой экран «выберите пять фильтров, чтобы что-то увидеть» убивает adoption - большинство просто закроет.

мантра Шнейдермана
overview → zoom & filter → details on demand
дефолтное состояние
стартовый вид = самый частый сценарий

Drill-down, drill-through, cross-filter

Drill-down - спуск по иерархии внутри виджета (страна → город, категория → SKU). Drill-through - переход на отдельную страницу детализации с передачей контекста. Это два разных жеста, их не путают.

Cross-filtering - клик по элементу одного графика фильтрует соседние. Мощно, но опасно: пользователь обязан видеть, какие фильтры сейчас активны, и уметь сбросить их одним кликом.

// Скрытый активный фильтр - источник потери доверия: человек видит «странные» числа, не понимает почему, и решает, что дашборд сломан. Активные фильтры всегда на виду.

drill-down / drill-through
спуск по иерархии / переход на страницу деталей
cross-filtering
клик по чарту фильтрует остальные виджеты
SKU
stock keeping unit

Параметры, тултипы, шаринг

Параметры экономят место: переключатель метрики или гранулярности превращает один график «выручка / заказы / маржа» в замену трём. Тултипы несут вторичные детали - точное значение, состав, мини-график сегмента - чтобы не грузить основную картинку тем, что нужно раз в десять просмотров.

Состояние дашборда должно шариться ссылкой: «вот что я вижу» с сохранёнными фильтрами (bookmark/permalink).

// Показательный признак: если люди шлют друг другу скриншоты дашборда в чат - значит, шаринг состояния не работает, и это надо чинить, а не терпеть.

параметр
переключатель метрики/гранулярности внутри виджета
bookmark / permalink
сохранённое состояние фильтров ссылкой

Как отвечать: «Как проектировать интерактив, чтобы он помогал, а не мешал?»

Отталкиваюсь от мантры Шнейдермана: сначала обзор, потом возможность приблизить и отфильтровать, детали - по требованию. То есть дашборд ведёт от агрегата к строке, а не вываливает всё разом. Фильтры ставлю только по измерениям, которыми реально режут - период, регион, канал, а не «на всякий случай». Дефолт делаю самым частым сценарием: последние 30 дней, все регионы, чтобы человек сразу что-то увидел, а не упёрся в пустой экран с пятью обязательными фильтрами. Drill-down и drill-through развожу осознанно, cross-filter даю только с видимыми активными фильтрами и кнопкой сброса, иначе пользователь решит, что дашборд сломался. Параметры экономят место вместо трёх почти одинаковых графиков, детали прячу в тултипы. И обязательно - шаринг состояния ссылкой; если шлют скриншоты, значит я что-то не додумал.

Почему это сильный ответ: назван принцип (Шнейдерман), дефолт-как-частый-кейс, дисциплина фильтров, видимость активных фильтров при cross-filter и шаринг состояния - проектирование под пользователя, а не набор фич.

На чём валят

  • 15 фильтров сверху - аналитический конструктор вместо ответа на вопрос.
  • Скрытые активные фильтры: юзер видит «странные» числа и теряет доверие.
  • Cross-filter без индикации - два клика назад дашборд «сломался».
  • Дефолт «всё время × все категории» - самый тяжёлый запрос при каждом открытии.
  • Drill-down в пустоту: спуск на уровень, где данных нет - тупик без объяснения.

Проверьте себя

Пять вопросов из банка по этой подтеме. Всего их 11, остальные разбираются в тренажёре.

  1. #dashboard_interaction1 / 5
    Что даёт cross-filtering (взаимная фильтрация) на дашборде?
    A)Это полный запрет взаимодействия с графиками, чтобы пользователь случайно не сбил настроенный вид
    B)Экспорт данных в Excel
    C)Клик по элементу одного графика фильтрует остальные панели под выбранный срез
    D)Автоматический подбор цветовой палитры
    показать ответ и разбор
    +C)Клик по элементу одного графика фильтрует остальные панели под выбранный срез

    // разбор: Cross-filtering связывает визуализации: выбор на одном графике (клик по столбцу канала, точке на карте) применяется как фильтр ко всем остальным панелям — они мгновенно пересчитываются под этот срез. Так пользователь исследует «а как выглядит всё остальное для этой группы» без ручной настройки фильтров. Мощный, но требует аккуратности: неочевидная связность способна запутать, если не показать, что фильтр активен.

  2. #dashboard_interaction2 / 5
    Self-service BI развязал руки командам, но у одной метрики в разных отчётах разные цифры. Причина и лекарство?
    A)Причина в медленном интернете у пользователей; лекарство — поставить сервер BI помощнее и быстрее
    B)Это нормально, метрики и должны различаться в каждом отчёте
    C)Причина случайна и не лечится
    D)Каждый считает метрику по-своему; лечит единый семантический слой с сертифицированными метриками
    показать ответ и разбор
    +D)Каждый считает метрику по-своему; лечит единый семантический слой с сертифицированными метриками

    // разбор: Обратная сторона self-service: если каждый определяет «активного пользователя» или «выручку» в своём отчёте, определения расходятся, и цифры не сходятся. Лекарство организационно-техническое: вынести метрики в общий семантический слой/сертифицированные датасеты с единой формулой, договориться о definitions и переиспользовать их, а не переопределять. Иначе доверие к BI падает — «у нас три разных выручки».

  3. #dashboard_interaction3 / 5
    Дашборд красивый, его открывают, но решений по нему не принимают. Чего ему не хватает — actionability?
    A)Действенности: метрика привязана к решению, цели, владельцу — иначе витрина цифр
    B)Дашборду не хватает большего числа метрик на экране — чем их больше, тем он полезнее для решений
    C)Более ярких цветов и 3D-эффектов
    D)Автоматической анимации переходов
    показать ответ и разбор
    +A)Действенности: метрика привязана к решению, цели, владельцу — иначе витрина цифр

    // разбор: Дашборд полезен, когда по нему действуют. Для этого каждая метрика отвечает на «ну и что?»: у неё есть цель/норма для сравнения, владелец, и понятно, какое решение она информирует и что делать при отклонении. Без этого получается красивая витрина, которую смотрят, но не используют. Лечится не украшательством, а фокусом на решениях: убрать метрики, ни на что не влияющие, и добавить контекст к оставшимся.

  4. #dashboard_interaction4 / 5
    На дашборде показывают текущее значение метрики. Почему почти всегда добавляют сравнение (с прошлым периодом, планом, YoY)?
    A)Сравнение с прошлым периодом лишь загромождает дашборд, поэтому его обычно стоит убирать
    B)Голое число не интерпретируется без базы; сравнение с прошлым/планом/YoY даёт контекст
    C)Сравнение нужно лишь бухгалтерии
    D)Текущее значение самодостаточно
    показать ответ и разбор
    +B)Голое число не интерпретируется без базы; сравнение с прошлым/планом/YoY даёт контекст

    // разбор: Число без опорной точки не несёт смысла: 5 млн — это рост или провал? Сравнение даёт контекст — к прошлому периоду (MoM/WoW), к плану, год-к-году (YoY, снимает сезонность), к целевому значению. Именно дельта и направление превращают показатель в сигнал к действию. Поэтому на дашбордах рядом с текущим значением почти всегда ставят изменение и/или цель.

  5. #dashboard_interaction5 / 5
    Пользователи жалуются, что дашборд «слишком сложный». Какой первый разумный шаг?
    A)Добавить на дашборд ещё несколько фильтров и графиков, чтобы он полнее отвечал на все вопросы сразу
    B)Перевести все подписи на английский
    C)Сократить до главного: убрать лишние метрики, ключевые наверх, детали в drill-down
    D)Увеличить частоту обновления данных
    показать ответ и разбор
    +C)Сократить до главного: убрать лишние метрики, ключевые наверх, детали в drill-down

    // разбор: Перегруженный дашборд лечат сокращением, а не добавлением. Определяют, ради каких 1–2 решений он существует, выносят ключевые метрики наверх, а второстепенное убирают или прячут за drill-down/вкладки, доступные по запросу. Меньше объектов на экране — быстрее считывается и используется. Добавлять графики и фильтры «для полноты» — путь ровно в обратную сторону.

дальше

Теорию прочитали. Навык ставится повторением

В Сеньорчике эта подтема идёт в ежедневных сессиях: движок возвращает её, пока ответы не станут уверенными, и ведёт прогресс отдельно по каждой подтеме. Теория внутри тоже бесплатна, лимит только на количество вопросов в день.