Воронки и когорты на данных Яндекс.Метрики

22 мая, 2023

Используя материал из официальной документации Yandex Cloud, я подробно пройду все шаги самостоятельно, чтобы показать вам, как можно строить воронки конверсий и когортный анализ на данных ваших пользователей Яндекс.Метрики с использованием Logs API, ClickHouse, Yandex DataSphere и Yandex DataLens.

Я буду стараться максимально близко идти к оригиналу руководства, но дополнительно сопровождать статью собственными комментариями и скриншотами настроек.

Примечание: если вы хотите научиться выгружать данные из Яндекс.Директа с помощью Python, чтобы не зависеть от других сервисов, переносить их в облачные хранилища Google BigQuery и Yandex Cloud, а также в Google Таблицы без помощи разработчиков и строить любые автоматические отчеты в инструментах визуализации данных Looker Studio (Google Data Studio) и Yandex DataLens, тогда приглашаю вас к изучению нашей онлайн-документации Ya Dashboard!

Рекомендуется к прочтению:

Начало работы

Владелец сайта после установки счетчика Яндекс.Метрики, как правило, работает в интерфейсе сервиса. Он использует отчеты, просматривает графики, анализирует данные в таблицах, меняет параметры и показатели, накладывает фильтры, сравнивает сегменты и аудитории за разные диапазоны дат, и многое другое.

Пример отчета (сводки) в Яндекс.Метрике

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

Именно поэтому интернет-маркетологи и веб-аналитики используют в своей работе API. Для получения неагрегированных данных, так называемых «сырых данных» Яндекс.Метрики, используется Logs API. Вы делаете запрос на те данные, которые хотите загрузить из Logs API, и вам выдается список тех посещений пользователей, которые были на вашем сайте. Можно увидеть Client ID посещения, время пребывания на сайте, просмотры страниц, регион пользователя, источник перехода и многое другое.

Пример неагрегированных данных, выгруженных с помощью Logs API

Logs API позволяют:

  • строить сложные воронки;
  • строить различные пути пользователей по вашему сайту, включая данные по страницам, карту событий/целей, по источникам трафика и т.д.
  • анализировать возвращаемость пользователей (retention);
  • строить когортный анализ;
  • создавать собственные модели атрибуции;
  • объединять данные из Метрики с другими источниками (базами данных, рекламными данными, данными из CRM/ERP-систем);
  • прогнозировать ваши будущие показатели на основе исторических данных счетчика.

Именно благодаря выгрузке данных с помощью Logs API Метрики мы и будем строить воронки пользователей и выполнять когортный анализ, используя Yandex Cloud, Yandex DataSphere, ClickHouse и Yandex DataLens.

Итак, чтобы начать работу, вам необходимо зарегистрироваться в Yandex Cloud, настроить сообщество в DataSphere и привязать к нему платежный аккаунт. Перейдите по ссылке и нажмите на кнопку Попробовать бесплатно:

Попробовать Yandex DataSphere бесплатно

Войдите с помощью Яндекс ID или рабочего аккаунта в федерации (SSO). Поскольку мы будем строить воронки и когорты на данных Яндекс.Метрики, то используйте для входа свою учетную запись, на которой размещен счетчик.

Вход через Яндекс ID

Если вы впервые используете Yandex Cloud, то после входа в Yandex DataSphere для вас будет создана новая организация с префиксом organization- и названием вашего аккаунта.

Новая организация

Вам также необходимо создать платежный аккаунт и привязать его к сообществу DataSphere. Для этого перейдите по ссылке и создайте новый аккаунт:

Создание аккаунта

Выберите страну, резидентом которой вы являетесь. Все плательщики, привязанные к одному аккаунту на Яндексе, должны быть с одинаковым резидентством: плательщики должны являться или резидентами РФ или РК, или только нерезидентами РФ и РК. Подробнее об этом читайте в официальной документации Яндекс.Облака.

Страна аккаунта

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

Имя аккаунта

Выберите тип плательщика: Физическое лицо или Юридическое лицо или ИП. Если плательщик – нерезидент РФ или РК, доступен только один тип плательщика Юридическое лицо (нерезидент РФ).

Данные плательщика

Выбрав тип Физическое лицо, укажите ваши фамилию, имя, отчество, почтовый адрес и привяжите банковскую карту. нажав кнопку Добавить карту. Укажите данные карты: 16-значный номер, срок действия, код CVV (с обратной стороны карты)

Привязка карты

Заполнив данные, нажмите кнопку Привязать. Для проверки валидности карты на вашем счету будет заблокирована незначительная сумма (~ 11 рублей). Эти средства не списываются и будут снова доступны после завершения проверки и разблокировки. Срок разблокировки несписанных средств зависит от условий работы вашего банка.

Если карта прошла валидацию, вы увидите ее в списке привязанных:

Привязанная карта

Если вы выбрали тип Юридическое лицо или ИП, тогда вам потребуется указать данные плательщика (название организации, почтовый индекс, фактический и юридический адреса, ИНН, КПП, БИК, расчетный счет). При выборе способа оплаты Банковский перевод платежный аккаунт будет создан в статусе «Не подтвержден». На вашу почту, указанную в аккаунте Яндекса или Яндекс.Коннекта, будет отправлено письмо с описанием дальнейших действий. Активация платежного аккаунта может занять до трех рабочих дней.

Привязка банковской карты необходима только для создания платежного аккаунта. Средства с привязанной карты могут быть списаны, только если активна платная версия и вы пользовались сервисами Yandex Cloud. В любой момент после создания платежного аккаунта вы можете изменить способ оплаты.

На последнем шаге заполните контактные данные – электронную почту и телефон.

Контактная информация

Эта информация нужна не только для связи с вами, но и для выставления счетов и финансовых документов.

Если это ваш первый платежный аккаунт в Yandex Cloud, вам будет доступно подключение пробного периода. Для этого обязательно поставьте галочку Включить пробный период:

Активация пробного периода

После создания платежного аккаунта пробный период активируется автоматически.

Стартовый грант действует 60 дней. Размер и валюта гранта зависят от страны, в которой вы проживаете:

  • для резидентов РФ размер гранта составляет не менее 4000 ₽, с учетом НДС;
  • для резидентов РК размер гранта составляет не менее 24 000 ₸, с учетом НДС;
  • для нерезидентов РФ размер гранта составляет не менее 50 $, без учета налогов и сборов.

Подключая пробный период, помните, что после его завершения ваши ресурсы будут приостановлены. Для возобновления работы потребуется перейти на платную версию.

Если не подключать пробный период на данном этапе, ваш аккаунт будет создан с платным потреблением. Об этом будет свидетельствовать другое уведомление:

Платежный аккаунт будет создан с платным потреблением

В завершение нажмите кнопку Создать:

Создание платежного аккаунта

После этого вас перенаправит на страницу Биллинга, на которой будут отображены ваши платежные реквизиты. Убедитесь, что ваш аккаунт активен:

Активный платежный аккаунт

Теперь вернитесь в Yandex DataSphere, перейдите в раздел Сообщества и выберите сообщество организации по умолчанию:

Сообщества - сообщество по умолчанию

Привяжите платежный аккаунт к сообществу DataSphere, в котором вы будете работать:

Привязать платежный аккаунт

Выбрав свой платежный аккаунт, нажмите кнопку Привязать:

Привязка аккаунта

Через некоторое время вы получите уведомление об успешной привязке платежного аккаунта к сообществу DataSphere.

Подключение ClickHouse

ClickHouse позволяет работать с неагрегированными статистическими данными Яндекс.Метрики, полученными с помощью Logs API. Для этого вы можете арендовать место в Yandex Cloud. Но сразу хотелось бы сказать, что это решение является платным и будет зависеть от выбранного вами кластера и итоговой конфигурации (настроек).

