Веб-аналитика с расчетом воронок и когорт на данных Яндекс Метрики
- Перед началом работы
- 1. Подключите ClickHouse® и DataSphere
- 2. Получите и загрузите данные в ClickHouse®
- 3. Подключите DataLens и создайте чарты
- 4. Создайте и настройте дашборд в DataLens
- 5. Постройте воронки конверсий
- 6. Проведите когортный анализ
- 6.1. DataSphere. Проведите когортный анализ
- 6.2. DataLens. Создайте датасет и чарт с визуализацией когорт
- 6.3. DataLens. Настройте чарт с визуализацией когорт
- 6.4. DataLens. Создайте чарт с ретеншеном
- 6.5. DataLens. Добавьте чарты на новую вкладку дашборда
- 6.6. DataLens. Создайте чарты
- 6.7. DataLens. Добавьте чарты на дашборд
- Как удалить созданные ресурсы
Важно
Поддержка режима Serverless прекращается с 1 марта 2024 года.
В этом практическом руководстве вы научитесь строить воронки конверсий, проведете когортный анализ и посчитаете Retention пользовательской базы в Yandex DataSphere и визуализируете данные в Yandex DataLens.
В качестве источника данных будут использованы данные из Яндекс Метрики.
- Подключите ClickHouse® и DataSphere:
- Получите и загрузите данные в ClickHouse®:
- Подключите DataLens и создайте чарты:
- Создайте и настройте дашборд в DataLens:
- Постройте воронки конверсий:
- Проведите когортный анализ:
Если созданные ресурсы вам больше не нужны, удалите их.
Перед началом работы
Перед началом работы нужно зарегистрироваться в Yandex Cloud, настроить сообщество и привязать к нему платежный аккаунт:
- На главной странице DataSphere
нажмите Попробовать бесплатно и выберите аккаунт для входа — Яндекс ID или рабочий аккаунт в федерации (SSO). - Выберите организацию Yandex Cloud Organization, в которой вы будете работать в Yandex Cloud.
- Создайте сообщество.
- Привяжите платежный аккаунт к сообществу DataSphere, в котором вы будете работать. Убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе
ACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его в интерфейсе DataSphere.
Совет
Чтобы Yandex DataLens и Yandex DataSphere могли работать внутри сети Yandex Cloud, создавайте их экземпляры в рамках одной организации.
Необходимые платные ресурсы
В стоимость развертывания инфраструктуры входят:
- плата за вычислительные ресурсы кластера и объем хранилища (см. тарифы Managed Service for ClickHouse®);
- плата за время вычислений (см. тарифы DataSphere);
- плата за исходящий трафик (см. тарифы Virtual Private Cloud).
1. Подключите ClickHouse® и DataSphere
1.1. Подключите ClickHouse®
- В консоли управления
выберите каталог для создания кластера ClickHouse®. - Выберите Managed Service for ClickHouse.
- В открывшемся окне нажмите Создать кластер ClickHouse.
- Укажите настройки кластера ClickHouse®:
-
В блоке Базовые параметры укажите произвольное имя кластера.
-
В блоке Ресурсы выберите платформу
Intel Cascade Lake
, типburstable
и класс хостаb2.medium
.Важно
Не рекомендуется использовать конфигурации ВМ типа
burstable
в продакшн-среде. В этом руководстве они используются в качестве примера. Для продакшн-решений используйте конфигурацииstandard
илиmemory-optimized
. -
В блоке Размер хранилища оставьте значение
10 ГБ
. -
В блоке Хосты нажмите значок
. Включите опцию Публичный доступ и нажмите кнопку Сохранить. -
В блоке Настройки СУБД выключите управление пользователями через SQL, укажите имя пользователя, пароль и имя БД, например
metrica_data
. -
В блоке Сервисные настройки включите опции:
- Доступ из DataLens
- Доступ из консоли управления
- Доступ из Метрики и AppMetrica
- Доступ из Serverless
-
Нажмите кнопку Создать кластер.
-
1.2. Подключите DataSphere
-
Откройте главную страницу
DataSphere. -
На панели слева выберите
Сообщества. -
Выберите сообщество, в котором вы хотите создать проект.
-
На странице сообщества нажмите кнопку
Создать проект. -
В открывшемся окне укажите имя и (опционально) описание проекта. Требования к имени:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Нажмите кнопку Создать.
-
Нажмите кнопку Открыть проект в JupyterLab.
Перед вами среда разработки JupyterLab, в которой вы будете работать дальше.
1.3. Клонируйте репозиторий в DataSphere
- В меню Git выберите Clone.
- В открывшемся окне укажите URI репозитория
https://github.com/zhdanchik/yandex_metrika_cloud_case.git
и нажмите кнопку CLONE. - Нажмите кнопку OK.
2. Получите и загрузите данные в ClickHouse®
Если у вас нет счетчика Метрики или в нем недостаточно данных, или вы гарантированно хотите пройти все шаги руководства и получить результат, перейдите к разделу 2.3 (пропустите 2.1 и 2.2).
Если у вас есть счетчик Метрики и доступ к нему, перейдите к разделам 2.1, 2.2 (пропустите 2.3). Эти шаги рекомендуем опытному пользователю, так как логика расчета воронок и когорт зависит от самих данных, и может потребоваться самостоятельная доработка скриптов.
2.1. Яндекс Метрика. Создайте приложение и получите токен доступа
-
Для работы с API получите свой OAuth-токен
. -
Создайте приложение:
- Перейдите на страницу https://oauth.yandex.ru/client/new
. - Укажите произвольное название сервиса.
- Перейдите к блоку Платформы приложения → Веб-сервисы. В поле Redirect URI вставьте
https://oauth.yandex.ru/verification_code
. - В блоке Доступ к данным введите
metrika
и выберите Получение статистики, чтение параметров своих и доверенных счётчиков (metrika:read). - Нажмите кнопку Создать приложение.
- В открывшемся окне появится описание нашего приложения. Сохраните ClientID вашего приложения.
- Перейдите на страницу https://oauth.yandex.ru/client/new
-
Перейдите по ссылке
https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор_приложения>
. В качестве<идентификатор_приложения>
вставьте ClientID вашего приложения. -
Нажмите кнопку Войти как.
-
Сохраните полученный токен доступа.
2.2. DataSphere. Выгрузите данные через Logs API Яндекс Метрики
-
В проекте DataSphere в корне рабочей директории создайте текстовый файл. Для этого нажмите Text File в рабочей области.
-
Назовите файл
.yatoken.txt
, в содержимое файла вставьте полученный токен доступа. Сохраните изменения и закройте файл. -
Откройте папку yandex_metrika_cloud_case → ноутбук 1a. get_data_via_logs_api.ipynb.
-
Укажите идентификатор счетчика Метрики в качестве значения переменной
COUNTER_ID
. Узнать идентификатор счетчика можно в Метрике на странице Мои счетчики . -
Укажите дату начала анализируемого периода в качестве значения переменной
START_DATE
. -
Укажите дату окончания анализируемого периода в качестве значения переменной
END_DATE
.Важно
Диапазон дат НЕ будет включать дату окончания. Например, если вы хотите получить данные по 5 декабря 2022 года, вставьте в переменную
END_DATE
значение2022-12-06
. -
Выполните все шаги (ячейки с кодом) в ноутбуке 1a. get_data_via_logs_api.ipynb.
Если не получилось выгрузить данные из Logs API, то данные для демонстрационного счетчика можно скачать через Яндекс Диск.
2.3. DataSphere. Выгрузите данные тестового счетчика через Яндекс Диск
Примечание
Пропустите этот раздел, если вы работаете с данными своего счетчика.
- Откройте папку yandex_metrika_cloud_case → ноутбук 1b. get_data_via_yadisk.ipynb.
- Выполните все шаги (ячейки с кодом) в ноутбуке 1b. get_data_via_yadisk.ipynb.
2.4. ClickHouse®. Получите адрес кластера
- В консоли управления
перейдите в уже созданный кластер ClickHouse®. Дождитесь, когда у кластера появится статусAlive
. После этого откройте кластер, кликнув на сам кластер. - Выберите из списка слева
Хосты. - На вкладке Обзор скопируйте имя хоста.
2.5. DataSphere. Загрузите данные в ClickHouse®
-
Откройте папку yandex_metrika_cloud_case → ноутбук 2. upload_data_to_ClickHouse®.ipynb:
- Вставьте скопированное имя хоста в переменную
CH_HOST_NAME
. - В переменную
CH_USER
вставьте имя пользователя, которое вы задали при создании кластера ClickHouse®. - В переменную
CH_DB_NAME
вставьте имя БД, которое вы задали при создании кластера ClickHouse®.
- Вставьте скопированное имя хоста в переменную
-
В корневой директории создайте новый текстовый файл с названием
.chpass.txt
. -
Запишите в файл
.chpass.txt
пароль заведенного пользователя, который вы задали при создании кластера ClickHouse®. Сохраните и закройте файл. -
Выполните все шаги (ячейки с кодом) в ноутбуке.
3. Подключите DataLens и создайте чарты
3.1. Подключитесь к DataLens
- В консоли управления
откройте страницу созданного кластера ClickHouse®. - В левой части окна выберите раздел
DataLens. - Нажмите кнопку Создать подключение.
3.2. Создайте подключение к ClickHouse® в DataLens
-
Заполните настройки подключения:
- Выберите кластер из выпадающего списка Кластер или создайте новый. Если нужный кластер в списке отсутствует, нажмите Указать вручную и укажите имя кластера ClickHouse®.
- Выберите хост ClickHouse® из выпадающего списка Имя хоста.
- Выберите имя пользователя.
- Введите пароль и нажмите Проверить подключение.
-
После успешной проверки подключения нажмите кнопку Создать подключение, затем в открывшемся окне введите имя подключения и нажмите кнопку Создать.
3.3. Создайте датасет на базе подключения
- В правом верхнем углу нажмите Создать датасет.
- Выберите таблицу
metrica_data.hits
в качестве источника. Для этого перетащите таблицу из списка слева в область редактирования. - Откройте вкладку Поля.
- В правом верхнем углу нажмите кнопку
Добавить поле. - Для подсчета числа хитов создайте вычисляемое поле: укажите название поля
Хиты
, в рабочей области укажите1
и нажмите кнопку Создать. - Для поля
Хиты
выберите значение Сумма в столбце Агрегация. - Переименуйте поле
Browser
вБраузер
. - В правом верхнем углу нажмите кнопку Сохранить.
- Назовите датасет
ch_metrica_data_hits
и нажмите кнопку Создать.
3.4. Создайте чарт — накопительная диаграмма с областями
- В правом верхнем углу нажмите кнопку Создать чарт.
- В открывшемся окне перетащите поля в области чарта:
EventDate
— в область X.Браузер
— в область Цвета.Хиты
— в область Y.
- Измените тип чарта cо Столбчатая диаграмма на Накопительная диаграмма с областями.
- Нажмите кнопку Сохранить.
- В появившемся окне укажите имя чарта
ch_metrica_data_hits_area
и нажмите кнопку Сохранить.
3.5. Создайте чарт — сводная таблица
- В правом верхнем углу нажмите значок
→ Сохранить как копию. - Укажите новое имя для копии чарта
ch_metrica_data_hits_table
и нажмите кнопку Сохранить. - Выберите новый тип чарта Сводная таблица.
- Добавьте или перетащите поля в области чарта:
Браузер
— в область Строки.Хиты
— в область Сортировка.
- Нажмите кнопку Сохранить.
4. Создайте и настройте дашборд в DataLens
4.1. Создайте дашборд
-
Выберите значок
Дашборды на панели слева и нажмите кнопку Создать дашборд. -
Добавьте первый чарт на дашборд. Для этого в правом верхнем углу нажмите Добавить
→ Чарт:- Из выпадающего списка Чарт выберите чарт
ch_metrica_data_hits_area
. - В поле Название укажите имя чарта Хиты в разбивке на браузеры и нажмите кнопку Добавить.
- Из выпадающего списка Чарт выберите чарт
-
По аналогии добавьте чарт
ch_metrica_data_hits_table
с именем Хиты в разбивке на браузеры за период. -
Переместите чарты и измените их размеры на дашборде:
- Перетащите чарт с таблицей справа от чарта с диаграммой.
- Измените вертикальные размеры чартов, потянув каждый из них за правый нижний угол.
-
Сохраните дашборд:
- В правом верхнем углу нажмите кнопку Сохранить.
- Введите название дашборда
ch_metrica_data
и нажмите кнопку Создать.
4.2. Настройте дашборд
- Добавьте фильтрацию, чтобы выбирать определенный браузер. Для этого в правом верхнем углу нажмите Добавить
→ Чарт. - Селектор можно привязать к полю из какого-либо датасета. Выберите из списка Датасет созданный датасет
ch_metrica_data_hits
. - В списке Поле выберите
Браузер
. - Включите опцию Множественный выбор.
- В поле Значение по умолчанию выберите браузеры:
android_browser
chrome
chromemobile
firefox
opera
safari
safari_mobile
samsung_internet
yandex_browser
yandexsearch
- В поле Название укажите имя селектора и включите опцию.
- Нажмите кнопку Добавить.
- Перетащите селектор на верх дашборда и растяните по горизонтали.
- В правом верхнем углу нажмите кнопку Сохранить.
5. Постройте воронки конверсий
5.1. DataSphere. Постройте воронки
- Откройте главную страницу
DataSphere. - Откройте ноутбук 3. funnels.ipynb. Укажите хост, пользователя и название БД.
- Выполните ячейки, оцените результаты анализа.
В ClickHouse® будет создана таблицаmetrica_data.funnels_by_bro
, в которой будут посчитаны воронки по браузерам.
5.2. DataLens. Воронки по браузерам. Создайте датасет
Создайте новый датасет на основе новой таблицы и подключения к ClickHouse®:
- Откройте главную страницу DataLens
(или нажмите DataLens на панели слева) и нажмите Создать датасет. - Перейдите в область Подключения и нажмите кнопку
Добавить. - Из списка подключений выберите имя подключения, созданного на шаге 3.2.
- Перетащите новую таблицу
metrica_data.funnels_by_bro
в область редактирования. - Откройте вкладку Поля:
- Переименуйте поля
step X
вШаг X
, где X — порядковый номер шага. - Выберите значение Сумма в столбце Агрегация для полей
Шаг X
и нажмите кнопку Сохранить.
- Переименуйте поля
- Назовите датасет
ch_metrica_data_funnels_by_bro
и нажмите кнопку Создать.
5.3. DataLens. Воронки по браузерам. Создайте чарт
Создайте на основе датасета ch_metrica_data_funnels_by_bro
чарт:
- Нажмите кнопку Создать чарт.
- Выберите тип чарта Сводная таблица.
- Перетащите поля в области чарта:
Браузер
— в область Строки.Шаг X
— в область Показатели, где X — порядковый номер шага.Шаг 1
— в область Сортировка.
- Нажмите кнопку Сохранить.
- Укажите название чарта
ch_metrica_data_funnels_by_bro_table
и нажмите кнопку Сохранить.
5.4. DataLens. Воронки по браузерам. Добавьте чарт на дашборд
- Перейдите на созданный дашборд (со страницы дашбордов
). - Добавьте новый чарт. В правом верхнем углу нажмите кнопку Редактировать:
- Нажмите Добавить
→ Чарт. - Из выпадающего списка Чарт выберите чарт
ch_metrica_data_funnels_by_bro_table
. - В поле Название укажите имя чарта
Воронки по браузерам
и нажмите кнопку Добавить.
- Нажмите Добавить
- Расположите новый чарт справа от уже имеющихся двух. Растяните чарт так, чтобы он совпадал с остальными по вертикали и доходил справа до края страницы.
- Нажмите кнопку Сохранить.
5.5. DataLens. Воронки по браузерам. Настройте дашборд
Чтобы селектор влиял на новый чарт из другого датасета, настройте связи:
- Нажмите Редактировать → Связи.
- В открывшемся окне выберите из списка селектор
Браузер
. - На странице с другими элементами дашборда прокрутите вниз до чарта
Воронки по браузерам
и нажмите на список со связью. - Выберите тип связи Исх. связь.
- Из каждого списка выберите поля для связи
Браузер
. Нажмите кнопку Добавить. - Нажмите кнопку Сохранить.
- В левом верхнем углу нажмите значок
→ Переименовать. - Укажите название
Supermarket.ru — анализ воронок и когорт
. Нажмите кнопку Готово.
6. Проведите когортный анализ
6.1. DataSphere. Проведите когортный анализ
- Откройте ноутбук 4. cohorts.ipynb. Укажите хост, пользователя и название БД.
- Выполните ячейки, оцените результаты анализа.
В ClickHouse® создастся таблица metrica_data.retention_users
с данными, необходимыми для построения визуализации в DataLens.
6.2. DataLens. Создайте датасет и чарт с визуализацией когорт
Создайте датасет на основе новой таблицы и подключения к ClickHouse®:
- Откройте главную страницу DataLens
и нажмите Создать датасет. - В области Подключения нажмите кнопку Создать датасет и нажмите кнопку
Добавить. - Выберите из списка созданное подключение.
- Перетащите новую таблицу
metrica_data.retention_users
в рабочую зону, чтобы подключиться к ней. - Откройте вкладку Поля и создайте новое вычисляемое поле
week_num
, которое равно([date]-[min_date])/7
.
Поле будет означать число недель с момента первого посещения пользователя. - Нажмите кнопку Создать.
- Для полей
visits
,purchases
иrevenue
выберите значение Сумма в столбце Агрегация. - Переименуйте поля в
Визиты
,Покупки
иДоход
соответственно. - Сохраните датасет:
- Назовите датасет
ch_metrica_data_users_visits
. - Нажмите кнопку Создать.
- Назовите датасет
- На основе датасета создайте новый чарт:
- Измените тип чарта на Сводная таблица.
- Перетащите поле
week_num
в область Столбцы. - Перетащите поле
min_date
в область Строки. - Перетащите поле
Визиты
в область Показатели.
6.3. DataLens. Настройте чарт с визуализацией когорт
Отфильтруйте неполные недели 29.06.2020 и 28.09.2020:
- Перетащите поле
min_date
в область Фильтры.- В открывшемся окне выберите начало и конец диапазона дат для фильтрации:
- Дата начала —
29.06.2020
. - Дата завершения —
27.09.2020
.
- Дата начала —
- Нажмите кнопку Применить фильтр.
- В открывшемся окне выберите начало и конец диапазона дат для фильтрации:
- Отформатируйте числа в значениях поля
week_num
— уберите знаки после запятой. Для этого в области Строки в полеweek_num
нажмите значок . В открывшемся окне выполните настройку:- Установите для показателя Знаков после запятой значение
0
. - Установите для показателя Отображать группы разрядов значение
Слитно
. - Нажмите кнопку Применить.
- Установите для показателя Знаков после запятой значение
- Чтобы сделать таблицу цветной, добавьте поле
Визиты
в область Цвета и нажмите . В открывшемся окне выполните настройку цвета:- Выберите Тип градиента —
Трехцветный
. - Выберите Цвет —
Оранжевый-Фиолетовый-Голубой
. - Включите настройку Задать пороговые значения и укажите значения
100
,1000
и5000
. - Нажмите кнопку Применить.
- Выберите Тип градиента —
- Нажмите кнопку Сохранить.
- Назовите чарт
ch_metrica_data_users_visits_cohorts_abs
и нажмите Сохранить.
6.4. DataLens. Создайте чарт с ретеншеном
Создайте чарт с ретеншеном на основе чарта ch_metrica_data_users_visits_cohorts_abs
. Чарт можно открыть с дашборда или найти в списке чартов
- В правом верхнем углу нажмите значок
→ Сохранить как копию. - Укажите имя чарта
ch_metrica_data_users_visits_cohorts_rel
и нажмите кнопку Сохранить. - Создайте новое вычисляемое поле для расчета ретеншена относительно первой недели:
- В левой части экрана нажмите значок
, который находится над списком полей датасета, и выберите Поле. - Назовите поле
Визиты от первой недели
. - Вставьте формулу
SUM([Визиты])/RMAX(SUM([Визиты]) among [week_num])
. - Нажмите кнопку Создать.
- В левой части экрана нажмите значок
- Перетащите поле
Визиты от первой недели
в секцию Показатели. - Перетащите поле
Визиты от первой недели
в секцию Цвета вместо поляВизиты
. - Настройте формат поля
Визиты от первой недели
. Для этого в секции Показатели в полеВизиты от первой недели
нажмите значок . В открывшемся окне выполните настройку:- Установите показатель Формат в значение
Процент
. - Нажмите кнопку Применить.
- Установите показатель Формат в значение
- Отредактируйте пороговые значения для цветов показателя. В секции Цвета нажмите значок
. В открывшемся окне включите опцию Задать пороговые значения и укажите пороговые значения0,01
,0,025
и0,1
и нажмите кнопку Применить. - Нажмите кнопку Сохранить.
6.5. DataLens. Добавьте чарты на новую вкладку дашборда
- Нажмите кнопку
Дашборды на панели слева и откройте дашборд. - Нажмите кнопку Редактировать → Вкладки.
- Переименуйте существующую вкладку как
Обзор + Воронки
. - Добавьте новую вкладку и назовите ее
Когорты
. Нажмите Сохранить. - Перейдите на новую вкладку
Когорты
:- Добавьте на дашборд чарт
ch_metrica_data_users_visits_cohorts_abs
. - В поле Название укажите
Визиты по когортам (абсолюты)
.
- Добавьте на дашборд чарт
- Чтобы добавить новую вкладку, нажмите слева кнопку Добавить:
- В новой вкладке добавьте чарт
ch_metrica_data_users_visits_cohorts_rel
. - Укажите название
Визиты по когортам (относительные)
. - Нажмите кнопку Добавить.
- Нажмите кнопку Сохранить.
- В новой вкладке добавьте чарт
Вы получите чарт с двумя вкладками, между которыми можно переключаться.
6.6. DataLens. Создайте чарты
Создайте новый чарт на основе чарта ch_metrica_data_users_visits_cohorts_abs
. Чарт можно открыть с дашборда или найти в списке чартов
- В правом верхнем углу нажмите значок
→ Сохранить как копию. - Укажите имя чарта
ch_metrica_data_users_revenue_cohorts_abs
и нажмите кнопку Сохранить. - Перетащите поле
Доход
в области Показатели и Цвета поверх поляВизиты
. - В области поля
Доход
нажмите значок . Измените форматирование поля:- Выберите
1
знак после запятой. - Выберите размерность
Миллионы, M
. - Замените пороги градации цветов для нового поля на
500000
,1500000
и10000000
.
- Выберите
- Сохраните чарт.
Создайте еще один чарт на основе чарта ch_metrica_data_users_visits_cohorts_rel
:
- В правом верхнем углу нажмите значок
→ Сохранить как копию. - Укажите имя чарта
ch_metrica_data_users_revenue_cohorts_rel
и нажмите кнопку Сохранить. - Измените поле
Визиты от первой недели
:- Переименуйте поле как
Доход от первой недели
. - Измените формулу на
SUM([Доход])/RMAX(SUM([Доход]) among [week_num])
. - Измените пороги градации цветов для нового поля на
0.01
,0.2
и0.3
.
- Переименуйте поле как
- Сохраните чарт.
6.7. DataLens. Добавьте чарты на дашборд
Добавьте на дашборд чарты с визуализацией когорт:
- Нажмите кнопку Редактировать.
- Нажмите кнопку Добавить
→ Чарт. - Из списка чартов выберите чарт
ch_metrica_data_users_revenue_cohorts_abs
. - Укажите имя
Доход по когортам (абсолюты)
. - С помощью кнопки
Добавить создайте новую вкладку:- В новой вкладке в списке чартов выберите чарт
ch_metrica_data_users_revenue_cohorts_rel
. - Укажите имя
Доход по когортам (относительный)
. - В правом верхнем углу нажмите значок Сохранить.
- В новой вкладке в списке чартов выберите чарт
- Расположите чарты на одном уровне.
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы, удалите кластер.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc