Привет, Хабр! На связи аналитики Кошелька. Наша команда состоит из 13 дата-аналитиков, 5 DE-инженеров, 2 ML-инженеров и ровно 0 BI-аналитиков. Что мы любим делать? Определять метрики и рисовать дашборды. Что нужно заказчику? Метрики и дашборды (а еще достижение целей и выручка, но не будем сейчас об этом). Чем больше метрик и дашбордов растекается по пространствам и командам в ходе работы, тем больше мы сами начинаем путаться в данных и переспрашивать друг у друга: «А этому графику можно верить?».

В крупных компаниях для решения таких проблем создаются отдельные BI-команды, но мы решили справиться своими силами. Эта статья будет своего рода инструкцией, как можно навести порядок в отчётности, и с какими проблемами вы можете столкнуться в процессе.

Как было и почему решили менять

Мы создаём отчётность на базе Microsoft Power BI. В нём можно создавать свои рабочие области, так что аналитики без особого порядка и правил создавали дашборды в своих личных или командных областях. В итоге мы столкнулись со следующими проблемами:

  • неиспользуемые рабочие области;

  • большое количество устаревшей отчётности, разработанной под разовые ad-hoc запросы;

  • отсутствие единого стиля и несоблюдение основных правил по визуализации данных;

  • одни и те же метрики в разных дашбордах считались по-разному;

  • массивные запросы, импортирующие данные в дашборд, создавали нагрузку на БД;

  • основные потребности бизнеса не были закрыты.

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

«Хватит это терпеть!», — подумала наша команда и решила создать процесс и требования по разработке дашбордов. Одновременно с этим проектом мы начали создание единой библиотеки метрик, в которой зафиксировали названия метрик из отчётов и способы их расчёта. 

Для гильдии дата-аналитиков важно было начать продвижение data-driven культуры в Кошельке и сделать так, чтобы обращение к дашбордам было удобным и понятным каждому сотруднику компании. Мы хотели качественно закрыть все бизнес-потребности и повысить уровень доверия к данным. Дальше мы вместе и по шагам разберём то, как мы построили этот процесс и каких результатов добились.

Точки изменения

Первым делом мы собрали данные по актуальным отчётам, исходя из их метрик использования (встроенная функция PBI), а также провели интервью с основными пользователями отчётности. Далее зафиксировали краткое описание дашбордов и используемые в них метрики. После чего создали шаблон «Карточка метрики» и попросили всех аналитиков заполнить по нему метрики своего бизнес-направления.

Шаблон "Карточка метрики"
Шаблон "Карточка метрики"

Все эти метрики, собранные по шаблону, формируют единый «Источник правды», который регулярно пополняется метриками при создании нового отчёта.

Нейминг и расчёт метрик, которые пересекались между продуктовыми направлениями и по-разному считались в старых дашбордах, был согласован на отдельных встречах и также зафиксирован в карточке-метрике. В будущем мы хотим ещё больше автоматизировать процесс добавления метрик, чтобы их название и описание можно было импортировать в отчёт сразу из БД.

Кусочек библиотеки метрик
Кусочек библиотеки метрик

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

Работа над отчётом

Помимо порядка в названиях метрик надо было ещё поработать над тем, чтобы наши отчёты стали более качественными и исчерпывающе отвечали на вопросы бизнеса. За основу процесса разработки новых отчётов мы взяли методологию Dashboard Canvas от Романа Бунина. Первая версия Dashboard Canvas (сейчас уже есть canvas 2.0) состояла из 9 компонентов, но мы сократили эти шаги с учётом особенностей нашего бизнеса и отсутствия отдельной BI-команды. В итоге создали свой «Шаблон», который теперь используют аналитики при создании любого нового дашборда. Каждый такой «канвас» подтягивается в «Навигатор по отчетам», что позволяет не только быстро найти отчёт, но и следить за процессом его создания по этапам.

Кусочек навигатора по отчетам
Кусочек навигатора по отчетам
Шаблон страницы дашборда
Шаблон страницы дашборда

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

Приведём пример заполнения этих пунктов для дашборда «Метрики активности»:

Задача: Контроль метрик активности пользователей, динамики изменения DAU, WAU, MAU, Retention. Часть дашборда направлена на анализ оттока пользователей и когортный анализ.

Пользователи:   

  • C-level

  • Аналитики данных

  • Продакт-менеджеры направлений

Вопросы и решения:

  • Сколько пользователей заходят в Кошелёк в день/неделю/месяц?

  • Сколько новых пользователей приходит в Кошелёк и как они регистрируются?

  • Какой Retention в Кошельке?

  • Из каких когорт пользователей состоит МАU?

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

После этого аналитик производит расчёт метрик и заносит их в «Источник правды» (или импортирует существующую метрику из «Источника» сразу на страницу отчета). При заполнении карточки-метрики нужно указать название дашборда, в котором метрика будет визуализирована. С помощью макроса «Page properties report» таблица с метриками дашборда автоматически появляется на странице с заполненным канвасом. Пользователь дашборда может при необходимости перейти по ссылке и детальнее изучить, как рассчитывается конкретная метрика.

Макрос «Page properties report»  в режиме редактирования
Макрос «Page properties report» в режиме редактирования
Результат выполнения макроса - список метрик отчета
Результат выполнения макроса - список метрик отчета

После того, как метрики рассчитаны и предагрегированы в витрины в БД  (используем Airflow для автоматизации ETL), аналитик создаёт первый макет дашборда. После согласования макета с заказчиком аналитик дорабатывает дашборд по фидбэку и проверяет его на соответствие стайл-гайду.

Стайл-гайд

В Power BI можно создавать пользовательскую тему для отчётов и сохранять JSON-файл с темой для применения в других дашбордах. Поэтому мы взяли корпоративную палитру от дизайнеров Кошелька и «приглушили» цвета на несколько тонов. Если вы затрудняетесь выбрать цветовую палитру, мы советуем попробовать подобрать цвета с помощью цветового круга в Adobe Color.

На отдельной странице в confluence мы зафиксировали рекомендации по созданию визуализаций с конкретными примерами графиков. Прописали стандартный шрифт (Segoe UI) и размеры для заголовков, подзаголовков, осей и меток данных. Шрифт выбрали из стандартного пакета и с учётом того, что в дашбордах лучше использовать округлые шрифты без засечек для лучшего восприятия и лёгкого считывания информации.

Палитра Кошелька
Палитра Кошелька

Кроме этого, мы просим всех аналитиков придерживаться простых правил по визуализации данных:

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

  • Не перегружать дашборд информацией и соблюдать иерархию размера шрифта, метрик и графиков.

  • Не использовать более 3-4 разных размеров шрифта на странице.

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

  • Не забывать про подсказки к метрикам и tooltips в графиках.

На страницу с правилами разработки отчётов мы добавили примеры удачных визуализаций, чтобы развивать навыки датавиза у аналитиков. На создание такой собственной «галереи» нас вдохновила «Коллекция визуализаций» от Data Yoga.

Процесс ревью

На финальном этапе аналитик создаёт задачи на ревью дашборда. Ревью делится на 2 части: проверка кода расчётов метрик и визуальное ревью.

Ревью кода обычно проводит тимлид, поскольку в продуктовой команде зачастую только один аналитик, а из-за специфичных данных каждой из команд кросс-ревью проводить затруднительно. Если дашборд ориентирован на большую аудиторию или на c-level компании, к ревью кода и ETL расчётов метрик привлекаются дата-инженеры. ETL осуществляется в Airflow и добавляется алертинг с уведомлениями об инцидентах в канал корпоративного мессендежера.

В рамках визуального ревью осуществляется проверка дашборда на соответствие стайл-гайду, а также поверка корректности работы фильтров, подсказок, отображения динамик метрик, соответствия типа визуализаций отображаемым данным. Для этого у нас есть отдельные «BI-эксперты» – аналитики с развитой «насмотренностью».

Для каждого из видов ревью созданы чек-листы с обязательными пунктами к проверке.

Тестирование подхода

Первым дашбордом, созданным по новому процессу, стал General – панель мониторинга с метриками активностей пользователей и ключевыми метриками бизнес-вертикалей. От General мы начали выстраивать иерархию, и сейчас реализовано 3 уровня: executive-дашборд General → дашборды бизнес-вертикалей → детальные дашборды продуктовых команд. У каждого из этих дашбордов есть страница-канвас.

Однако уже на первых этапах мы столкнулись и с рядом проблем. Честно говоря, сложнее всего было внедрить сам процесс и доказать аналитикам и заказчикам, что канвас не лишняя морока, а помощник при создании дашборда. Один из продактов на встрече так и сказал, мол, а зачем это всё, ведь на такую работу тратятся дополнительные ресурсы? Давайте лучше быстро набросаем графики, и всем будет ок.

Как все должно выглядеть: аналитик начинает работу над дашбордом с создания канваса, проведения интервью с заказчиками, заполнения целей и задачей инструмента. Затем, исходя из задач, выбирает и согласует метрики, считает их, рисует макет, и только потом открывает Power BI.

Как иногда делалось: аналитик считает метрики, делает дашборд, и только потом начинает заполнять канвас.

Решается эта проблема просто — диалогом, в котором вы объясните, что новый процесс не только не занимает больше ресурсов аналитика, но и значительно сокращает их затраты, так как колоссально уменьшает время на будущую «доделку» дашборда и его поддержку. Мы так и сделали: поговорили со всеми заказчиками, выступили перед коллегами, ответили на все вопросы, собрали фидбэк. И теперь всё работает как надо. Но контроль всё равно иногда нужен.

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

  • Статусы по дашбордам: разбили работу на 5 этапов. Если дашборд сейчас на этапе работы, в статусе должна стоять таска в Jira. Например «этап ревью → таска → ревьюер Соня». Или «в работе → таска на расчет метрик → аналитик Никита».

  • Квартальные субботники. На каждого аналитика централизованно ставится задача, которую он в течение месяца берет в спринт. В рамках задачи он проверяет актуальность своих метрик, канвасов, дашбордов и так далее.

  • Визуальное улучшение сводных док. Например, мы разбили метрики по категориям и командам, и теперь их проще искать в библиотеке.

Кроме этого, в онбординг каждого нового аналитика включена задача по ознакомлению с правилами разработки отчётов.

Порядок в метриках — услада глаз аналитика

Что мы имеем в итоге? Унифицированные метрики, грамотные и стилистически выверенные дашборды, актуальная документация — и всё это связано между собой, имеет владельцев и чёткие критерии качества.

Эти изменения позволяют коллегам удобно и быстро получать важную информацию, сокращают количество личных запросов к аналитикам и в принципе помогают нам показать прозрачность процессов. Полезность проделанной работы как минимум заключается в том, что после запуска обновлённых дашбордов количество их просмотров выросло на 40%. Кроме того, мы регулярно получаем фидбэк о пользе и удобстве дашбордов от заказчиков.

Конечно, мы не останавливаемся на достигнутом, а продолжаем развивать BI в Кошельке. В наши планы входит внедрение алертинга, активная коммуникация и обучение заказчиков и аналитиков, а также в ближайшее время нас ждет «переезд» на другой BI-инструмент. 

Делитесь в комментариях тем, как выстроены процессы разработки дашбордов у вас в компании. Что бы вы предложили нам улучшить? А также задавайте любые вопросы нашей дрим-тим команде, участвовавшей в проекте: мне – Соне Семёновой (@Sofia_Semenova), Никите Башуну (@niqx), Дане Сибилеву (@Danil_Sibilev).

P.S. Часть ссылок на полезные материалы, которые мы использовали в ходе работы над проектом:

Комментарии (7)


  1. rbunin
    21.09.2023 09:56
    +2

    Отличная статья, круто, что так системно этим занимаетесь!

    Эх, пора статью с шаблонами переделывать, уже устарёл малёк. Про типы дашбордов лучше посмотреть, например, вот этот доклад — https://www.youtube.com/watch?v=27oeByUtADQ


    1. Sofia_Semenova Автор
      21.09.2023 09:56
      +1

      Спасибо большое! От Вас фидбэк - самый ценный, который я ждала)


  1. rbunin
    21.09.2023 09:56
    +1

    А как боритесь с тем, что люди создают метрики в обход «источника правды»? Есть какие-то инструменты?


    1. Sofia_Semenova Автор
      21.09.2023 09:56
      +1

      У нас есть еще один проект параллельно - Discovery, который направлен на улучшение процессов внутри продуктовых команд. Чтобы каждая команда имела ключевые метрики и понимала на что она влияет. Если у команды создаются новые метрики в результате смены вектора их деятельности, то только в результате обсуждения с аналитиком, а аналитики уже знают, что они должны после подсчета метрики зафиксировать все в библиотеке.


  1. canadarus
    21.09.2023 09:56
    +2

    Очень крутая статья, Сонь! спасибо большое!)


  1. GromovBI
    21.09.2023 09:56
    +1

    да, молодцы! это то, что можно назвать data governance!


  1. fontanika
    21.09.2023 09:56
    +2

    Отличная статья и кажется прекрасная организация работы команды аналитиков.