Для работы с ClickHouse в Яндекс.Облаке вам понадобится проект. Если вы никогда не работали в Yandex Cloud, то перейдите по ссылке и создайте свое первое облако. Выберите вашу организацию и введите название облака:

Создание облака в Yandex Cloud

После его создания вас перенаправит в консоль управления:

Консоль управления облаком

Теперь в созданном каталоге для создания кластера ClickHouse выберите меню Managed Service for ClickHouse:

Managed Service for ClickHouse

В открывшемся окне нажмите Создать кластер ClickHouse:

Создание кластера ClickHouse

Укажите настройки кластера ClickHouse:

  • в блоке Базовые параметры укажите произвольное имя кластера или оставьте его по умолчанию;
  • в блоке Ресурсы выберите платформу Intel Cascade Lake, тип burstable и класс хоста b2.medium;

Примечание: не рекомендуется использовать конфигурации ВМ типа burstable в продакшн-среде. В руководстве Yandex Cloud они используются в качестве примера. Для продакшн-решений используйте конфигурации standard или memory-optimized.

  • в блоке Размер хранилища оставьте значение 10 ГБ;
  • в блоке Хосты нажмите значок карандаша (редактирования);

Редактирование хоста

Включите опцию Публичный доступ и нажмите кнопку Сохранить.

Публичный доступ

В блоке Настройки СУБД выключите управление пользователями через SQL, укажите имя пользователя, пароль и имя БД:

Настройки СУБД

В блоке Сервисные настройки включите опции:

Сервисные настройки

  • доступ из DataLens;
  • доступ из консоли управления;
  • доступ из Метрики и AppMetrica;
  • доступ из Serverless.

После всех проведенных настроек вы можете оценить итоговую конфигурацию вашего кластера ClickHouse и ежемесячную стоимость аренды перед тем, как его создать. Как вы уже знаете, стоимость аренды хранилища зависит от выбранного ресурса, его размера и других настроек. Согласно тому, что написано в документации Yandex Cloud, примерная стоимость аренды для текущего решения и работы с Logs API Яндекс.Метрики будет составлять 3000 руб./месяц:

Конфигурация кластера ClickHouse и его настройки

В завершение нажмите кнопку Создать кластер.

Подключение DataSphere

Откройте главную страницу DataSphere. В разделе Сообщества выберите сообщество, в котором вы хотите создать проект. В правом верхнем углу нажмите кнопку Создать проект:

Создание проекта

В открывшемся окне укажите имя и (опционально) описание проекта. Требования к имени:

Создание проекта

  • Длина - от 3 до 63 символов;
  • Может содержать строчные буквы латинского алфавита, цифры и дефисы;
  • Первый символ - буква. Последний символ - не дефис.

Нажмите кнопку Создать. После создания проекта нажмите кнопку Открыть проект в JupyterLab:

Открыть проект в JupyterLab

Перед вами откроется среда разработки JupyterLab, в которой вы будете работать дальше:

JupyterLab

Клонирование репозитория в DataSphere

В меню Git выберите Clone:

Git - Clone

В открывшемся окне укажите URI репозитория https://github.com/zhdanchik/yandex_metrika_cloud_case.git и нажмите кнопку CLONE:

CLONE

Нажмите кнопку OK.

Успешное клонирование репозитория

Создание приложения и получение токена доступа

Чтобы выгрузить данные из своего счетчика Яндекс.Метрики, вам необходимо сначала создать приложение, а затем получить токен доступа. В рамках данного руководства я не буду подробно описывать эти шаги настройки. Вы можете прочитать две статьи ниже в блоге Ya Dashboard!:

В них подробно разобраны все этапы. В завершение не забудьте сохранить полученный токен доступа.

Выгрузка данных через Logs API Яндекс Метрики в DataSphere

В проекте DataSphere в корне рабочей директории yandex_metrika_cloud_case создайте текстовый файл. Для этого нажмите Text File в рабочей области:

Text File

Назовите файл .yatoken.txt, в содержимое файла вставьте полученный токен доступа:

Файл .yatoken.txt с токеном доступа

Сохраните изменения и закройте файл.

Теперь откройте папку yandex_metrika_cloud_case - ноутбук 1a. get_data_via_logs_api.ipynb:

Открытие файла 1a. get_data_via_logs_api.ipynb

В переменной COUNTER_ID укажите идентификатор вашего счетчика Метрики:

Идентификатор счетчика Яндекс.Метрики

Его значение вы можете найти в списке счетчиков:

ID счетчика

Укажите дату начала анализируемого периода в качестве значения переменной START_DATE и дату окончания в переменной END_DATE.

Важно: диапазон дат НЕ будет включать дату окончания. Например, если вы хотите получить данные по 5 декабря 2022 года, вставьте в переменную END_DATE значение 2022-12-06.

После этого выполните все шаги (ячейки с кодом) в файле 1a. get_data_via_logs_api.ipynb. Для этого поочередно запустите каждую ячейку файла, в которых размещен код:

Запуск кода программы

Если не получилось выгрузить данные из Logs API для своего счетчика Метрики, то данные для демонстрационного счетчика можно скачать через Яндекс.Диск. Если вы все сделали правильно, то в текущей директории вы увидите два новых файла с именами metrika_cloud_case_data_hits.csv и metrika_cloud_case_data_visits.csv:

Выгруженная статистика по вашему счетчику Яндекс.Метрики с помощью Logs API

Эти файлы - статистика по вашему счетчику Яндекс.Метрики, выгруженная с помощью Logs API.

Получение адреса кластера ClickHouse

В консоли управления перейдите в уже созданный кластер ClickHouse. Дождитесь, когда у кластера появится статус Alive.

Доступность кластера - Alive

После этого откройте кластер, кликнув на сам кластер. Выберите из списка слева Хосты. На вкладке Обзор скопируйте имя хоста:

Копирование имени хоста

Загрузка данных в ClickHouse из DataSphere

Откройте папку yandex_metrika_cloud_case - ноутбук 2. upload_data_to_ClickHouse.ipynb:

Открытие файла 2. upload_data_to_ClickHouse.ipynb

Вставьте скопированное имя хоста в переменную CH_HOST_NAME. В переменную CH_USER вставьте имя пользователя, которое вы задали при создании кластера ClickHouse. В переменную CH_DB_NAME вставьте имя БД, которое вы задали при создании кластера ClickHouse:

Ваши данные ClickHouse

Примечание: имя хоста должно быть в формате xxxxxx..mdb.yandexcloud.net

В корневой директории создайте новый текстовый файл с названием .chpass.txt. Запишите в него пароль заведенного пользователя, который вы задали при создании кластера ClickHouse.

Файл .chpass.txt с паролем в корневой директории

Сохраните и закройте файл. После этого выполните все шаги (ячейки с кодом) в файле 2. upload_data_to_ClickHouse.ipynb. Для этого поочередно запустите каждую ячейку файла, в которых размещен код. Если вы все сделали правильно, то ваши данные, выгруженные в таблицы metrika_cloud_case_data_hits.csv и metrika_cloud_case_data_visits.csv на предыдущем шаге, загрузятся в базу данных ClickHouse.

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

Подключение к БД ClickHouse

После подключения вам станет доступна информация о кластере, его базах данных. В представленном списке найдите имя БД, которую вы задавали в системных настройках при создании кластера ClickHouse. Нажмите на нее:

Имя БД

Внутри нее должны располагаться две таблицы с загруженной статистикой вашего счетчика Метрики - visits и hits:

Таблицы hits и visits

Открыв любую из них (или обе по очереди), вы увидите данные в столбцах и строках:

Пример таблицы с загруженными данными в ClickHouse

Это и есть сырые данные вашего счетчика Яндекс.Метрики, выгруженные с помощью Logs API с использованием Yandex DataSphere и ClickHouse. Теперь их можно визуализировать в Yandex DataLens.

Но поскольку мы с вами будем учиться строить воронки конверсий и когортный анализ, то в Yandex DataSphere необходимо использовать еще два файла - 3. funnels.ipynb и 4. cohorts.ipynb.

Когортный анализ

Перейдите в ваш проект JupyterLab и откройте файл 4. cohorts.ipynb. Укажите хост, пользователя и название БД.

Ваши данные ClickHouse

В переменные start_date и end_date задайте дату начала и дату окончания анализируемого периода в формате ГГГГ, ММ, ДД. Например:

Дата начала и окончания периода

После этого выполните все шаги (ячейки с кодом) в файле 4. cohorts.ipynb. Для этого поочередно запустите каждую ячейку файла, в которых размещен код. Если вы все сделали правильно, то вы увидите в файле программы результаты построения когорт:

Визуализация когорт

А также промежуточные таблицы с данными для расчета:

Таблица с данными

В файле представлен расчет двумя способами:

  • Простой retention - показывает, какой процент новых пользователей вернулись в продукт в конкретный день с момента прихода;
  • Rolling retention - показывает, какой процент новых пользователей вернулись в продукт в конкретный день с момента прихода или любой день после него.

После выполнения всей программы когорт в ClickHouse будет создана новая таблица retention_users с данными, необходимыми для построения визуализации в DataLens.

Таблица retention_users в ClickHouse

Визуализация когорт в Yandex DataLens

Перейдите в консоль управления вашим облаком, выберите там свой кластер ClickHouse, а затем перейдите в раздел DataLens. Нажмите Создать подключение:

Создание подключения DataLens

На открывшейся вкладке выберите свой каталог в разделе Облако и каталог. Перепроверьте все данные в полях Имя хоста, Имя пользователя, задав также пароль от БД ClickHouse.

Подключение ClickHouse к Yandex DataLens

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

В открывшемся окне задайте название подключения (например, Logs API Метрика) и нажмите кнопку Создать:

Создание подключения

После того, как вы создали подключение к ClickHouse, перейдите в раздел Датасеты и создайте новый датасет:

Создание нового датасета

В открывшемся окне слева сверху нажмите +Добавить и добавьте только что созданное подключение к ClickHouse:

Подключение к ClickHouse

Поскольку для построения когорт нужна именно таблица retention_users, перетащите ее вправо в рабочую зону, чтобы подключиться к ней:

Выбор таблицы retention_users

Примечание: префикс db1 перед названием таблицы у вас может отличаться. Все зависит от того, какое имя БД вы дали при создании кластера ClickHouse (см. выше).

После выбора таблицы внизу окна вы увидите предварительный просмотр ее содержимого. Откройте вкладку Поля и создайте новое вычисляемое поле:

Поля - Добавить поле

  • Название поля - week_num
  • Формула:

Формула вычисляемого поля week_num

Нажмите Создать. Поле будет означать число недель с момента первого посещения пользователя.

Для полей visits, purchases и revenue выберите значение Сумма в столбце Агрегация:

Агрегация - Сумма

Переименуйте поля в Визиты, Покупки и Доход соответственно.

Переименование полей

В правом верхнем углу нажмите кнопку Сохранить и сохраните датасет с именем ch_metrica_data_users_visits:

Создание датасета

Перейдите в раздел Чарты и на основе датасета создайте новый чарт:

Чарты - Создание чарта

Измените тип чарта на Сводная таблица:

Тип чарта - Сводная таблица

Выберите свой датасет с именем ch_metrica_data_users_visits:

Выбор датасета

Перетащите:

  • поле week_num в область Столбцы;
  • поле min_date в область Строки;
  • поле Визиты в область Показатели.

У вас должно получиться так:

Столбцы, Строки и Показатели в сводной таблице

Отформатируйте числа в значениях поля week_num - уберите знаки после запятой. Для этого в области Строки в поле week_num нажмите значок решетки:

Редактирование столбца

В открывшемся окне выполните настройку:

  • установите для показателя Знаков после запятой значение 0;
  • установите для показателя Отображать группы разрядов значение Слитно.

Настройки столбца

Нажмите кнопку Применить.

Чтобы сделать таблицу цветной, добавьте поле Визиты в область Цвета и нажмите на значок шестеренки:

Редактирование цветов

В открывшемся окне выполните настройку цвета:

  • выберите Тип градиента - Трехцветный;
  • выберите Цвет - Оранжевый-Фиолетовый-Голубой;
  • включите настройку Задать пороговые значения и укажите значения 100, 1000 и 5000.

Настройки цвета

Нажмите кнопку Применить.

Сохраните чарт, задав ему название ch_metrica_data_users_visits_cohorts_abs:

Сохранение чарта

Назовите чарт ch_metrica_data_users_visits_cohorts_abs и нажмите Сохранить.

Теперь создайте новый чарт на основе только что созданного чарта 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.

Настройки цвета

Нажмите кнопку Применить и сохраните итоговой чарт.

Теперь все, что осталось - это создать визуализации в Yandex DataLens. Для этого перейдите на вкладку Дашборды и создайте новый дашборд:

Дашборд - Создание дашборда

Задайте дашборду название (например, Когорты Яндекс.Метрики):

Создание дашборда

В открывшемся окне сверху выберите Добавить - Чарт:

Добавить - Чарт

Добавьте чарт ch_metrica_data_users_visits_cohorts_abs. Укажите название Визиты по когортам (абсолюты):

Визиты по когортам (абсолюты)

Нажмите кнопку Добавить. Вы увидите добавленный чат на своем дашборде:

Визуализация когорт (абсолютные значения) по визитам Яндекс.Метрики в Yandex DataLens

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

Создание вкладок на дашборде

Перейдите на новую вкладку и добавьте чарт ch_metrica_data_users_visits_cohorts_rel. Укажите название Визиты по когортам (относительные):

Визиты по когортам (относительные)

Нажмите кнопку Добавить. Вы увидите добавленный чат на своем дашборде:

Визуализация когорт (относительные значения) по визитам Яндекс.Метрики в Yandex DataLens

Сохраните изменения.

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

Переключение между вкладками дашборда

Как вы понимаете, когортный анализ можно строить по различными показателям - визитам, доходу, покупкам и т.д. В официальной документации Yandex Cloud разобраны примеры с созданием чартов для анализа дохода (revenue) по когортам, при условии, что у вас в Яндекс.Метрике настроена передача данных по таким показателям. Вы можете самостоятельно проделать эти шаги, принцип точно такой же, что и с визитами.

Анализ воронок пользователей

К сожалению, без знаний программирования и определенных команд, которые позволят вам построить воронки пользователей для своего счетчика, вы не сможете использовать шаблон проекта 3. funnels.ipynb, предоставленный самим Яндексом. Это связано с тем, что в этих файлах представлены примеры кода, которые не являются универсальными, и шаги воронки со 100% вероятностью у вас будут отличаться.

Они подходят для тестового аккаунта и набора данных Яндекс.Метрики (supermarket.ru). Не имея навыков работы с кодом, вам будет сложно изменить представленный файл под себя.

Для построения воронок нужно изменять шаблон проекта под себя

Поэтому я предлагаю вам вернуться чуть назад и воспользоваться тестовыми данными счетчика Яндекс.Метрики. В официальной документации Yandex Cloud - это шаг 2.3. DataSphere. Выгрузите данные тестового счетчика через Яндекс Диск.

Что для этого нужно? Перейдите в ваш проект JupyterLab и откройте файл 1b. get_data_via_yadisk.ipynb:

Получение данных тестового счетчика с Яндекс.Диска

После этого выполните все шаги (ячейки с кодом) в файле. Для этого поочередно запустите каждую ячейку файла, в которых размещен код. В вашей папке yandex_metrika_cloud_case должны появится два выгруженных файла:

Выгруженные файлы по хитам и визитам

  1. metrika_cloud_case_data_hits.csv
  2. metrika_cloud_case_data_visits.csv

Теперь необходимо загрузить эти данные в вашу базу данных ClickHouse. Для этого откройте файл 2. upload_data_to_ClickHouse.ipynb и, убедившись, что у вас в переменные CH_HOST_NAME, CH_USER, CH_DB_NAME добавлены имя хоста, имя пользователя и имя БД, запустите программу, выполнив все шаги (ячейки с кодом) в ней.

Загрузка тестовых данных в ClickHouse

Примечание: перепроверьте файл .chpass.txt в корневой директории. В нем должен быть сохранен пароль от вашей базы данных ClickHouse с предыдущей загрузки (см. выше).

Для этого поочередно запустите каждую ячейку файла, в которых размещен код. Если вы все сделали правильно, то данные тестового счетчика Метрики, выгруженные в таблицы metrika_cloud_case_data_hits.csv и metrika_cloud_case_data_visits.csv, загрузятся в базу данных ClickHouse. А если быть точнее, они перезапишутся новыми, поскольку ранее мы с вами выполняли когортный анализ на своих собственных данных, и точно так же загружали эти файлы в свою БД. Старые таблицы удалятся, а новые с теми же названиями загрузятся:

Таблицы hits и visits

Открыв любую из них, вы увидите, что в таблице сохранены данные, принадлежащие тестовому сайту supermarket.ru:

Данные от тестового аккаунта supermarket.ru

Именно на базе этой статистики мы будем строить воронки пользователей. Для этого вернитесь в Yandex DataSphere и отройте проект 3. funnels.ipynb. Укажите в нем хост, пользователя и название вашей БД.

Ваши данные ClickHouse

После этого выполните все шаги (ячейки с кодом). Для этого поочередно запустите каждую ячейку файла, в которых размещен код. Если вы все сделали правильно, то вы увидите в файле программы результаты построения воронки пользователей по заданным шагам:

Пример воронки по шагам

А в ClickHouse будет создана таблица funnels_by_bro, в которой посчитаны воронки по браузерам:

Таблица funnels_by_bro в базе данных ClickHouse

Визуализация воронок в Yandex DataLens

Поскольку вы уже создали подключение к своей базе данных ClickHouse на предыдущем шаге, то просто перейдите по ссылке в DataLens и добавьте новый датасет. Выберите таблицу hits в качестве источника:

Таблица hits в качестве источника

Откройте вкладку Поля и создайте новое поле. Для подсчета числа хитов создайте вычисляемое поле с названием Хиты, указав в формуле значение 1.

Новое поле "Хиты"

Создав новое поле, выберите для него значение Сумма в столбце Агрегация:

Агрегация - Сумма

Переименуйте поле Browser в Браузер:

Переименование поля

Сохраните датасет, задав ему имя ch_metrica_data_hits:

Сохранение датасета ch_metrica_data_hits

Теперь на основе этого датасета создайте новый чарт, изменив тип чарта cо Столбчатая диаграмма на Накопительная диаграмма с областями;

Перетащите поля::

  • EventDate в область X;
  • Браузер в область Цвета;
  • Хиты в область Y.

В результате вы должны получить следующую визуализацию:

Накопительная диаграмма с областями

Сохраните чарт, задав ему имя ch_metrica_data_hits_area:

Сохранение чарта ch_metrica_data_hits_area

Теперь создайте чарт с типом Сводная таблица, где в область Строки добавьте Браузер, в Показатели - Хиты, и в область Сортировка - Хиты:

