Из цикла ETL: настройка первого отчета в Google Looker

Posted by

Если вы метите в Data Science, отчитываться в PowerPoint уже непрофессионально. Да и возможностей для манипуляции с данными маловато. Решение — BI-система. В этой статье покажу, как с ней работать: затащим «горячие» данные в Google Looker, сверстаем дашборд и познакомимся с парой трюков.

Мой работодатель остановился на этом ПО, потому что продукт бесплатный. И есть какая-никакая база тредов на форумах. А создатели готовы принимать запросы на новые фичи в меню (потому что система довольно молодая).

!

Но моя команда больше волнуется за полноту документации. Из-за ее “дырявости” отладка совмещенных таблиц (читай JOIN’ы) и других тонких нюансов дается порой непросто. Но все равно Looker остается прекрасной бесплатной альтернативой раскрученным BI-системам.

Подсказка: Это статья из цикла «5 ETL для зоопарка ботов». В нём я пошагово разбираю, как наладить потоки данных из разных библиотек и конструкторов ботов на разных языках и стеках. В основе лежат Python и его библиотеки. Вот предыдущие статьи цикла:

— Анонс цикла с перечнем технологий
— Настройка потока логов «Из Dialogflow в BigQuery»
— Python для аналитики ad hoc из BigQuery
— Развертывание Airflow
— Настройка первого DAG

Выгружаем данные

!

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

Из таблицы в нижней части скриншота мы выгружаем проблемную фразу пользователя: Looker поддерживает выгрузку в Google Sheets.

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

Подключаем источник данных

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

Создадим новый отчёт по ссылке lookerstudio.google.com и подключим источник из BigQuery, как на скринкасте ниже:

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

Добавим временные ряды

Для простоты восприятия я остановлюсь на примере с линейной временной диаграммой. BI-система сама построила простенькую таблицу, но мы её изменим:

Я добавила столбец с числом реплик за день (Count) и построила сглаженный временной ряд на базе этого же столбца. Данные у нас есть только за предшествующие 2 месяца (столько хранятся логи Dialogflow по умолчанию).

Подсказка: Моему работодателю, конечно, интересно копить данные за более долгий период, так что мы создаём регулярные запросы (Scheduled Queries), сохраняющие обработанные логи без ограничения срока хранения.

!

Давайте добавим возможность выбирать нужный временной диапазон:

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

Чтобы суммировать реплики по месяцам «на месте», выполним следующее:

— изменим детализацию отчета с дневной на месячную (это называется «изменить грануляцию»);
— перетащим столбец с числом реплик в Показатели.

Мы даже можем быстро отфильтровать все элементы дашборда по месяцу: достаточно нажать на, скажем, «июль».

Теперь качество отчета лишь ограничивается вашей фантазией. Looker предлагает умеренный — но отлаженный — набор чартов и даже даёт возможность написать свой!

!

Стадию вычурных насыщенных красками множественных графиков, к слову, я прошла примерно через год после начала работы. Во многом благодаря книге сотрудницы Google Коул Нассбаумер Наффлик «Данные: визуализируй, расскажи, используй. Сторителлинг в аналитике». В ней автор убеждает строить графики осознанно, тщательно подходить к настройке каждого компонента и в целом делать отчетность минималистичной. Очень рекомендую новичкам в BI.

!

Заключение

Теперь, проследовав моим урокам, вы сможете:

— выгружать логи бота Dialogflow в базу данных BigQuery;
— создавать Python-запросы на базе таких логов;
— исполнять регулярные скрипты с помощью Airflow;
— верстать отчеты в Google Looker.

На этом основная часть цикла готова. В последующих выпусках я расскажу, как обращаться с ботами на aiogram, NodeJS и мигрировать из одной СУБД в другую без потерь данных и времени.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *