Из цикла ETL: настройка первого отчета в Google Looker
Показали, как построить дашборд в Google Looker на базе логов Dialogflow.
427 открытий5К показов
Если вы метите в 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 и мигрировать из одной СУБД в другую без потерь данных и времени.
427 открытий5К показов