Извлечение метрики из событий пользователя

Материал из Документация Ключ-АСТРОМ
Версия от 18:23, 19 августа 2026; IKuznetsov (обсуждение | вклад) (Новая страница: «= Извлечение метрики из событий пользователя = '''OpenPipeline''' упрощает преобразование пользовательских событий в пользовательские метрики, предоставляя возможность анализировать закономерности, влияющие на ваши цели, в блокнотах и дашбордах, обеспечива...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Извлечение метрики из событий пользователя

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

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

Пример сценария

В этом уроке мы будем использовать демонстрационное приложение Ключ-АСТРОМ easyTravel в качестве примера. easyTravel отображает список доступных маршрутов, и когда пользователь выбирает маршрут, отображаются его подробные сведения.

Приложение использует JavaScript-код RUM, а собранные данные сопоставляются с интерфейсом пользователя easytravel. Каждый раз, когда пользователь переходит с одной страницы на другую — например, с главной страницы на определенный этап — регистрируется событие навигации.

События навигации предоставляют информацию, необходимую для анализа количества просмотров по каждому маршруту. Каждый маршрут имеет уникальный идентификатор. При переходе к определенному маршруту путь URL обновляется, включая этот идентификатор маршрута — например, /easytravel/journeys/24859438. Это значение фиксируется в поле view.url.path события навигации.

Таким образом, вы можете проанализировать количество просмотров за одно путешествие, выполнив следующий DQL-запрос:

fetch user.events
| filter matchesPhrase(frontend.name, "easytravel") AND
  characteristics.has_navigation == true AND
  matchesPhrase(view.url.path, "/easytravel/journeys/*") AND
  not matchesPhrase(view.url.path, "*book")
| parse view.url.path, "'/'LD'/'LD'/'LD:journey_id"
| summarize by: {journey_id}, count()
| sort `count()` desc

Хотя этот запрос хорошо подходит для краткосрочного анализа, он не идеален для мониторинга долгосрочных тенденций. Для этой цели более подходящим подходом будет создание пользовательской метрики, полученной из запроса, с помощью OpenPipeline.

Прежде чем начать

Предварительные знания

  • Язык запросов Ключ-АСТРОМ
  • Обработка в OpenPipeline

Предварительные требования

Убедитесь, что у вас есть права доступа, описанные в разделе «Права доступа RUM».

Инструкция

1. Создайте конвейер для анализа и извлечения метрик

  1. Перейдите в Настройки > Обработка и контекстуализация > OpenPipeline > Пользовательские события > Конвейеры.
  2. Чтобы создать новый конвейер, выберите Конвейер и введите имя (например, easyTravel).
  3. Чтобы настроить вывод идентификатора маршрута в отдельное поле, перейдите в раздел Обработка > DQL и определите обработчик, введя:
    • Описательное название (например, Add journey_id).
    • Условие соответствия. В нашем примере условием соответствия является:
characteristics.has_navigation == true AND
matchesPhrase(view.url.path, "/easytravel/journeys/*") AND
not matchesPhrase(view.url.path, "*book")
    • Определение процессора. В нашем примере определение процессора выглядит следующим образом:
parse view.url.path, "'/'LD'/'LD'/'LD:journey_id"
| fieldsAdd journey_id
  1. Для настройки извлечения метрик перейдите в раздел Извлечение метрик > Метрика счетчика и укажите обработчик, введя:
    • Описательное название (например, Viewed journeys).
    • Условие соответствия (isNotNull(journey_id)).
    • Ключ метрики (easytravel.journey_view_count).
    • Метрический размер. В разделе Размеры выберите Добавить поле и введите название поля (journey_id) и целевое поле (journey_id).
  2. Выберите Сохранить.

2. Передача данных в конвейер

В OpenPipeline перейдите в раздел Динамическая маршрутизация > Динамический маршрут и укажите:

  • Описательное название (например, easyTravel route).
  • Условие соответствия. В нашем примере условием соответствия является:
matchesValue(frontend.name, "easytravel")
  • Конвейер обработки, содержащий инструкции по обработке (easyTravel).
  • Выберите Сохранить.

Заключение

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

timeseries count = sum(easytravel.journey_view_count), by: {journey_id}, interval: 3h
| sort arraysum(count) desc
| limit 5

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

Связанные темы

  • Язык запросов Ключ-АСТРОМ
  • Обработка в OpenPipeline