Многие компании оказались отрезаны от ключевых зарубежных инструментов. Это коснулось и стека, который red_mad_robot использует для решения задач, поставленных перед продуктовыми аналитиками. Данные — это основная валюта и главный артефакт в работе продуктового аналитика (PA). Поэтому очень важно правильно настроить их сбор и иметь под рукой удобные инструменты для анализа, визуализации, построения предиктивных моделей и т. д. Продуктовые аналитики red_mad_robot Валера Ройзен и Давид Тумасян подробно рассмотрели существующие инструменты, используемые в работе, и сравнили их по возможностям и функционалу, которым они «нафаршированы». А заодно рассказали, в чём заключается роль PA и какие задачи он решает — в том числе именно на проектах red_mad_robot. Это направление аналитики специализируется на изучении того, как пользователь взаимодействует с цифровыми продуктами. Чаще всего у product owner есть верхнеуровневое представление о фичах, о том, какие интеграции встроены в сервис, как работают пользовательские сценарии и что за ними стоит в плане бэкенда. Это представление транслируется через призму KPI и целей, поставленных перед продуктом. Но нужно погрузиться в мир данных, чтобы посчитать и спрогнозировать метрики, оценить сроки достижения целевых показателей и, в конце концов, «обуть пользовательские ботинки» и понять, насколько качественно продукт покрывает его потребности. Поэтому мы часто говорим о том, что продуктовый аналитик — это специалист на стыке бизнеса и дата-аналитики. Некий мостик между стейкхолдерами, целями продукта и данными, который собирает информацию о пользовательском опыте взаимодействия. red_mad_robot обеспечивает полный цикл создания цифровых продуктов: от проработки концепции до релиза и развития продукта на рынке. Отсюда потребность во внедрении систем аналитики. Сложившаяся ситуация с введением санкций и уходом западных компаний с российского рынка требует обходных путей и быстрых действий, чтобы налаженные процессы работы с данными не были нарушены. Наличие российских платформ от крупнейших отечественных ИТ-компаний. Использовать их в работе, на наш взгляд, — более стабильная перспектива. Потребность в эффективном использовании этих инструментов. Российские платформы изучены не так хорошо, как их зарубежные аналоги. Важно разграничить функционал каждой из систем аналитики и понять, для каких задач они пригодны и в чём их существенные различия. Для сравнения мы выбрали три системы продуктовой аналитики: MyTracker от VK, AppMetrica от «Яндекса» и Amplitude от Amplitude Inc. Выбор первых двух очевиден — это наиболее продвинутые инструменты от двух крупнейших IT-компаний России. Для нас в этом была определённая интрига: что из них лучше? Могут ли они хотя бы в чём-то конкурировать с зарубежными решениями? Amplitude мы выбрали потому, что это одна из самых известных систем аналитики на российском рынке. Несмотря на то что Heap и MixPanel близки к ней по функционалу, в России принято пользоваться Amplitude — вероятно, это во многом заслуга популярного курса по аналитике GoPractice от Олега Якубенко. В качестве критериев для сравнения систем аналитики мы решили выбрать задачи, которые нам приходится решать в рамках практики: построение графиков и визуализаций, их упаковка в дашборды и отчёты, трекинг кастомных событий, построение и анализ воронок, расчёт стандартных метрик и их кастомизация, анализ рекламных кампаний и маркетинговая аналитика, изучение пользователей и паттернов их поведения: портреты, когорты, сегменты, работа с сырыми данными. Поддержку проведения экспериментов мы из критериев исключили, потому что из рассматриваемых систем она поддерживается только в Amplitude. Но начнём мы сравнение систем не с сопоставления их функционала, а с более приземлённых вещей — тарифных планов. Зачастую это самый важный критерий для выбора инструмента. Игнорировать его было бы неправильно. Большая часть возможностей MyTracker доступна в бесплатной версии. Платный пакет включает в себя дополнительную фичу MyTracker Personalize — она содержит инструменты для подбора в реальном времени персонализированных предложений по товарам и цены на них. Ещё в платной версии к вашим проектам может подключиться персональный менеджер — он будет сопровождать вас в настройке и использовании системы аналитики наиболее эффективно. В бесплатной версии доступны построение простых графиков на основе кастомных событий, воронки, декомпозиция пользователей по их атрибутам, расчёт LTV, Retention, Stickiness и Lifecycle, а ещё — просмотр сессий пользователя. Платные тарифы довольно разные по цене. Начинаются от ≈$1500 в месяц и позволяют работать с декомпозицией путей пользователей (как отдельно, так и агрегированных по событиям), когортным анализом, построением портрета персон, а также дополнительными предиктивными опциями для Retention и других ключевых метрик. Весь функционал доступен бесплатно. Возможности строить дашборды нет. Есть так называемые оперативные отчёты (как в Firebase), которые система строит по умолчанию: аудитория и её социально-демографическая сегментация, сессии и их длительность, устройства. Их можно отображать в виде графиков либо табличных данных. Доступна выгрузка этих данных в .XLSX. Но сами графики недоступны для загрузки. Также в системе есть возможность сформировать набор данных («Конструктор отчётов») для дальнейшей выгрузки в .XLSX и .CSV. В этом случае доступна визуализация данных по конкретному измерению, но всё ещё без возможности сохранить или выгрузить график. Для отчётов есть достаточно широкий набор шаблонов, с помощью которых можно получить данные по стандартным вопросам и дополнительно — по метрикам фрода: По новым пользователям (доступны разрезы по типу трафика, географии, социально-демографическим характеристикам). По активной аудитории. Маркетинговые отчёты. Отчёты по монетизации. Данные по событиям и сессиям. Retention. Строить дашборды нельзя. Тут реализован предопределённый набор метрик и инструментов для продуктового анализа, распределённый по вкладкам. Пользователь может посмотреть такие метрики, как CAC (по партнерам/трекерам), Retention, Revenue, DAU/WAU/MAU. Доступны инструменты для визуализации когортного анализа, анализа in-app покупок пользователей, воронки. Реализован функционал для выгрузки визуализаций (.PNG и .CSV) и данных (в .CSV), на основе которых они строятся, а также API-запросы для доступа к графикам и данным. Есть возможность построения дашборда из абсолютно любых графиков. Графики подразделяются на следующие типы: Сегментация пользователей (в разрезе параметров пользователей / совершенных событий). Воронки с возможностью просмотра обходных путей. Retention, LTV. Линейные графики-сегментации по событиям. В платной версии — просмотр пользовательских путей (PathFinder), расчёт Stickiness фактора, персоны. Ещё можно выгрузить изображения графиков в форматах .PNG и .PDF. Можно собирать кастомные события как на мобильных платформах (Android, iOS), так и в Web, — и отдельно при использовании Flutty, Unity. Настройка SDK не вызывает у разработчиков каких-либо сложностей. Ограничение есть только одно — название события должно быть не больше 255 символов. Отдельно реализованы события для регистрации, авторизации, отправки приглашения и достижения уровня. По умолчанию SDK собирает такие данные: настройки и состояние SDK трекера, информацию о приложении: версию, идентификаторы, язык, информацию об устройстве: идентификаторы, модель, ОС, версию, язык, размер экрана, информацию о сети: оператор, тип соединения, WiFi, Bluetooth, местоположение устройства — только с согласия пользователя и если соответствующий запрос встроен в приложение, запуски приложения, данные по сессиям, встроенные покупки — только для iOS, для Android необходима настройка. Для трекинга доступны такие настройки: TrackingLaunchEnabled — отслеживание запусков приложения. LaunchTimeout — интервал в секундах, в течение которого не будет засчитываться новый запуск и прерываться сессия при сворачивании приложения. BufferingPeriod — интервал в секундах, в течение которого события будут накапливаться на устройстве перед отправкой на сервер. ForcingPeriod — интервал в секундах после установки или обновления приложения, в течение которого события будут незамедлительно отправляться на сервер без локальной буферизации. AutotrackingPurchaseEnabled — автоматическое отслеживание покупок в приложении. TrackingLocationEnabled — отслеживание местоположения пользователя. TrackingPreinstallEnabled — отслеживание предустановок. Region — регион, где расположен сервер сбора статистики. Есть настройка событий через разные SDK с мобильных платформ iOS и Android, устройств с Windows (мобильных и десктопа) и плагины для работы с Unity, React Native и Flutter. Ограничений на регистрируемые события нет. Возможна настройка кастомных событий, данные по которым будут собираться через разные SDK (помимо Web, Android, iOS, Flutter — их очень много). Есть ограничение на количество регистрируемых событий (десять миллионов в месяц на бесплатной версии). Система собирает тот же набор данных о пользователе и его устройстве, что и MyTracker. Инструмент User Look-Up позволяет проследить за сессиями пользователей в реальном времени, а перейдя на страницу конкретного пользователя, можно отследить хронологию событий по сессиям. Есть конструктор воронок с функционалом, близким к конструктору отчётов. Конструктор позволяет собрать воронку из последовательности системных и кастомных событий с учётом желаемых параметров и общих настроек: тип аудитории, проекты, приложения, период, время прохождения воронки. Есть возможность группировать пользователей по атрибутам (сведениям об операционной системе, параметрам устройства, социально-демографическим характеристикам, источнику трафика). Построенные воронки можно сохранять для регулярного автоматического обновления. Собранная воронка отрисовывается в виде диаграммы. Но данные в воронке и её визуализация недоступны для выгрузки. Конструктор позволяет указывать в качестве шагов не только единичные события и параметры к ним, но и наборы с условием «или». Из дополнительных проблем можно выделить ограниченный интерфейс: последовательность шагов нельзя менять местами никак иначе, кроме полной пересборки, — это увеличивает время работы с инструментом. Построение воронки в AppMetrica по принципу очень схоже с решением, предложенным в MyTracker. В качестве шагов воронки можно использовать как кастомные, так и встроенные системные события (deeplink, установки, запуски, покупки). Система позволяет собрать воронку, сохранить, редактировать и добавлять шаги, а также сопровождает её снизу таблицей данных, на основе которых воронка была построена. Данные можно сгруппировать по атрибутам пользователей, которые SDK собирает по умолчанию. Доступна опция просмотра воронки по конкретному сегменту пользователей, который тоже можно сохранить и использовать для других визуализаций. Единственный заметный недостаток — воронка может очень долго строиться либо не построиться вообще, если период исчисляется месяцами. Воронки в Amplitude строятся на основе кастомных событий. Есть разные степени строгости воронки (any/this/exact order), определяющие порядок и допущение иных событий, не указанных в воронке в пределах сценария. Можно увидеть конверсию и распределение времени прохождения воронки от начала до конца, а также динамику конверсии в нужном временном срезе. В Amplitude есть мощный инструментарий, позволяющий анализировать воронку. Нажимая на заштрихованные области на воронке, можно проследить пути утекших пользователей, а также выгрузить в формате .CSV их данные. Конструктор отчётов MyTracker позволяет настраивать: Разрезы. Показатели, которые увеличивают число строк отчёта, то есть детализируют или группируют статистику по дате событий, трекинг-ссылкам, странам и т. д. Базовые метрики по устройствам пользователей. Базовые метрики по авторизованным в приложении пользователям. Метрики по устройствам и пользователям могут быть следующими: Потоковые (Flow) — показатели за выбранный период отчёта. LifeTime (LT) — показатели за всё время жизни аудитории, появившейся в приложении в выбранный период отчёта. Current Attribution (CA) — показатели за выбранный период отчёта в разрезе актуальной атрибуции. Attribution Time (AT) — показатели за период с последней до следующей атрибуции по устройствам, атрибутированным в выбранный период отчёта. Доступны основные метрики: установки и повторные установки, CR, %, ARPU, показы, переходы, CTR, новые устройства/пользователи, регистрации, первые запуски, первые авторизации, активные пользователи (DAU/WAU/MAU), Retention и Churn. Кастомизация метрик — недавно реализованная фича, которая позволяет собирать отчёты, задавая собственные правила расчёта метрик. AppMetrica по умолчанию строит отчёты о Retention, User Acquisition, Revenue и аудитории с возможностью группировки по периодам времени и сегментации сессий и пользователей по событиям и параметрам. Функционала кастомизации метрик нет. В Amplitude существуют преднастроенные темплейты для расчёта LTV и Retention. LTV рассчитывается на основе кастомных событий, к которым прикреплены денежные параметры (со значком $). Amplitude предлагает пять параметров на выбор: $price — цена купленного товара или услуги; $productId — уникальный номер товара или услуги; $quantity — количество купленного товара или услуги (если не задано, по умолчанию = 1); $revenueType — тип дохода с продажи (налог, прибыль, возврат, сбор и т. д.); $eventProperties — иные параметры денежного события. Есть три принципа, по которым можно рассчитать метрику LTV: в виде общего дохода, в виде ARPU, в виде ARPPU. Retention — есть возможность задать инициализирующее событие (помечает первое взаимодействие пользователя с продуктом), а также событие, по которому происходит атрибуция возвращения. Есть два подхода к подсчёту возвращаемости: N-Day Retention — классическая коннотация возвращаемости на N-ый день после первого контакта с продуктом. Unbounded Retention — считается, что пользователь вернулся в определённый период, если он контактировал с продуктом ровно через N и более дней. Ещё можно варьировать дни-окна расчёта (пользователь считается вернувшимся в течение 24 часов — скользящее окно, либо строго в пределах текущих суток). Есть функционал отслеживания трафика и его (ре)атрибуции, поддержка Google, Apple Search Ads. Имеется полноценная поддержка трекинга TikTok и официальный статус партнёра. Есть умные ссылки для iOS. Можно создавать рекламные кампании, трекинг-ссылки, отправлять postback партнёрам, собирать переходы по deeplink. Также есть возможность S2S-интеграции. Возможности AppMetrica в части работы с маркетинговой аналитикой и рекламой аналогичны MyTracker. Есть отдельный функционал для трекинга с Google Ads, Apple Search Ads и TikTok. Реализована интеграция и с другими рекламными сетями. В Amplitude нет инструментов для работы с рекламными кампаниями. Как выход из ситуации, данные для маркетинговой аналитики и их анализа (источник трафика, рекламы) можно «зашить» в отсылаемые события. Но на практике это не всегда возможно — отсутствуют нужные для этого SDK. MyTracker предоставляет функционал для работы с сегментами и когортами пользователей в виде отдельного конструктора сегментов, который затем можно использовать при построении отчётов. Выделение сегментов можно производить по: социально-демографическим характеристикам пользователей, характеристикам устройств, маркетинговым данным, финансовым метрикам, пользовательской активности и кастомным событиям, fraud-данным (например, root/jailbreak-статусам устройства). В оперативных отчётах можно просматривать данные о Retention пользователей в сегментах по времени с разной детализацией: по часам, дням, неделям и месяцам. Функционала для работы с портретами пользователей нет. Функционал AppMetrica для когортного анализа и сегментирования аналогичен MyTracker. За исключением возможности строить и выгружать графики в рамках оперативных отчётов. Но в отличие от инструмента VK, здесь нет возможности сохранить построенный сегмент и использовать его для построения отчётов в дальнейшем. Для работы с портретами пользователей реализован отдельный функционал профиля пользователя. Профиль пользователя — это характеристика отдельного пользователя приложения, представленная набором атрибутов: имя, пол, возраст и т. д. AppMetrica позволяет собирать эту информацию и анализировать её в отчётах по профилям или использовать атрибуты профилей для сегментации других отчётов. В отчёт по профилям с помощью группировки собирается информация по: количеству пользователей с заданным значением атрибута, количеству дней, которое прошло с момента установки приложения, количеству дней, которое прошло с момента последнего запуска приложения, общему количеству сессий. Большая часть инструментов для исследования пользователей и их сегментации доступна только в платной версии. Декомпозиции (User Composition), доступные и в бесплатной, позволяют изучить структуру аудитории цифрового продукта по тем атрибутам, которые SDK автоматически аккумулирует в системе аналитики: операционная система, её версии, модели телефонов, оператор, страна — и конечно, параметрам событий. Все виды отчётов (кроме воронок) — оперативные отчёты, шаблоны, сегменты — можно выгружать с помощью веб-интерфейса в форматах .XLSX и .CSV. При большом объёме данные можно выгрузить только в .XLSX. Кроме того, доступна выгрузка данных с помощью API, для удобного использования которой есть готовая Python-библиотека. Сырые данные по нужным срезам (клики, установки, события, ошибки и т. д.) и полям-атрибутам пользователя можно экспортировать в файл либо облако, а также скопировать URL запроса для выгрузки их с помощью API. Экспорт данных, доступный в Amplitude, представляет собой таблицу, в которой содержатся Amplitude ID / User ID пользователя и его атрибуты. Недоступна выгрузка данных об интерфейсных событиях — как и в решениях от Яндекса и VK. Идея этой статьи родилась из собственного болезненного опыта — на некоторых проектах стало невозможно использовать Amplitude и другие зарубежные системы аналитики. Мы с большим скепсисом стали изучать решения, доступные на российском рынке. И оказалось, что они вполне аналогичны зарубежным инструментам. Безусловно, у них есть недостатки и некоторые ограничения в функционале, но значительную часть потребностей они покрывают, а в отдельных случаях даже превосходят возможности аналогов. Общий вывод: MyTracker и AppMetrica вполне достойные инструменты, сопоставимые по функционалу с Amplitude. Их можно смело использовать на проектах. Основной недостаток — невозможность строить кастомизированные дашборды.