Привет, Хабр! Меня зовут Витя, я работаю проектировщиком интерфейсов в Selectel. Проектируя интерфейс, мы предполагаем, что пользователи будут использовать его согласно задуманным сценариям: например, на странице со списком объектов воспользуются фильтрами для сортировки, а на странице заказа услуги заполнят определенные поля или выберут нужные опции. Но как узнать о реальных действия пользователей: что они используют, а что — нет?

Для ответа на этот вопрос используются инструменты аналитики, которые позволяют собирать данные, строить по ним графики и анализировать поведение пользователей. Об одном из таких инструментов я рассказывал в прошлой статье — это PostHog. 

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

Сбор данных — целевые сценарии

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

Пример сбора данных.
Пример сбора данных.

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

  • Просто ли пользователю выполнить целевое действие?

  • На каком этапе своего пути пользователь может столкнуться со сложностями?

  • Каковы особенности ваших пользователей?

Как определить целевые сценарии

Целевыми будут те сценарии, где пользователь получает необходимый результат от использования вашего продукта, например, заказ услуги или покупка. Как правило, целев��е действие является финишным в спроектированном сценарии, поэтому проще начинать с таких событий.

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

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

На рисунке показаны примеры событий, где цифрой 1 будет начало события, а цифрой 2 — конец события.
На рисунке показаны примеры событий, где цифрой 1 будет начало события, а цифрой 2 — конец события.

Свойства целевых событий

Нам интересно не только количество пользователей, которые начали и закончили путь, но и опции, выбранные в процессе. Будет полезно узнать, сколько времени процесс занял, сталкивались ли они с ошибками и так далее. Дополнительно можем собирать и другие свойства пользователей, которые предусмотренные PostHog. 
Таким образом, задав свойства, можно определять, какие именно юзеры выбирают те или иные опции, доходят до конца вашего с��енария, а какие уходят из него.

При определении основных событий и их свойств стоит руководствоваться принципами достаточности, т.к. большое количество данных не гарантирует наличие ответов на все вопросы о пользователях. Планируете добавить новое свойство или событие? Ответьте на вопрос «Чтобы что?» — и зафиксируйте ответ в документации.

Игровой сервер с криперами и порталом в Незер. Добывайте ресурсы, стройте объекты, исследуйте мир Selectel в Minecraft и получайте призы.

Исследовать →

Системный подход и документация

Итак, вы определили, какие события могут быть целевыми, какие свойства они имеют, узнали, «чтобы что». А что дальше? 

А дальше нужно описать принципы, по которым вы определили события и свойства, и зафиксировать это в документации, чтобы спустя какое-то время вы вспомнили, а зачем это все. Желательно, чтобы не только вы, но и ваши коллеги смогли пользоваться вашей системой.

Хорошая работа — та, которую потом сможет использовать команда 🙂
Хорошая работа — та, которую потом сможет использовать команда 🙂

Проименуйте события

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

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

  • rent_order_start и rent_order_end

  • ticket_order_start и ticket_order_end

  • booking_order_start и booking_order_end

На какие базовые принципы стоит ориентироваться:

  1. Простота. Чем короче и понятнее название, тем легче работать с ним в дальнейшем.

  2. Однообразие. Следуйте единому стилю написания (вы может�� выбрать snake_case или CamelCase, главное следовать ему).

  3. Использование паттернов. Придумайте паттерн написания и переиспользуйте его в нейминге. Вам в помощь — префиксы или суффиксы, например btn_ для кнопок, и определяющие термины вроде start и end для начала и конца событий соответственно.

Определите цель

Обозначьте цель сбора данных, чтобы создать необходимые события и успешно получить ответы на свои вопросы.

Примеры целей

  1. Простая количественная метрика определенного действия — подсчет востребованности фичи. Аналог из реального мира: счетчики посетителей в магазинах.

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

  3. Проверка сценария — похоже на конверсию, но содержит больше шагов, чтобы иметь возможность провести детальный анализ. Это подходит для оценки и анализа сложных путей пользователя. Аналог из реального мира: покупка в магазине, оформление доставки в специальном отделе и получение заказа дома.

Подберите метрики под цель

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

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

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

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

Опишите события

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

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

Заключение

Инвестируйте время в анализ пользователей и их поведение, чтобы сделать продукты качественными и удобными. В этом вам могут помочь инструменты вроде PostHog, который упоминается в статье. Но главное — организовать системный подход к созданию и описанию метрик, если вы используете аналитику, построенную на сборе данных о событиях.