В поисках лучшей мобильной аналитики
Опубликовано: 2022-03-10Создавая мобильное приложение, разработчик представляет себе модель и то, как пользователи будут использовать приложение. Одна из проблем, с которой сталкиваются разработчики, заключается в том, что пользователи не всегда используют приложение так, как это было задумано разработчиком.
Как пользователи взаимодействуют с приложением? Что они делают в приложении? Делают ли они то, что от них хочет разработчик? Мобильная аналитика помогает ответить на эти вопросы. Аналитика позволяет разработчику понять, что происходит с приложением в реальной жизни, и дает возможность настроить и улучшить приложение, увидев, как пользователи на самом деле его используют. Проще говоря, аналитика — это изучение поведения пользователей.
Дальнейшее чтение на SmashingMag:
- Приоритизация устройств: тестирование и адаптивный веб-дизайн
- Переход Ноя к юзабилити-тестированию мобильных устройств
- Где находятся лучшие в мире лаборатории открытых устройств?
- Руководство по простому и безболезненному мобильному пользовательскому тестированию
В этой статье мы сравним некоторые из самых популярных систем мобильной аналитики. Процесс добавления аналитики в приложение включает в себя рассмотрение многих деталей, и наша цель — предоставить вам полезные советы по внедрению аналитики. Эта информация должна помочь вам найти систему мобильной аналитики, которая соответствует вашим потребностям, и должна помочь вам правильно внедрить ее в свое приложение.
Аналитика в реальной жизни
Возьмем в качестве примера небольшое приложение для iOS, которое мы разработали. Он называется «Что я ем» и предназначен для отслеживания пищевых привычек пользователя.
Пользователи могут отслеживать свое питание, проверять ежедневный журнал приема пищи и переключаться между днями в календаре для просмотра предыдущих журналов. В приложении есть рекламный баннер, но пользователи могут заплатить за его отключение.
При разработке «Что я ем» наша основная цель заключалась в том, чтобы позволить пользователю легко добавлять новые записи о еде и легко просматривать свою ежедневную историю приема пищи. Мы также хотели монетизировать приложение с помощью встроенной покупки, чтобы убрать рекламу. Чтобы понять, удалось ли нам это сделать, мы отслеживаем в приложении следующие события:
- когда пользователь запускает приложение в первый раз (установка приложения),
- когда пользователь открывает список ежедневных приемов пищи (главный экран приложения),
- когда пользователь добавляет новую запись о еде,
- когда пользователь совершает покупку в приложении для удаления рекламы.
Далее в этой статье мы покажем, как мы используем аналитику, чтобы определить, начали ли пользователи использовать приложение, и какой процент пользователей начинает отслеживать питание после установки приложения.
Сравнение аналитических сервисов
Сегодня на рынке представлено множество аналитических сервисов, начиная от широко известных систем, таких как Google Analytics, и заканчивая нишевыми инструментами. Анализ и сравнение их всех заняло бы вечность; поэтому в этой статье мы будем использовать только те, которые мы сочли наиболее удобными. То есть мы выбрали те, чей интерфейс панели инструментов и набор инструментов для интеллектуального анализа данных относительно просты для понимания и просты в работе для тех, у кого нет большого опыта в аналитике, таких как наши клиенты. Будучи мобильно-ориентированными системами аналитики, они также удобны с точки зрения разработки, поскольку код аналитики можно легко внедрить и настроить в мобильном приложении. Вот системы:
- Шквал от Yahoo
- Ответы Crashlytics
- Амплитуда
- Микспанель
Чтобы проанализировать, как работает What I Eat, мы используем два основных инструмента, которые предоставляет почти каждая система аналитики: события и воронки. События описывают, что пользователи делают в приложении, а воронки позволяют провести качественный анализ этих данных. Давайте рассмотрим, как каждая из систем реализует их для «Что я ем».
Микспанель
Mixpanel позволяет отслеживать пользовательские события. Разработчик может добавлять к событиям настраиваемые параметры и использовать эти параметры для сегментации воронок конверсии.
Мы построили воронку, включающую два события: «Установить» (указывает на первоначальный запуск приложения после установки) и «Добавить еду» (отслеживает каждый раз, когда пользователь добавляет еду). Они показывают нам, какой процент пользователей не только скачал приложение, но и начал его использовать. Конверсия оценивается в 65%, а это значит, что из 100 человек, установивших приложение, 65 начали отслеживать приемы пищи.
Иногда разработчику нужно, чтобы события появлялись на панели аналитики в режиме реального времени или с минимальной задержкой после того, как они произошли в приложении. Например, разработчик может запустить маркетинговую кампанию в социальных сетях, и ему необходимо отслеживать, как она влияет на его приложение в режиме реального времени. Mixpanel показывает события практически в реальном времени. Вновь созданные воронки рассчитываются и визуализируются практически мгновенно.
Амплитуда
Сразу после того, как разработчик добавляет в свой проект комплект для разработки программного обеспечения (SDK) Amplitude и без какой-либо дополнительной настройки событий или воронок, программное обеспечение начинает отслеживать ежедневные и ежемесячные данные об активных пользователях (DAU и MAU). Мы часто используем это в «Что я ем», чтобы понять, сколько людей используют приложение каждый день.
Как и Mixpanel, Amplitude предоставляет мощный набор инструментов для работы с событиями и воронками; разработчик может создать воронку и сегментировать ее по параметрам. В отличие от Mixpanel, Amplitude может визуализировать сегменты прямо на воронкообразной диаграмме, что удобно, когда вам нужно понять, как параметр влияет на коэффициент конверсии. На приведенной ниже диаграмме показано, как переход от «Установить» к «Добавить еду» зависит от языка интерфейса.
Как видите, русский интерфейс показывает лучшую конверсию, чем английский (83% против 66%). Таким образом, с нашими следующими обновлениями приложения нам, возможно, придется больше смотреть на нашу нероссийскую аудиторию.
Ответы Crashlytics
Как и в случае с Amplitude, после добавления SDK Answers в проект приложения начинается отслеживание данных. Почти без усилий со стороны разработчика, Answers обеспечивает четкое представление некоторых ключевых показателей эффективности (KPI) мобильного приложения: MAU, DAU, количество новых пользователей и сеансов за день.
Разработчик может определять и отслеживать пользовательские KPI как события, и ответы будут визуализировать их таким же образом.
Ответы также дают представление о том, насколько активна ваша аудитория и сколько времени люди проводят в приложении.
Аналитика Answers хранит данные за последние 30 дней и не имеет воронок. Таким образом, он работает только для простого и краткосрочного анализа производительности приложения.
Шквал от Yahoo
Flurry не так удобен, как Mixpanel или Amplitude, когда вам нужно построить воронки и провести когортный анализ.
Пользователи Flurry могут создавать до 10 сегментов и применять их к воронке. Добавление нового сегмента в существующую воронку требует ее пересчета, а это может занять около суток. Пользователи не могут создавать более 10 сегментов для своих последовательностей. Расчет вновь созданных воронок может занять до трех дней.
Мы не нашли, что события и воронки Flurry полезны для What I Eat, и мы в основном использовали Mixpanel и Amplitude.
Что еще важно?
Хотя события и воронки являются ключевыми функциями, при выборе правильной системы аналитики учитываются и другие факторы.
Демографические данные
Некоторые аналитические сервисы предоставляют аналитические данные об аудитории приложения, даже если они не собираются в приложении. Они делают это, получая пользовательские данные из источников, отличных от вашего мобильного приложения. Это удобно, когда вам нужно идентифицировать ваших опытных пользователей, но ваше приложение не собирает никаких данных о них. Например, в приложении «Что я ем» пользователям не нужно регистрироваться, и у нас нет другого способа получить пользовательские данные, но мы все равно хотели бы знать, кто их использует, чтобы точно нацеливать новых пользователей с приложением. обновления.
Ответы предоставляют данные о вашей аудитории, такие как их пол и интересы. Вам может быть интересно, как это происходит? Ответы тесно интегрированы с Twitter, и поскольку Twitter знает почти все обо всех, кто использует платформу, Ответы используют эти личные данные.
Flurry оценивает демографические данные, аппроксимируя информацию о пользователях, которую он получает от приложений, которые ею поделились. Причина, по которой разработчики делятся этой информацией, заключается в том, что они получают более точный набор данных об аудитории, предоставляя данные Flurry. Flurry показывает интересы, возрастной диапазон и пол ваших пользователей.
С помощью Flurry и Answers мы видим, что аудитория What I Eat в основном состоит из женщин среднего возраста, интересующихся здоровьем и фитнесом.
Mixpanel и Amplitude не предоставляют никаких демографических данных.
Внешний API для импорта и экспорта данных
Аналитика позволяет импортировать и экспортировать данные через внешние API. Экспорт позволяет анализировать данные за пределами панели аналитики (т. е. с помощью стороннего программного обеспечения для интеллектуального анализа данных, такого как Windrush и DataHero). Импорт API позволяет развертывать данные на аналитических платформах из таких источников, как внутренние серверы и системы отслеживания атрибуции, такие как AppsFlyer. Рассмотрим, какие аналитические сервисы предоставляют такие функции:
- Amplitude предоставляет внешний API для импорта и экспорта событий.
- Mixpanel имеет API для импорта и экспорта. Он поддерживает язык запросов JavaScript, что позволяет выполнять сложные запросы на экспорт.
- Ответы не имеют внешнего API. Вы можете загрузить данные о событиях в виде CSV-файла с панели управления, но он не содержит никаких параметров событий.
- У Flurry нет API для импорта. Вы можете экспортировать данные только с помощью API экспорта.
Цена
Компании мобильной аналитики экспериментируют с ценообразованием и могут довольно часто менять свои тарифы. Следующие данные относятся к июлю 2016 года:
- Flurry и Answers абсолютно бесплатны.
- Бесплатный план Amplitudes предоставляет 10 миллионов событий в месяц. Если вы планируете отслеживать больше, это будет стоить 2000 долларов в месяц. Хотя мы использовали Amplitude во многих проектах, нам никогда не приходилось переходить на платный уровень, потому что ограничения бесплатного плана также высоки.
- Mixpanel имеет бесплатный уровень 25 000 событий в месяц. Один миллион мероприятий стоит 300 долларов в месяц. За более чем 10 миллионов событий придется платить 1250 долларов в месяц.
Советы по внедрению аналитики
Теперь, когда мы знаем основные различия между каждой системой аналитики, давайте углубимся в практические аспекты реализации аналитики.
Делай свою домашнюю работу
Если вы решили, что вам нужна аналитика в вашем приложении, кодирование — это не первое, о чем вы должны думать. Мы считаем, что хороший разработчик должен начать со следующих шагов:
- Напишите, что вам нужно отслеживать. . Начните с составления списка вопросов, на которые вы хотите получить ответы от аналитики. На основе этого списка разложите события и параметры, которые необходимо отслеживать, чтобы ответить на вопросы. Не включайте аналитику в приложение ради нее.
- Перефразируйте это с точки зрения вашей аналитики. . Закончив список событий, формализуйте его в соответствии с выбранной вами аналитической платформой. Например, в то время как Amplitude допускает события с любым набором параметров, в Google Analytics есть предопределенный набор параметров. Учитывайте такие нюансы при внедрении аналитики.
- Сделайте небольшое демо. . Хорошей идеей было бы создать небольшое тестовое приложение, отследить с его помощью десяток событий, а затем проверить, как эти события визуализируются на выбранной вами платформе и какие инструменты интеллектуального анализа данных доступны. Используйте эти знания, чтобы максимизировать функциональность выбранной платформы при реализации аналитики в реальном приложении.
Мыслите масштабно при кодировании
Спроектируйте код аналитики так, чтобы он не зависел от кода проекта и SDK аналитики. Таким образом, вынесите код аналитики в отдельную подсистему или класс и определите методы интерфейса, которые можно будет вызывать из кода приложения. Например, когда пользователь нажимает кнопку меню, код приложения вызывает код класса аналитики. Для iOS-приложения, написанного на Swift, это будет выглядеть так:
/** Application code: menu tap handler */ @IBAction func menuButtonPressed(sender: UIButton) { //Showing menu, etc... AnalyticsManager.sharedInstance.userTapMenuButton() }
Общий класс аналитики, вызываемый кодом приложения, собирает список параметров и отправляет эти данные в конкретный класс аналитики.
/** General analytics class: a bridge between the application code and the specific analytics class */ class AnalyticsManager { static let sharedInstance = AnalyticsManager() private var services: [AnalyticsService] private init() { services = [AmplitudeAnalyticsService()] } func userTapMenuButton() { let name = "MenuTap" let properties: [String: AnyObject] = [/* define your properties */] for service in services { service.trackEvent(withName: name, properties: properties) } } }
Конкретный класс аналитики отправляет данные в пакет SDK для аналитики. В нашем случае это SDK Amplitude.
/** Specific analytics class. */ class AmplitudeAnalyticsService: AnalyticsService { func trackEvent(withName name: String, properties: [String : AnyObject]?) { if let propertiesToTrack = properties { Amplitude.instance().logEvent(name, withEventProperties: propertiesToTrack) } else { Amplitude.instance().logEvent(name) } } }
При такой структуре всякий раз, когда вы решите перейти на другую аналитическую платформу или настроить набор параметров для отслеживания, вам нужно будет изменить только код класса аналитики, но не код приложения.
Анализируйте все свои данные
Собирайте данные из всех источников на аналитической платформе по вашему выбору. Отправляйте данные не только из мобильного приложения, но и из бэкенда, используя внешний API. Если вы проводите рекламную кампанию, используйте систему отслеживания установки, такую как AppsFlyer или Adjust, чтобы измерить ее эффективность и понять, откуда приходят ваши пользователи. Заранее выберите систему отслеживания установки, которую вы будете использовать, чтобы убедиться, что она хорошо работает с вашей аналитической платформой.
Контролируйте количество SDK
Попробуйте использовать SDK аналитических платформ, которые уже есть в приложении. Если вы отслеживаете сбои с помощью Crashlytics, вы можете использовать аналитику Answers без дополнительного кода, поскольку и Crashlytics, и Answers включены в SDK Fabric. Если ваше приложение разрешает регистрацию в Facebook, значит, в нем уже есть SDK, реализующий мобильную аналитику Facebook, поэтому вы можете использовать его.
Попробуйте комбинировать разные системы аналитики, но не перегружайте двоичный файл вашего приложения слишком большим количеством SDK.
Задокументируйте это
Наконец, параллельно с внедрением аналитики для своего приложения работайте над его документацией: записывайте, какие события и параметры вы отслеживаете и как вы это делаете. Для этого мы обычно используем файл Readme.md
, который хранится в основной папке проекта. Каждое событие описывается следующими данными:
- название события (например, «Регистрация пользователя»);
- при отслеживании (например, «При успешной регистрации нового пользователя»);
- параметры (например, «Email/String»);
- контроллер, в котором вызывается код отслеживания (например, «SignInController»).
Такие детали легко забыть, но они становятся критически важными, когда вы хотите изменить набор данных для отслеживания или когда вы хотите перейти на другую аналитическую платформу.
Подводя итоги
Ни одна аналитическая служба не идеальна; у каждого есть свои плюсы и минусы. При выборе необходимо взвесить такие факторы, как тип приложения, интерфейс панели аналитики, ваш бюджет и так далее. Возможно, вы даже захотите использовать нишевые решения, такие как игровая аналитика, созданная для анализа нелинейного взаимодействия с пользователем (например, GameAnalytics), или аналитика, ориентированная на разработчиков (например, Keen IO).
Мы обнаружили, что комбинация «Ответы» и «Амплитуда» отлично работает с «Что я ем» и обеспечивает всю необходимую аналитику для приложения. В то время как Answers бесплатен и показывает демографические данные и KPI приложений, Amplitude позволяет проводить более сложный поведенческий когортный анализ. Мы также отслеживаем сбои приложений с помощью Answers 'Fabric SDK.
Мы хотели бы услышать о наборе аналитических инструментов, который вы используете в своем мобильном приложении. Пожалуйста, поделитесь своими идеями в комментариях.