Сводная таблица по названиям браузеров

Сохраните чарт с названием ch_metrica_data_hits_table.

Перейдите в раздел Дашборды и создайте новый дашборд с именем ch_metrica_data. Добавьте следующие чарты на дашборды:

  • выберите чарт ch_metrica_data_hits_area и в поле Название укажите имя чарта Хиты в разбивке на браузеры;

Чарт "Хиты в разбивке на браузеры"

  • по аналогии добавьте чарт ch_metrica_data_hits_table с именем Хиты в разбивке на браузеры за период.

Чарт "Хиты в разбивке на браузеры за период"

На дашборде разместите две визуализации, чтобы получилось примерно так же:

Пример визуализации тестовых данных Метрики по браузерам

Вы можете добавить фильтрацию, чтобы выбирать определенный браузер. Для этого в правом верхнем углу нажмите Добавить - Селектор.

Добавление селектора

Селектор можно привязать к полю из какого-либо датасета. Задайте ему следующие настройки:

  • выберите из списка Датасет созданный датасет ch_metrica_data_hits;
  • в списке Поле выберите Браузер;
  • включите опцию Множественный выбор;

В поле Значение по умолчанию выберите браузеры:

  • android_browser
  • chrome
  • chromemobile
  • firefox
  • opera
  • safari
  • safari_mobile
  • samsung_internet
  • yandex_browser
  • yandexsearch

В поле Название укажите имя селектора (например, Браузер) и включите опцию.

Настройки селектора

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

Дашборд с фильтрацией

Теперь построим воронки по браузерам. Для этого создайте новый датасет, используя подключение к ClickHouse и таблицу funnels_by_bro:

Новый датасет на основе таблицы funnels_by_bro

Перейдите на вкладку Поля и переименуйте поля Browser в Браузер, а step X в Шаг X, где X — порядковый номер шага. То есть - Шаг 1, Шаг 2, Шаг 3, Шаг 4 и Шаг 5. Для всех этих полей в столбце Агрегация выберите значение Сумма:

Редактирование датасета

Сохраните датасет с названием ch_metrica_data_funnels_by_bro.

На основе этого датасета создайте чарт с типом Сводная таблица. Перетащите поля в области чарта:

  • Браузер — в область Строки;
  • Шаг 1, Шаг 2, Шаг 3, Шаг 4 и Шаг 5 - в область Показатели;
  • Шаг 1 — в область Сортировка.

Сводная таблица по шагам последовательности

Сохраните чарт с названием ch_metrica_data_funnels_by_bro_table.

Вернитесь в свой дашборд и добавьте новый чарт ch_metrica_data_funnels_by_bro_table, в качестве названия задав Воронки по браузерам:

Чарт "Воронки по браузерам"

Расположив все чарты на итоговом дашборде, вы получите примерно такой отчет:

Итоговые воронки по браузерам

Чтобы селектор, который вы создали ранее, влиял на новый чарт из другого датасета, настройте связи. Для этого в правом верхнем углу выберите Редактировать - Связи:

Редактировать - Связи

В открывшемся окне выберите из списка селектор Браузер. Рядом с чартом Воронки по браузеру нажмите на список Нет связи:

Воронки по браузерам - Нет связи

Выберите тип связи Исх. связь. Из каждого списка выберите поля для связи Браузер:

Алиас - Браузер

Нажмите кнопку Добавить, а затем Сохранить. Теперь при изменении фильтра все визуализации (чарты) будут иметь связи и автоматически перестраиваться. А выбрав только какой-то конкретный браузер из списка (например, opera), вы увидите, как только данные по нему останутся на дашборде:

Пример фильтра с конкретным браузером

В завершение сохраните ваш дашборд Yandex DataLens.

Понравилось? Уверен, что да! Вот такие штуки мы разбираем в проекте Ya Dashboard! и на Яндекс.Метрике. Приглашаю вас в наше сообщество и на обучение!

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике