Sobes.tech
Назад к вопросам
Middle
12

Какие свойства должны быть у каждого события?

Компании, где спрашивали
АВ Софт
thesis
СБЕР МаркетСБЕР Маркет

Ответ от нейросети

sobes.tech AI

Что хотят услышать интервьюеры:

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

Определение:

Событие в аналитике — это зафиксированный факт действия или изменения состояния в продукте. Чтобы оно было полезным, у него обычно есть базовые свойства: название события, время, идентификатор пользователя или сущности, источник/контекст, а также набор бизнес-атрибутов, описывающих детали действия. Главная задача — сделать событие однозначным, воспроизводимым и пригодным для анализа.

Пример использования:

Например, событие purchase_completed может содержать дату и время, user_id, order_id, сумму заказа, валюту, канал привлечения и платформу. Тогда аналитика сможет считать выручку, конверсию по каналам и сравнивать поведение пользователей на разных устройствах.

Пояснение кода:

Код не требуется. На практике свойства события проверяют по чек-листу:

  1. Событие имеет понятное имя, отражающее факт, а не действие интерфейса.
  2. Есть timestamp, чтобы можно было строить последовательность действий.
  3. Есть идентификаторы, позволяющие связать событие с пользователем, сессией или объектом.
  4. Есть контекстные параметры: устройство, источник трафика, экран, версия приложения.
  5. Есть бизнес-поля, которые нужны для анализа конкретного сценария.
  6. Все поля определены заранее, чтобы события были одинаковыми во всех командах и версиях продукта.

Ключевые моменты:

  • Имя события должно описывать факт, а не UI-элемент.
  • У события должны быть обязательные системные поля: время, идентификатор, контекст.
  • Поля должны быть однозначными и одинаково трактоваться всеми командами.
  • Набор свойств зависит от задачи, но базовая структура должна быть стабильной.
  • Лучше меньше полей, но с четкой семантикой, чем много неструктурированных данных.