Отвечая на неприятные вопросы, которые вы хотели задать, но боялись

Представьте себя предпринимателем, который только что запустил веб-сайт магазина пончиков или образовательное мобильное приложение. Теперь вы заинтересованы в настройке низкобюджетной аналитики для измерения динамики использования. Все вокруг говорят о Mixpanel, Facebook Analytics и других сервисах, с которыми вы никогда не сталкивались. В этой статье мы ответим на вопросы, чтобы помочь вам понять основы клиентской аналитики.

Так что же такое служба клиентской аналитики?

Nota bene! Служба клиентской аналитики является частью клиентской аналитики и НЕ связана со сбором журналов и управлением ими. Мониторинг журналов обычно представляет собой отдельную задачу или целую услугу, выполняемую разработчиками и ориентированную на стабильность и производительность. Аналитика клиентов, в свою очередь, используется для изучения поведения пользователей на веб-сайте или в приложении: как действует клиент, как часто его действия повторяются и как он реагирует на push-уведомления или всплывающую рекламу.

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

Какова цель его использования?

Клиентская аналитика подходит для:

- мониторинг поведения пользователей при взаимодействии с вашим сервисом;

- принятие решений о том, как развивать ваш сервис, включая новый контент и функции;

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

Как это работает?

Чтобы изучить поведение пользователей, прежде всего, вам необходимо собрать данные об их историческом поведении. Но что именно нужно собирать? Этот вопрос составляет около 70% сложности всей задачи.

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

После того, как команда определила, какие поведенческие свойства должны быть собраны, должна быть изобретена архитектура для сбора данных. Основным дескриптором сервисов аналитики объекта является событие. Событие - это описание произошедшего, которое отправляется в службу аналитики в ответ на действие пользователя. Как правило, для каждого из действий, выбранных на предыдущем шаге, событие представляет собой файл JSON с несколькими полями, которые полностью описывают действие.

Подождите ... Что такое файл JSON?

Файл JSON - это текстовый файл, в котором описывается, что произошло. Например, он может содержать информацию о том, что пользователь по имени Мэри запустил игру в 23:00 15 ноября. Как описать каждое возможное действие? Если пользователь нажимает кнопку, какие свойства следует собирать? Есть свойства 2-х типов:

- Суперсвойства, общие для всех событий и всегда присутствующие. Это определенно дата и временная метка, идентификатор устройства, версия API, версия ОС, версия службы аналитики.

- Свойства события, которые произвольны и должны выбираться с вниманием. Например, для кнопки «Купить монеты» в мобильной игре этими свойствами будут «Количество купленных монет» и «Сколько стоят монеты».

Хорошо, но почему бы нам просто не собрать все данные?

Потому что все события для сервисов аналитики создаются вручную. Сервисы аналитики не позволяют «Сохранить все» (что было бы бессмысленно в отношении последующей обработки). Следует собирать только те события из вашего потока обслуживания, которые интересны кому-то в команде. Даже не каждое состояние кнопки или окна стоит собирать. Для длинных процессов (например, игровых уровней) могут быть важны только начало и конец процесса, при этом сам процесс не интересен.

Как правило, веб-службы и мобильные службы состоят из объектов, называемых «сущностями». Монеты или игровые уровни являются примерами этих сущностей. Таким образом, события могут быть составлены с использованием сущностей, их возможных состояний и действий. Несколько примеров событий в игровом мире: «уровень начат», «уровень завершен» или «уровень завершен, причина: съеден драконом». Для объектов, которые могут быть «открытыми» или «запущенными», также лучше создавать состояния «закрыто» / «завершено», чтобы не нарушать логику и не усложнять дальнейший анализ.

Сколько событий должно создавать сложное мобильное приложение?

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

Что дальше?

Предположим, мы придумали набор интересующих нас событий. Пришло время собрать данные. Для этого вам необходимо интегрировать сервис аналитики в свой сайт или приложение. Во-первых, вам следует выбрать сервис аналитики. Здесь можно просто погуглить бесплатные или сразу воспользоваться одним из самых популярных сервисов: Mixpanel, Яндекс.Метрика, Google Analytics, Facebook Analytics, Tune, Amplitude и так далее. Во-вторых, вам нужно интегрировать аналитику SDK в свой собственный код. Вот почему эти службы называются клиентскими - потому что SDK интегрируется непосредственно в клиент, и на стороне сервера нет проблем.

Где хранятся данные?

Каждый файл JSON, созданный приложением, должен где-то храниться. Куда и как поместить все данные? Если вы выбираете клиентскую аналитику, за хранение отвечает сама служба. Мы ничего не знаем ни о хранилище, ни о том, насколько велики данные, ни о структуре папок, которые там используются, и, по сути, нас это не волнует.

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

Бесплатные сервисы клиентской аналитики обычно не позволяют пользователям загружать необработанные наборы данных. Однако такие возможности есть в некоторых аналитических сервисах (которые довольно дороги).

Сколько времени нужно, чтобы настроить сервис аналитики?

Очень простой сервис, который можно интегрировать за считанные часы (например, Яндекс AppMetrica), предоставит вам базовые метрики без каких-либо настраиваемых событий. Время, необходимое для интеграции сложных сервисов, зависит от интересующих вас событий. Также могут возникнуть некоторые трудности, которые потребуют дополнительной разработки. Возможные трудности:

- Если события упорядочены строго, как исправить этот порядок и то, что одно событие никогда не может прийти в аналитику раньше другого?

- Что, если пользователь изменил время на своем мобильном телефоне? Или его часовой пояс?

- Как собирать произошедшие события, если у пользователя нет доступа в Интернет?

В среднем Mixpanel можно настроить за пару дней. Если вы планируете указать, а затем собрать множество конкретных событий, это может занять до недели.

Как выбрать сервис аналитики, который подходит моему сайту / приложению?

Вы можете обнаружить, что общая статистика хороша в каждом из самых популярных аналитических инструментов. Маркетологам и менеджерам по продажам этого будет достаточно, так как есть все основные метрики (DAU, MAU, ARPU, retention). Для простого лендинга нужен относительно легкий сервис аналитики, например, счетчик Яндекс.Метрика.

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

Например, Mixpanel предоставляет функциональность сплит-тестирования. Как это работает? Прямо в дашборде Mixpanel нужно создать новый эксперимент и несколько когорт (A, B,…) внутри него. Затем он определяет: а) какие пользователи должны попасть в каждую когорту и б) различные значения для объекта, который он собирается тестировать. Это означает, что пользователи из A увидят кнопку, заполненную, скажем, зеленым цветом, а когорта B получит синюю кнопку.

Поскольку Mixpanel собирает все данные, он может найти device_id для каждого пользователя в A и B. В коде веб-сайта или приложения с помощью аналитического SDK его владелец создает настройки - специальные части кода, значения которых могут изменяться для тестирования. После этого для каждого пользователя Mixpanel будет подставлять значение (в данном случае это цвет кнопки) в зависимости от его когорты. Если нет подключения к Интернету, пользователю будет показана цветная кнопка по умолчанию.

Иногда вам может понадобиться не только собирать и исследовать события, но и объединять пользователей. В Mixpanel есть вкладка «Пользователи», где вы можете найти личные данные клиента (имя, адрес электронной почты, профили в социальных сетях) и просмотреть историю его журналов. Эти события также можно агрегировать и формировать простую статистику: «100 раз съеден драконом» или «купил 5 цветов». Некоторые сервисы даже позволяют скачивать эту информацию.

Далее перейдем к Аналитике Facebook. В чем его главное конкурентное преимущество? Он объединяет посетителя веб-сайта или приложения со своим профилем в Facebook. И это потрясающе! Вы можете изучить свою аудиторию и, что более важно, легко превратить ее в рекламную аудиторию. Предположим, я посетил веб-сайт, который никогда раньше не видел. Позже, если владелец сервиса включит рекламную компанию, мне будут показывать рекламу на Facebook. Вам, как владельцу сервиса, очень легко пользоваться. Единственное, о чем не следует забывать, - это установить дневной предел рекламного бюджета.

Делать почти нечего и работает нормально! Есть ли минусы?

Конечно, есть. Первым часто бывает цена. Обычно такие услуги оплачиваются по периоду. Стартап мобильных игр может платить около 50 тысяч долларов в месяц, чтобы получить всю информацию, необходимую для дальнейшей разработки. В значительной степени, не так ли? А если вы попытаетесь сэкономить деньги и выберете бесплатные решения, вы получите очень ограниченный набор функций. Аналитика не будет подробной: вы увидите типы устройств клиентов и операционные системы, но не сможете просматривать конкретные события или создавать последовательности.

Как правило, почти каждая аналитическая служба ограничивает ваш доступ к необработанным данным. В этом, в целом, главный недостаток концепции клиентской аналитики: вы никогда не сможете запускать собственные модели на собственных данных. Следовательно, вы не сможете полностью изучить пользовательские сессии. Другое дело - сложная агрегация клиентов. Например, изучая этапы воронки продаж вашего веб-сайта в Mixpanel, вы сможете рассчитать только среднее время между этапами. Любые другие метрики, например, среднее время или процентили, не будут доступны для изучения с помощью этой службы.

Что касается аналитики Facebook, то ее самый большой минус - сложный и совсем не удобный интерфейс, к тому же довольно медленный.

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

Что, если я использую их все?

Мы думаем, что это отличная идея! Различные системы, как правило, дают разные результаты и немного разные значения. Кроме того, функции и цены могут отличаться.

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

Как добавить новые события?

Что, если были выпущены новые функции, и вам нужно добавить события для сбора и обработки? Служба аналитики работает так же, как и при настройке: вы должны описать свои новые события и с помощью SDK интегрировать их сбор в код вашего клиента.

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

Спасибо за внимание! Пожалуйста, задавайте нам вопросы, оставляйте комментарии и следите за обновлениями! Найдите нас на https://potehalabs.com