Проблематика
Когда говорят про отчеты к данным (неважно, какая тема) все хотят гибкие дашборды, МНОГО дашбордов, играют конкурсы про BI, выдумывают разные сложные требования и кейсы, отсматривают массу вендоров и решений, разбиваются на непримиримые лагеря и на 100% уверены, что это то, без чего жизнь на работе тяжела, уныла и печальна.
Так ли это? По описанию очень сомнительно (похоже на серебряную пулю), а практика дает подтверждение «отнюдь не так».
Является продолжением серии предыдущих публикаций.
Что в реальности
В реальности все оказывается совсем по другому. Сразу исключим из рассмотрения настоящих аналитиков, которым этот инструмент может раскрыться в полной мере (остановимся чуть позже). В подавляющем большинстве случаев не нужны менеджерам эти дашборды с сотней ручек. Им нужны ограниченные срезы для решения повседневных задач.
Основными драйверами за BI и дашборды являются страх и лень потребителей и, конечно же, материальная заинтересованность производителей этих инструментов.
Страх остаться с данными один на один и невозможностью ответить на какой-либо вопрос. Страх принять решение, а потом не иметь возможности сделать отписку "вам дали что хотели? теперь гоните результат!". Страх пойти по пути, который не отлит в корпоративных стандартах как бетонный монолит. Лень задуматься о истинных потребностях обычных пользователей и альтернативных способах решениях.
Откуда такие утверждения? Дело в том, что отчетные квесты больше похожи на сеансы психотерапии. Каждый раз приходится медленно пробираться через наслоение индуцированных утверждений и убеждений, чтобы добраться до истинной потребности и после этого объяснить ее компьютеру. Последний точно не умеет и не понимает общих слов и смутных ощущений. У него только «0» и «1».
Итак, какие есть существенные выгоды у storytelling отчетов, выполненных на базе технологии RMarkdown. Для ознакомления с возможностями RMarkdown можно проглядеть галерею. Далее будем по умолчанию подразумевать HTML форму отчета, как наиболее удобную для динамичной работы.
Выгода 1. Предоставление пользователю информации в готовом к употреблению виде
Storytelling отчет строится под потребности конкретной группы потребителей. Содержание документа, набор визуальных представлений, порядок подачи материала, поясняющий и связующий текст — все предназначено для того, чтобы пользователь мог читать отчет как книгу. Материал раскрывается подробно, от общего к частному. Можно быстро перейти к нужной главе. Если структура отчета давно знакома, то можно быстро просматривать ключевые точки в известных местах. При этом подача материала устроена таким образом, что нет нужды задавать фильтры, листать менюшки, загружать настройки (как это делают в дашбордах). Машина уже это выполнила на этапе подготовки. Все собрано сразу в готовом к употреблению виде, достаточно лишь скроллить вверх/вниз и брать информацию в работу.
Выгода 2. Полная отвязка от инфраструктурных ограничений
В большинстве случаев storytelling отчет нужен по закрытому дню и генерировать его надо один раз в сутки. Оптимальный вариант — ночная offline генерация всех необходимых отчетов для текущего рабочего дня. Классическое окно для генерации — 2:00-7:00. Когда предыдущий день закрыт и переходные процессы закрытия во всех внутренних ИС завершились. Отсюда три существенных плюса:
- offline генерация на серверной стороне позволяет не «заморачиваться» на скорость исполнения. В случае интерактивного анализа отклик должен измеряться десятками миллисекунд, иначе пользователи начинают жаловаться на «торможение» системы. Здесь же мы можем считать секунды. Снижение к требованиям по железу колоссальное.
- можно использовать любой сложности алгоритмы, в т.ч. весь спектр ML инструментов.
- неактуально понятие «лицензия на доступ», нет непредсказуемой конкурентности. планируете задания последовательно-параллельно, опираясь на доступные вам аппаратные средства.
Выгода 3. Полная отвязка отчета от источников данных
Будучи собранным, storytelling отчет является самодостаточной и законченной сущностью. Это единый html контейнер, который содержит в себе всю необходимую информацию. Отсюда три существенных плюса:
- готовый отчет можно как рассылать пользователям по почте, так и предоставлять доступ через корпоративные порталы. пользователь сможет работать с ним везде — и за пределом корп.сети, и даже в бункере в режиме полного оффлайна.
- отчет — это html файл. тривальными средствами можно обеспечить историческое хранение на любую требуемую глубину со стоимостью, близкой к 0.
- в исторической части хорошо известная проблема, когда отлаженный неизменный отчет нельзя собрать на исторических данных так, как он собирался бы тогда, когда эта дата была. Связано это с изменчивостью данных, изменчивостью ландшафта, эволюцией ИС и систем, динамичностью справочников. В тривиальном случае — оргструктура любой компании динамична и она сегодня не такова, какой была 3 года назад. Обычному отчету никогда не вернуться в прошлое. А storytelling отчет — это след папоротника в известняке.
Выгода 4. Динамическая генерация, основанная на предоставленных данных
Классический отчет — жестко зафиксированный состав элементов и их форма. В случае со storytelling отчетом можно использовать подходы динамической генерации, когда сама ткань отчета генерируется на основе структуры полученных данных. Тем самым возможна почти любая вариативность, при этом текст отчета остается связным и без пустых мест. Чуть детальнее с кодом можно посмотреть в публикации «R Markdown. Как сделать отчет в условиях неопределенности?».
Также можно параметризировать RMarkdown отчет и получать различные представления на различных данных, используя один и тот же код.
Выгода 5. Динамический контент
Представление html позволяет добавить такой объем динамичности, что пользователь может забыть, что это offline. Включение js виджетов позволяет обеспечить динамичные таблицы, графики. Средствами html и js можно располагать части отчета на закладках, обеспечивать кросснавигацию и оглавление, управлять видимостью объектов. Использование механизмов кросскоммуникации js виджетов позволяет делать связанные обновления элементов. Более конкретно:
- динамические таблицы:
dt
,reactable
. - динамические графики:
plotly
,echarts
,highcharter
,g2r
,R2D3
. - динамические геокарты:
leaflet
. - динамическая связка js объектов:
crosstalk
.
Выгода 6. Безопасный доступ к данным
Очень часто возникают требования по управлению доступом к данным. Та или иная группа пользователей должна иметь возможность строить отчет только по своему подмножеству. Но весь парадокс в том, что все равно остается ряд показателей, которые считаются по всей компании. И если это делать через self-service bi, то потребуется продумывать как это предоставить. Витрины, кубы, выгрузки или еще что-либо.
В случае с Rmarkdown отчетами пользователи вообще не имеют доступа к данным. Все собирается на сервере с контролируемым полным доступом. А в html фиксируются посчитанные агрегаты в соответствии с ролевой моделью.
Выгода 7. Один источник — масса представлений
RMarkdown позволяет из единого источника делать совершенно различные финальные представления. html
, pdf
, doc
, pptx
.
Также, технология RMarkdown позволяет делать статические сайты (blogdown
) и книги (bookdown
).
Выгода 8. Вся мощь devops для гарантий корректности
Поскольку Rmarkdown является набором R инструкций, то управление жизненным циклом отчетов получается идентичным управлениею жизненным циклом ПО. Репозиторий, пакетирование, документирование, автотесты, continious integration, code coverage, профилировка узких мест.
Также, RMarkdown отчеты могут самостоятельно на этапе сборки подключаться к любым источникам данных (не обязательно выверенным SQL таблицам) и строить отчет на актуальных в моменте данных.
Выгода 9
Storytelling на RMarkdown — это всего-лишь одна из возможностей. Никто не отменяет последующее развитие в сторону дашбордов (тот же RMarkdown) или полноценных приложений. Но всему свое время.
Выгода 10, X. ......
Можно продолжать долго, напишите что для вас является важным. Вероятнее всего это можно будет охватить.
Заключение
Еще один важный комментарий. Для того, чтобы корректно использовать дашборды или self-analytics bi нужно очень-очень хорошо знать структуру данных, которые используются в процессе расчета и визуализации и иметь к ним полный доступ. Данные должны быть чистые, консистентые и рафинированные. Аналитик должен обладать навыками проведения расчетов и проверки результатов. Только так можно получить показатели и картинки, которым как-то можно доверять. В противном случае имеем сплошные «жареные факты» и «желтую прессу». Плюс затраты на такого аналитика никак не середнячковые.
Ну а уж если хочется еще и self-service BI впридачу гламурный, то почему бы не поглядеть на Exploratory?
P.S.
По сути, storytelling отчеты являются реализацией давным-давно предложенной Дональдом Кнутом концепции «литературного программирования». И вся вычислительная мощь только через 30 лет смогла доехать до практической и удобной реализации на базе RMarkdown. Питон так не умеет в настоящий момент.
Алармисты уже не дремлют. Gartner вовсю начал предрекать закат BI в том виде как он есть сейчас. Нет поводов не задуматься:
- Why James Richardson from Gartner is Right About the End of Self-Serve Analytics
- Gartner predicts data storytelling will dominate BI by 2025
- Data and analytics trends that will loom large in 2021 and beyond
Предыдущая публикация — «R в руках маркетолога. Делаем когортный анализ своими руками».