AppMetrica: экспорт, постобработка и визуализация данных
Важно
Часть ресурсов, необходимых для прохождения практического руководства, доступны только в регионе Россия.
В этом сценарии вы проведете анализ поведения пользователей в мобильном приложении на данных AppMetrica:
- Обработаете данные с помощью скриптов на языке Python, описанных в Jupyter ноутбуках в Yandex DataSphere.
- Построите чарты и дашборды в Yandex DataLens.
- Сравните товары по охвату и частоте.
Customer journey — это последовательность действий пользователя. Анализ поведения пользователей поможет узнать, как люди используют продукт: какие страницы посещают и функции используют, где сталкиваются с трудностями. С помощью этой информации легче найти правильные решения для развития продукта.
В качестве источника будут использоваться сэмплированные и анонимизированные данные мобильного приложения Авто.ру
Схема архитектуры данных
Совет
В сценарии используется файл с предварительно выгруженными данными из AppMetrica, поэтому вы можете пройти сценарий без доступа к мобильному приложению и AppMetrica.
Для решения ваших рабочих задач рекомендуем напрямую экспортировать данные
Подготовьте облако к работе, затем исследуйте и визуализируйте данные по шагам:
- Подключите ClickHouse® и DataSphere
- Получите и загрузите данные в ClickHouse®
- DataSphere. Сравните товары по охвату и частоте
- Подключите DataLens и создайте чарты
- Создайте и настройте дашборд в DataLens
- Customer journey. Создайте QL-чарт и диаграмму Sankey
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
1. Подключите ClickHouse® и DataSphere
1.1. Подключите ClickHouse®
-
В консоли управления
выберите в списке слева Managed Service for ClickHouse®. -
Нажмите Создать кластер.
-
Укажите настройки кластера ClickHouse®.
-
Базовые параметры — укажите имя кластера
appmetrica_analysis
. -
Класс хоста — выберите тип виртуальной машины burstable и тип хоста b2.medium.
Важно
Не рекомендуется использовать конфигурации ВМ типа burstable в продакшн-среде. В этом руководстве они используются в качестве примера. Для продакшн-решений используйте конфигурации standard или memory-optimized.
-
Размер хранилища — оставьте значение 10 ГБ.
-
База данных — укажите имя базы данных
autoru_appmetrica
, имя пользователя и пароль. Запомните эти данные. -
Хосты — нажмите значок
. Включите опцию Публичный доступ и нажмите кнопку Сохранить. -
Дополнительные настройки — включите 4 опции:
- Доступ из DataLens
- Доступ из консоли управления
- Доступ из Метрики и AppMetrica
- Доступ из Serverless
-
После всех настроек нажмите кнопку Создать кластер.
-
1.2. Подключите DataSphere
- Перейдите в консоль управления
. - Выберите в списке слева DataSphere.
- Нажмите Создать проект.
- Укажите название проекта
appmetrica-analysis
и нажмите Создать. - Откройте проект. Для этого в строке с именем проекта нажмите значок
→ Открыть.
1.3. Клонируйте репозиторий в DataSphere
-
В левом верхнем углу нажмите значок Git Clone —
. -
В открывшемся окне укажите URI репозитория
https://github.com/firstsvet/yandex_appmetrika_cloud_case
и нажмите кнопку CLONE.
2. Получите и загрузите данные в ClickHouse®
Если у вас нет приложения AppMetrica или в нем недостаточно данных, или вы гарантированно хотите пройти все шаги инструкции и получить результат, перейдите к разделу 2.1 (пропустите 2.2).
Если у вас есть приложение AppMetrica и доступ к нему, перейдите к разделу 2.2 — этот шаг рекомендуется опытному пользователю, так как может потребоваться самостоятельная доработка скриптов (пропустите 2.1).
2.1. DataSphere. Выгрузите данные тестового приложения через Яндекс Диск
Примечание
Пропустите этот раздел, если вы работаете с данными своего приложения.
-
В меню слева откройте папку yandex_appmetrika_cloud_case → ноутбук 1.upload_data_from_yadisk.ipynb.
-
Выполните все шаги (ячейки с кодом) в ноутбуке 1.upload_data_from_yadisk.ipynb.
Чтобы выполнить шаг, нажмите на номер слева от ячейки, затем — кнопку выполнения вверху. Вместо номера появится символ
[*]
. После того, как номер появится снова, запустите следующий шаг.
2.2. Выгрузите данные из AppMetrica
Для настройки подключения и выгрузки данных из своего приложения воспользуйтесь инструкцией Экспорт данных в Yandex Cloud
2.3. ClickHouse®. Получите адрес кластера
-
Перейдите в кластер ClickHouse®
appmetrica_analysis
, который вы создали в разделе 1.1. Дождитесь, когда у кластера появится статус Alive. После этого откройте кластер — нажмите на него. -
Выберите в списке слева Хосты.
-
На вкладке Обзор перейдите к столбцу Имя хоста. Чтобы скопировать имя хоста, наведите указатель мыши справа от названия хоста и нажмите значок копирования.
2.4. DataSphere. Загрузите данные в ClickHouse®
-
Откройте папку yandex_appmetrika_cloud_case → ноутбук 2.upload_data_to_ClickHouse®.ipynb.
-
Вставьте данные в переменные:
-
В папке yandex_appmetrika_cloud_case создайте новый текстовый файл с названием
chpass.txt
. -
Запишите в файл chpass.txt пароль заведенного пользователя. Сохраните и закройте файл.
-
Выполните все шаги (ячейки с кодом) в ноутбуке.
3. DataSphere. Сравните товары по охвату и частоте
-
Откройте папку yandex_appmetrika_cloud_case → ноутбук Case_1.ipynb.
-
Вставьте данные в переменные:
-
Выполните все шаги (ячейки с кодом) в ноутбуке.
-
Посмотрите промежуточные результаты.
4. Подключите DataLens и создайте чарты
4.1. Подключитесь к DataLens
- В консоли управления
откройте страницу созданного кластера ClickHouse®. - В левой части окна выберите раздел
DataLens. - Нажмите кнопку Создать подключение.
4.2. Создайте подключение к ClickHouse® в DataLens
-
Заполните настройки подключения:
-
Введите название
AppMetrica_workshop
. -
Выберите хост ClickHouse® из выпадающего списка Имя хоста.
-
Выберите имя пользователя и введите пароль из раздела 1.1.
-
Включите опцию Разрешить подзапросы в датасетах и запросы из чартов.
-
Нажмите кнопку Проверить подключение.
-
-
После успешной проверки подключения нажмите кнопку Создать подключение, затем в открывшемся окне введите имя подключения и нажмите кнопку Создать.
4.3. Создайте датасет на базе подключения
-
В правом верхнем углу нажмите Создать датасет.
-
Выберите таблицу
autoru_appmetrica.auto_data
в качестве источника. Для этого перетащите таблицу из списка слева в область редактирования. -
Откройте вкладку Поля.
-
Создайте вычисляемое поле users:
- В правом верхнем углу нажмите кнопку Добавить поле.
- Слева вверху введите название поля
users
. - В область справа вставьте формулу
countd([appmetrica_device_id])
. - Нажмите кнопку Создать.
-
Повторите предыдущий шаг для других полей:
- reach с формулой
COUNTD([appmetrica_device_id])/COUNTD([appmetrica_device_id] FIXED)
. - events с формулой
COUNT([session_id])
. - events per user с формулой
[events]/[users]
.
- reach с формулой
-
В правом верхнем углу нажмите кнопку Сохранить.
-
Назовите датасет
autoru_backend_data
и нажмите кнопку Создать.
4.4. Создайте чарт — точечная диаграмма
-
В правом верхнем углу нажмите кнопку Создать чарт.
-
Выберите тип Точечная диаграмма.
-
Перетащите поля в область чарта:
- Показатель reach в секцию X.
- Показатель events per user в секцию Y.
- Измерение mark в секцию Точки.
- Измерение event_name в секцию Цвета.
-
В правом верхнем углу нажмите кнопку Сохранить.
-
В открывшемся окне введите имя чарта
Охват и события
и нажмите кнопку Сохранить.
4.5. Создайте чарт — таблица
-
Выберите тип Таблица.
-
Перетащите поля в область чарта:
- Измерение mark в секцию Столбцы.
- Показатель users в секцию Столбцы.
- Показатель users в секцию Сортировка.
-
В правом верхнем углу нажмите кнопку справа от Сохранить и затем Сохранить как.
-
В открывшемся окне введите имя чарта
Таблица по маркам
и нажмите кнопку Сохранить.
5. Создайте и настройте дашборд в DataLens
-
Откройте главную страницу
DataLens и нажмите Создать дашборд. -
Добавьте чарт на дашборд.
- В правом верхнем углу нажмите Добавить → Чарт.
- Из выпадающего списка Чарт выберите Таблица по маркам. Поле Название заполнится автоматически.
- Нажмите кнопку Добавить.
-
Повторите предыдущий шаг для чарта Охват и события.
-
Добавьте и настройте селектор.
- В правом верхнем углу нажмите Добавить → Селектор.
- В списке Датасет выберите autoru_backend_data.
- В списке Поле выберите event name.
- В списке Значение по умолчанию выберите любой вариант.
- Нажмите кнопку Добавить.
-
Расположите чарты и селектор на дашборде. Чтобы изменить размер элемента, потяните за правый нижний угол.
-
Сохраните дашборд:
- В правом верхнем углу нажмите кнопку Сохранить.
- Введите название дашборда
auto.ru app
и нажмите кнопку Создать.
Попробуйте в селекторе изменить event name на другое значение — посмотрите, как изменится дашборд.
6. Customer journey. Создайте QL-чарт и диаграмму Sankey
6.1. Создайте QL-чарт в DataLens
С помощью QL-чартов вы можете изучать последовательности событий и экспериментировать в DataLens.
-
Откройте главную страницу
DataLens и в меню слева выберите Подключения. -
Выберите подключение
AppMetrica_workshop
, которое вы создали на шаге 4.2. -
Справа вверху нажмите Создать QL-чарт.
-
Введите запрос:
SELECT uniqExact(t.appmetrica_device_id) as counts, events_seq, if(events_seq like '%Звонок%', 'Звонок', if(events_seq like '%Сообщение%', 'Сообщение', 'Не было контакта')) as contact FROM ( SELECT appmetrica_device_id, num_steps, arrayStringConcat(filt_events, ' -> ') as events_seq FROM (SELECT appmetrica_device_id, groupArray(event_name) as events, count(event_name) as cnt_events, groupArray(datetime) as times, arrayEnumerate(events) as indexes, arrayDifference(arrayMap(x -> toUInt64(x), times)) as times_diffs, arrayFilter(e, i -> (i = 1) or (events[i - 1] != events[i]) or (times_diffs[i] >= 1800), events, indexes) as filt_events, length(filt_events) as num_steps FROM (SELECT appmetrica_device_id, datetime, event_name FROM autoru_appmetrica.raw_appmetrica_auto_data ORDER BY appmetrica_device_id, datetime) GROUP BY appmetrica_device_id HAVING cnt_events <= 30)) as t where t.num_steps<10 GROUP BY t.events_seq HAVING counts>10 ORDER BY counts desc
-
Нажмите Запустить.
-
Выберите тип Линейчатая диаграмма.
-
В правом верхнем углу нажмите Сохранить, введите название чарта
Цепочки событий
. -
Добавьте QL-чарт на дашборд.
- В меню слева нажмите Дашборды.
- В списке выберите дашборд auto.ru app.
- Справа вверху нажмите Редактировать.
- Нажмите Добавить → Чарт.
- В списке Чарт выберите Цепочки событий и нажмите Добавить.
- Настройте внешний вид дашборда и нажмите Сохранить.
6.2. Создайте диаграмму Sankey в DataSphere
-
Перейдите в консоль управления
. -
Выберите в списке слева DataSphere.
-
Откройте папку yandex_appmetrika_cloud_case → ноутбук Case_2.ipynb.
-
Выполните все шаги (ячейки с кодом) в ноутбуке Case_2.ipynb.
-
Вы получите интерактивную диаграмму Sankey, которая показывает сценарии поведения пользователей. Вы можете двигать блоки диаграммы и сохранить результат в виде изображения.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc