Аналитика окупаемости продукта

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

Анализ конкурентов

Вся сквозная аналитика сводится к поиску ответа на вопрос: «какой канал лучше?». Простой вопрос, но для правильного ответа нужно ответить на множество других вопросов: сколько было переходов по каждому рекламному каналу, сколько было потрачено денег, сколько было реальный клиентов, какая по ним выручка, прибыль, ROI. Для этого нужно собирать точные данные 360: все звонки, данные с форм, обращения в чаты. По факту речь о воронке продаж, в которой учтено поведение пользователей до сайта, на сайте и после сайта.

На первых этапах нужно определить направления деятельности, анализировать конкурентов, собрать семантику и ее параметры, построить график роста трафика, оценку и прогноз прибыли от продвижения. Исторически для быстрого анализа конкурентов используют проверенные годами сервисы: similarweb, megaindex, spywords, trends.google.ru. Есть и более свежие, вроде radar. Эти сервисы позволяют решать достаточно интересные задачи, вроде отслеживания среднего процента отказов по переходам с вашего сайта на другой.

Далее идет сбор семантики, используем проверенные временем wordstat, и строим график роста продаж. Для оценки и прогноза прибыли без исторических данных зачастую подходит довольно поверхностная математика, на уровне: в сезон спрос 1 000 путевок в месяц, в не сезон 300 путевок в месяц, предсезонный период это 600 путевок. Закладываем конверсию в лид 6%, средний чек 1 700₽.

И отдельно ведем учет затрат на сотрудников в очень простом виде: Middle разработчик за 100 000 рублей на руки -> 147 300 рублей. Исходя из этих вводных уже можно сделать Forecast в Excel или Google Sheet, если у вас не 3 000 000 сессий в день. В идеале паралельно выводим динамику прибыли и накопительный итог.

Для определения наличия у потенциальных покупателей бюджета на покупку вашей услуги/товара используется подход BANT:

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

Если у вас не магазин, а сервис и его нужно монетизировать, то существует три основных способа монетизации: показ рекламы, как следствие низкий ARPU и раздражение аудитории. Магазин внутренней валюты: нужно заинтересовывать и сложно подбирать предложения. И персональные предложения, что мы и рассмотрим далее.

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

Считаем деньги

Вы не можете улучшить то, что не можете измерить. Ваша основная метрика для отслеживание эффективности вложенных средств это ROI (Return On Investment) = (доход — инвестиции) / инвестиции * 100%. Чем выше показатель, тем эффективнее рекламная кампания. Если ROI < 100%, то дело дрянь. Сделаю отступление: вы знаете актуальную стоимость пользователя только на определенный момент времени, когорты трафика не постоянны. Поэтому важно отслеживать ROI и в закупке трафика, и в продукте. Также лучше сразу научиться раскладывать ROI на мелкие метрики, и если ROI упала на 23%, то детализируем: стоимость 1 000 показов выросла на 13%, пользователи начали покупать более дешевые вещи, поэтому AOV упала на 7% и еще 3% это потери на уровне сужения воронки продаж.

Либо метрика ДРР (Доля Рекламных Расходов) = расходы на рекламу / прибыль с рекламы * 100%. Чем ниже показатель, тем эффективнее рекламная кампания. Выберите любую.

Теперь про юнит-экономику. Есть устоявшиеся концепции, в мобильных играх и приложениях юнит это новый пользователь. В SaaS за юнита считают заплатившего клиента. При этом отслеживание юнит-экономики вполне заменяется ROI (Return on Investment) или ROMI (Return on marketing investment), ROI = (LTV — CPA) / CPA. И счастье в CPA (цена за совершение определенного действия) < LTV (более (>), менее (<)), для многих специалистов основной KPI это увеличение LTV и снижение CPA. И LTV = ARPPU * среднее число покупок на пользователя, должно быть выше чем CPA.

CPM это метрика стоимости 1000 показов рекламного объявления. Хорошии CPM считается 2-3$ для мобильных игр, эту метрику либо измеряют 1 000 показами, либо делят на 1 000.

Работаем с аудиторией

Далее вам нужно будет улучшать интерфейс вашего магазина/сервиса/приложения/игры, так как нагнать пользователей это далеко не самое сложное. Для улучшения UX потребуется генерировать гипотезы, а также их тестировать с помощью CustDev, прототипов, интервью, анализа количественных и качественных данных, A/B тестов, MVP функционала.

Все описанное выше плавно подводит нас к вопросу об актуальном отчете 24/7, или сквозной аналитике. Не трудно догадаться, что если вы получаете актуальный отчет раз в неделю, то вы принимаете решения с опозданием на неделю и теряете деньги. Как и A/B тесты, каждый такой тест стоит денег, нужно уметь автоматически закрывать тесты сразу в момент накопления нужного количества данных. Работающий тест это убыток, Байес вам поможет.

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

И LTV. В классическом понимании LTV (Lifetime Value) – сколько один пользователь принесет валовой прибыли за все время использования продукта/сервиса. Красивое определение, которое сложно применить на практике. Обычно LTV считают на какой-то месяц с момента прихода пользователя. Многие бизнесы живут на повторные продажи, особенно крупные ритейлеры. Всегда идет деление на первичные и повторные продажи, все карты лояльности супермаркетов это не более, чем способ окупить клиента за счет конверсии во вторую/третью/десятую покупки. Простое правило: отслеживаем CPA и LTV.

Подсчитать затраты на привлечение пользователя просто: берем затраты на привлечение когорты пользователей, делим это значение на количество пользователей в когорте и получаем CPA (Cost per Acquisition). Пример: потратили 600 000$ / 365 987 пользователей = CPA 1,639.

Сколько заработали на пользователе: берем эту же когорту пользователей и считаем, сколько эта когорта потенциально принесет денег. Для этого надо подсчитать валовую прибыль (gross profit) от этой когорты в будущем. Поделить значение из первого пункта на количество пользователей в когорте и получить LTV пользователя.

И тут можно долго рассуждать на тему, что LTV надо считать от валовой прибыли (Gross Profit) а не от дохода (Revenue). Но прибыль в GA мы не видим, только выручку. Валовая прибыль это разница между выручкой и себестоимостью реализованной продукции или услуги. Закупили за 790 000$ — продали за 1 234 427$ = 444 427$ наша валовая прибыль.

Если описанное выше вас пугает, то вот простой рецепт: разделите аудиторию на 3-4 сегмента, запустите за 1 500₽ на каждый сегмент. Посмотрите, какие сегменты не дали конверсий и больше не лейте туда денег. Если конверсии были в плюс, льете туда больше денег. Если конверсии в минус или в ноль, делаете более детальную сегментацию и опять запуск с 1 500₽. В процессе собираете аудиторию look-a-like.

Системы

Следующий важный критерий это продажи: выручка, прибыль и ROI (сколько реально денег заработали). Эти данные обычно хранятся в CRM. CRM бывают разные и содержат множество полезной информации и важных функций, вроде автоматизации обзвона клиентов, обработки лидов, хранения всей истории взаимодействия клиента с бизнесом, хранения данных клиентов. У любой нормальной CRM есть API, а популярные amoCRM, retailCRM, Битрикс 24, Pipedrive позволяют работать с сущностями, такими как сделка, лид, контакт, компания, заказ, на основе которых строится сквозная аналитика. Технически это выглядит примерно так: в CRM падают данные о заказах + ga_clientID и userID, далее менеджер ручками добавляет выручку по пользователю в CRM. Настроенная телефония с интеграцией в CRM позволяет менеджеру в момент звонка видеть ранние обращения клиента.

В CRM также можно прослушивать записи звонков менеджеров и анализировать, как менеджеры общаются с клиентом. Помимо контроля за качеством работы менеджеров, можно выцеплять нишевые ключевые слова. А еще можно анализировать пропущенные звонки и корректировать график работы службы поддержки.

Про интеграции: между Adwords и GA есть нативная интеграция, но загрузка в GA расходов из Yandex, VK, Facebook, Mail.ru импортируется ручками через автоматические потоки. Далее можно пробрасывать в CRM нужный ga_clientID и коннекторами загружать данные с UTM-метками из рекламных источников в отдельную базу данных. Рекламных источников будет много, обычно это Яндекс.Директ, Яндекс.Маркет, Google Ads, Google Merchant Center, Facebook, VK, Criteo.

Еще один важный шаг сквозной аналитики это Calltracking. Не каждый звонок является лидом. Звонки могут быть от текущих клиентов насчет технических проблем или обычный спам, такая проблема решается тэгированием. Менеджер ручками проставляет тэг в CRM, был ли звонок спамом или лидом.

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

Разберем кейс: на сайте пользователь видит номер телефона, звонит -> звонок моментально заводится в CRM с датой звонка, ID, номером телефона, и userID/ga_clientID от динамического коллтрекинга. По этим данным лид сопоставляется с другими каналами, менеджер руками закрывает сделку, и мы получаем выручку по клиенту. На некоторых сайтах (особенно у автодиллеров) можно заметить, что телефон закрыт глазиком. Это бюджетная реализация динамического коллтрекинга, позволяет экономить на генерации e-mail адресов и телефонов для каждого пользователя. С точки зрения UX очень спорное решение, но Data Driven Design иногда требует жертв.

Конверсии

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

Учет мультиканальности в сквозной аналитике это серьезная история с моделями атрибуции. Допустим, клиент хочет купить себе кондиционер, вводит поисковый запрос и кликает на объявление в Яндекс.Директ, делая переход на наш магазин. Принимает решения о марке кондиционера и уходит с сайта. Спустя неделю клиента догнала реклама этого кондиционера в нашем магазине, клиент делает переход по рекламе и опять уходит с сайта, возвращается из простого органического поиска. Итак: сначала Яндекс.Директ, потом реклама в Facebook, потом Google Organic, и все эти каналы вместе повлекли продажу (первый позволил выбрать брэнд, второй подогрел интерес к покупке и третий привел к конверсии). Это и называется мультиканальностью, учет всех касаний сайта до покупки.

Веселье начинается при выборе модели атрибуции, по которой продажа будет присвоена определенному каналу. По умолчанию, счетчики Google Analytics и Yandex.Metrics строят отчеты на основе последнего взаимодействия с сайтом, это самая распространенная модель атрибуции, но не самая лучшая. Last Click это зло, она не позволяет измерить окупаемость рекламных каналов с учетом предыдущих точек взаимодействия клиента с бизнесом. Другая модель атрибуции, last non-direct click (последнее непрямое взаимодействие), отдает конверсию последнему не прямому каналу, игнорируя все прямые визиты. Также есть модель атрибуции «первое взаимодействие», конверсия отдается первому визиту на сайт, а первое касание обычно самое дорогое.

В Google Analytics есть отчет «многоканальные последовательности». Он наглядно показывает касания сайта до совершения конверсии. В Я.Метрике это можно сделать через LogsAPI. И лайфхак: для определения источника трафика иногда нужно игнорировать utm-метку, если реклама запущена на Facebook, а в метке прописан Google.

Многоканальные последовательности в GA

Можно повеселиться и с ассоциированными конверсиями. Это подход к учету мультикональности, для определения каналов в начале, середине и конце воронки взаимодействия с сайтом до достижения цели. Используется для отслеживания ROI каналов, которые по обычной модели атрибуции убыточные. Например, UShape модель атрибуции, по которой первому и последнему каналу отдается по 40% веса, а остальной вес распределится равномерно по оставшимся касаниям сайта. Либо более простая линейная модель: равномерное распределение весов между всеми каналами.

Выбор модели атрибуции очень сильно сказывается на аналитике, так как в результате будет разная выручка и прибыль, ROI, даже кол-во заказов. Поэтому по мере роста бизнеса должна выработаться своя модель динамической атрибуции, которая строится ручками из того же bigQuery, с учетом времени и расстояния между касаниями или времени, проведенного на сайте. Стриминг данных в BigQuery или экспорт из GA 360. Тогда не будет семплирования до хита. Но брать сырые данные о действиях пользователя и самостоятельно собирать в сеансы задача уровня Senior.

Инструменты

Почти всю статью я приводил в пример инструменты GA, так как почти наверняка у вас уже установлен счетчик и есть исторические данные. Но вот вам плохое: Я.метрика и Google Analytics не очень хороши при построении аналитики до момента продажи. Метрика не позволяет правильно пробросить информацию о затратах по всем рекламным каналам, а в Google Analytics сложно пробрасывать данные из CRM-системы. Есть Measurement Protocol и он справляется с задачей закидывания данных в GA, но в случае возврата товара это изменение придется вносить руками. Не говоря уже об отсутствии Calltracking и сэмплировании.

Придется научиться объединять данные в единую сводную таблицу и визуализировать. Это довольно просто, данные представляют из себя комбинацию параметров визита и «хитов» (транзакции, события). Все это выгружается в Excel, Power BI, Data studio, или BigQuery/Azure + комбинации этих систем. Выбираете хранилище данных, куда будут складываться информация со всех рекламных каналов (CRM + счетчики + Calltracking), далее строите отчеты и показываете их руководству. Идея в анализе данных на стороне сервисов вроде Power BI, Tableau, Adobe Analytics, и хранении данных во всяких BigQuery, ClickHouse, Spreadsheet, Excel.

Обычных воронок продаж вам будет недостаточно, поведение юзеров непоследовательное, с кучей возвратов и перебежек между страницами и платформами. Воронка это визуализация развития клиента: привлечение -> активация -> retention -> реферальный этап -> revenue, и каждый этап имеет свои метрики (открытие email, повторный заход, сгенерирован минимальный revenue). Классическая воронка из GA не отображает ничего из перечисленного. Вам нужна система, в которой можно построить граф последовательности использования фич. На графах можно видеть зацикленный сценарий работы пользователя из-за плохого UX (пользователь делает круг по фичам и закрываем приложение), проведенное на каждом этапе время. Также, графы лучше позволяют отследить отвалившихся пользователей, их можно сегментировать и отдать на качественные исследования. Я делаю графы в RStudio + igraph, networkX для анализа.

Типичная пошаговая воронка продаж

Резюмируя, у вас в итоге должно сложиться нечто похожее на такой пайплайн: для построения сквозной аналитики вам нужны источники данных, и их должно быть минимум два, CRM и Google Analytics. Для проверки стоимости лида: из Яндекс.Директ идут UTM-метки, по выбранной модели атрибуции продажа присваивается последнему не прямому трафику. Все это идет на экспорт данных в BigQuery, на свой SQL Server или в ClickHouse. Далее визуализация, у ClickHouse даже есть свой внутренний визуализатор. Вполне возможна цепочка для реалтаймовой аналитики Azure/Unity/AWS/AppsFlyer -> Kafka/Alooma -> BigQuery -> Дашбордик. Составьте такой план и начинайте реализовывать.

8 комментариев

  1. Maksims Hamzin

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

    • Цветков Максим (Author)

      В GA после загрузки страницы на сервер Гугла отправляется хит pageview. Так и строится метрика Time on page, это время на странице по разным pageview между хитами, кроме последней страницы. Конец сессии это последний отправленный хит. Если у вас более 500 000 сессий, то будет сэмплирование.

      По умолчанию 30 минут, но можно настроить. Если в рамках такого сеанса одинаковая цель была достигнута несколько раз, то будет засчитано только одно достижение. Лучше цели делать на эвентах.

      У Метрики аналогично, хиты pageview отправляются на сервер Яндекса на каждую загрузку страницы. Проверьте правильность установки счетчика: http://ваш_сайт.com/?_ym_debug=1 и откройте консоль, должны увидеть номер счетчика и отправляемые данные. Если отправлено несколько pageview, то может быть продублирован код счетчика.

      Источник «не определено» это либо много роботов, либо блок кода счетчика.

  2. Алексей

    Здравствуйте, отличная статья!
    У нас нет GA360, можно ли имеющиеся данные выгружать в BigQuery?

    • Цветков Максим (Author)

      Проксирование трафика через выделенный сервер в GTM, если нужно получать только новые данные.
      Если речь про исторические данные, то Python c авторизацией по JSON и на крон. Можно упереться в лимиты обращений.

  3. Alex Pirks

    Скажите, а метрика умеет показывать ключевые слова, по которым пользователь перешел из органики гугла?

    • Цветков Максим (Author)

      Метрика не умеет показывать поисковые фразы, по которым был переход с гугла (если вы об этом). Никто не может определить поисковые переходы из Google, кроме самого Google. Можно установить код Google Analytics, добавить сайт в Search Console и указать их в разделе «Администратор»-«Все продукты», тогда в отчете «запросы» вы будете видеть нужную информацию.

  4. Artyom Volkov

    Добрый день! Делаю рекламу в директе, и по прогнозу у меня одна цена. Но по результату цена получается совсем другой, сильно больше прогнозируемой. Я не особо умею настраивать рекламу, но почему цена прогноза так отличается от реальной?

    • Цветков Максим (Author)

      Надо смотреть на стоимость вашего товара, с маленьким медианным чеком и низкой наценкой в директ лучше не лезть. Чехольчики рекламировать надо уметь, это всегда низкочастотные запросы с минус словами. Покапайте в сторону CTR, если он ниже чем у конкурентов, то вам будут поднимать цену. У меня медианно цена клика 25₽ в РСЯ. И концептуально, директ будет выталкивать наверх те объявления, на которые кликают чаще и дороже, а так как при старте компании вы будете поначалу без среднего значения, то вы чаще будете попадать на дорогие клики.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.