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

Надоели эти презентации в Power Point!

Начну, пожалуй, с главной проблемы, из-за которой всё и началось. Дело в том, что раньше в нашей компании каждую неделю делали в Power Point презентацию с отчётностью, состоявшую из огромного количества слайдов (порядка 100), и на это аналитики тратили немало времени. К тому же это занятие было довольно рутинным и приносило мало удовольствия. Из-за плохой автоматизации возникало много ошибок в данных и их представлении. Некоторые слайды терялись, некоторые теряли актуальность. К тому же информация в презентации отставала почти на неделю, что не особо радовало руководство. 

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

Решили, что надо что-то менять.

Что делать-то будем, товарищи?

Разумеется, команда, отвечающая за данные (в которой я тогда и работал) совместно с аналитиками пробовали различные BI-системы: QlikView, PowerBI и Grafana. Но все они имели недостатки с точки зрения визуализации регулярной отчётности и скорости её вывода в эксплуатацию. Вдобавок, потребность в Excel-отчётах ещё больше сужала круг возможных решений из коробки. Сравнительный анализ этих BI-систем с нашим решением — достаточно объёмная тема, возможно, позднее напишу об этом статью.

На тот момент у нас в компании была спонтанная наработка в виде веб-приложения, визуализирующего некоторые основные показатели бизнеса, которая использовала относительно «свежие» данные (t-1). С некоторыми разногласиями, но всё же мы решили создать новую версию этого самописного инструмента, перевести в него все слайды презентации и написать интерфейс для скачивания Excel-отчётов. Естественно, защитив всё это ролевой моделью с поддержкой актуального списка пользователей, то есть отбирая доступ, когда сотрудник покидает наши ряды.

Ну что ж, понеслась!

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

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

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

А что было дальше?

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

И вот настал момент релиза «пилотной» версии. Обучили аналитиков. Ребята довольно быстро освоили админку для создания SQL-скриптов и виджетов и начали потихоньку «ваять» аналитику в вебе. Было много различной обратной связи, которую мы оперативно конвертировали в новые релизы и хот-фиксы. 

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

Что имеем сейчас?

С тех пор, как вышла в прод первая версия, произошло много интересного. Система стала своеобразной соц. сетью, в которой можно добавлять в «избранное» интересующие виджеты, комментировать виджеты, подписываться на обновления и получать новости. Значительно улучшилось качество аналитики, ведь мы добавили мониторинг актуальности данных, и не обновившиеся по какой-либо причине виджеты автоматически скрываются «шторкой». Мониторится время работы SQL-скриптов и количество возвращаемых данных, в случае превышения лимита автору аналитики приходит соответствующая новость-оповещение. 

Реестры скриптов и виджетов позволяют переиспользовать их в разных сценариях, так мы избегаем дублирования данных и снизили трудозатраты аналитиков. Сделав один раз виджет остаётся только поддерживать его актуальность, а оповещения помогут с этим.

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

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

Многих из описанных функций попросту нет в таких системах, как QlikView, PowerBI и Grafana, что делает наш продукт уникальным, и мы даже немного гордимся этим. Разумеется, у нас нет таких богатых BI-возможностей, как кастомные формулы и вычисления, большой набор визуализаций и прочее. Но текущие возможности удовлетворяют потребности бизнеса, к тому же мы очень быстро развиваемся и будем расширять BI-функциональность. Для кастомных расчётов каких-либо показателей и ad-hoc запросов у нас используется Tableau. Но всё-таки для регулярной и официальной отчётности наш инструмент признан основным и все ориентируются на него. 

Что касается обучения новичков работе в нашей системе, по нашему опыту всё интуитивно понятно и вопросов возникает мало. А если возникают, то мы включаем в бэклог задачи по UX-доработкам. Небольшая Agile-команда справляется с обратной связью от более чем тысячи пользователей.

Эпилог

Я поведал историю, как мы несколько необычным образом решали довольно типичную проблему с ручными презентациями и «экселями». Возможно, наш опыт вам поможет в выборе продукта из коробки либо создании собственного инструмента визуализации. Если некоторые аспекты описаны недостаточно подробно, про них можно будет написать в следующих статьях :-)

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

P.S. Так совпало, что сегодня ровно 7 лет, как я работаю в ДомКлик. И большую часть времени я работал над описанным проектом, поэтому очень символично получилось :-)

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


  1. alexesDev
    13.01.2022 11:31
    +4

    Создание своей аналитики - народная забава в СНГ. Смешная попытка использовать grafana как BI, как минимум интерфейс будет пыточной для рядового пользователя.

    Metabase находится в топе opensource BI. Умеет excel отчеты и тп по-мелочи. Проблема только в том, что SQL отчеты множатся как мусор и теряется контроль через пару лет.

    Как вариант решения проблему штуки типа https://cube.dev/


    1. dmitriyleonov Автор
      13.01.2022 12:22
      +1

      Здравствуйте!

      Grafan-у мы не используем как BI, только иногда для IT-метрик.
      С размножением SQL скриптов мы боремся за счет публичных реестров на всех аналитиков, с переиспользованием и автоматической архивацией неактуального/неиспользуемого. В этом и преимущество, что мы может настроить систему под свои нужды.


    1. x67
      14.01.2022 20:12

      Метабейс отлично подходит для простых отчетиков. Для чего то посложнее и с интеграцией различных источников - tableau хорош. Для всего остального есть cube, dash и тп. Зачем тратить человекомесяцы и человекогоды на свою разработку, когда на эти деньги можно нанять больше аналитиков - из статьи решительно не понятно...


  1. prolis
    13.01.2022 11:53
    -11

    Собственные системы Домклика это обман: https://vc.ru/claim/145282-domklik-sberbanka-anonimno-pytalsya-kupit-u-menya-intellektualnye-prava


  1. ihouser
    13.01.2022 12:58

    Ни как немогу привыкнуть к этим "вжух-вжух" картинкам. Они меня бесят. И отвлекают.


  1. mirror_analytics
    13.01.2022 13:28
    +6

    А вы понимаете, что наличие подобного собственного решения по визуализации данных служит огромным минусом для резюме ваших аналитиков? Кому на рынке известно про ваш инструмент? Пока у других аналитиков в резюме будет Metabase, PowerBI, Tableau, у ваших будет какой-то inhouse визуализатор.

    Если честно, по статье так и не стало понятно, что именно побудило создавать свой интерфейс. Попробовали Grafana, QV и PBI? При чем тут графана? Почему не остановились на табло? Почему не стали смотреть на метабейз, суперсет, редэш? Если вам нужно было обновлять Эксель отчёты, то почему не сделать сервис для этого отдельный, а визуализацию оставить профессиональную?

    Почему в статье нет ни одного скриншота интерфейса? Или хотя бы макетов? Читаю статью о чем-то абстрактном и, на первый взгляд, бесполезном. Хочется убедить себя, что не прав, но автор в этом не помогает. Видно, что влюблен в свой продукт, однако аргументированно донести его полезность/нужность/необычность не получилось.

    Буду ждать новых статей!


    1. dmitriyleonov Автор
      13.01.2022 13:40
      +1

      Добрый день!

      Спасибо за такой развернутый комментарий!

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

      Для объяснения, почему мы решили делать свой интерфейс, понадобится отдельная статья, о чем я написал в текущей. Возможно, такая статья появится в будущем. Текущая статься больше про историю развития продукта.

      Для обновления экселей у нас отдельный сервис, наша система является только "фронтом", чтобы дашборды и файлы были в одном месте.

      Скриншотов нет по той же причине, что это статья больше про историю. Но, видимо, вам интересно почитать про саму систему более подробно. Это тоже может быть темой новой статьи)


      1. cArmius
        14.01.2022 12:20

        Если для обновления экселей есть отдельный сервис, то тем более непонятно зачем нужна своя визуализация


  1. Ustas4
    13.01.2022 18:10

    Я тоже пытался внедрить cognos -не пошло.

    Внедрил собственную разработку на matlab.

    Клиенты довольны, но это не веб.

    Я чувствую необходимость в веб, но проект fix price и на его переделку уже нет средств.

    Смежники внедряют табло, но идет туго. Не хватает hr.

    В статье не хватает информации на чем писали программу


    1. dmitriyleonov Автор
      13.01.2022 18:26
      +2

      Спасибо, что поделились своим опытом!

      У нас backend на Python, фронт на React. БД на PostgreSQL


  1. fdsvptr
    13.01.2022 20:13
    +1

    Контекста маловато, чтобы судить "пилить свое или нет", но раз презентуете свое решение по визуализации, то где собственно скриншоты)?

    Без них вообще не понятно, что произошло)


  1. FlashHaos
    14.01.2022 00:43

    Не очень понял, как связана привычка аналитиков к экселю и разработка собственного веб-фронта? Если на бэкэнде что-то excel-совместимое (olap на ms sql, например), то какая разница, что за веб-морду к этому же источнику прикрутить? Зачем вообще каким-то автоматом обновлять эксельники, если достаточно нормально подключить их к источнику через тот же power query? Зачем рисовать 100 слайдов каждую неделю, когда можно просто настроить отчёты excel, которые будут по кнопке обновлять сводные таблицы - обычные или power pivot?

    Я вообще живу с ощущением, что везде, где нет реально больших данных и можно обойтись без веб интерфейса - экселя будет более, чем достаточно.

    Я немного повторяюсь в своих вопросах, и они явно не по адресу - но кажется, задача вам была поставлена изначально некорректно. Сама статья слишком общая, чтобы адекватно рассудить о предпосылках и результатах.


  1. FlashHaos
    14.01.2022 00:45

    И кстати, в большом сбере свой аналитический стек, который делает сбердата. Я правильно понимаю, что вы занимаетесь велосипедостроением сразу в двух плоскостях - поперёк индустрии и поперёк материнской компании?

    Не осуждаю, возможно, именно вы вашим продуктом войдёте в историю. Но для контекста это важно.


  1. GeorgeNordic
    14.01.2022 16:26

    Вы же Tableau купили? Или оно для других задач?

    А как с безопасностью, правами доступа и полями?


  1. kakorchuganov
    14.01.2022 19:21

    7 лет пилите этот bi инструмент?


    1. dmitriyleonov Автор
      14.01.2022 19:21

      последней версии 2,5 года