Руководство по аналитике для основателя стартапа / Хабр

Руководство по аналитике для основателя стартапа / Хабр Аналитика

Стадия основания

(От 0 до 10 сотрудников)

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

Во-первых: почему вам стоит меня послушать?

Я почти двадцать лет проработал в аналитике. Я видел много успешных кейсов, но гораздо больше было неудачных. В начале своей карьеры я внедрял устаревший BI для предприятий (эх). С 2009-2021-го я построил первую аналитику в Squarespace и поднял крупный раунд при помощи этих данных.

Теперь я помогаю руководителям стартапов внедрять аналитику, будучи генеральным директором и основателем Fishtown Analytics. В Fishtown мы начинаем работать с компаниями, после того, как они поднимают раунд A, и помогаем им по мере их роста выстраивать свою аналитику.

Я пошагово объясню, как нужно делать аналитику на каждой стадии вашего стартапа. Мои рекомендации для каждой стадии помогут ответить на вопрос: «Каков абсолютный минимум, которым я могу обойтись?». Мы здесь не для того, чтобы строить воздушные замки; нам нужны самые дешёвые решения.

Давайте начнём.

Что делать

  • Реализуйте надежный процесс моделирования данных на основе SQL. Ваши модели данных служат основной бизнес-логикой для вашей аналитики и должны использоваться во всех случаях — от BI до data science. Убедитесь, что ваш процесс позволяет всем пользователям вносить изменения в скрипты моделирования данных, версионируется и запускается в прозрачной среде. Мы поддерживаем продукт с открытым исходным кодом, называемый dbt, который используется многими компаниями в стадии роста именно для этого.
  • Мигрируйте из существующих систем веб-аналитики и отслеживания событий вSnowplow Analytics. Snowplow делает всё, что делают платные инструменты, но это продукт с открытым исходным кодом. Вы можете либо хостить его самостоятельно (и просто оплачивать расходы на свои экземпляры EC2), либо платить за размещение сборщика событий в Snowplow или Fivetran. Если вы не сделаете переход на этом этапе, вам не удастся собрать гораздо более подробные данные, и приготовьтесь к реально огромным счетам из Segment, Heap или Mixpanel в ближайшем будущем. Когда вы пройдёте этот этап, платные инструменты могут с лёгкостью брать с вас по 10 000 долларов в месяц.
  • Развивайте свою команду вдумчиво. Ядром вашей команды всегда должны быть бизнес-аналитики: люди, которые являются экспертами в SQL и вашем инструменте BI, и тратят своё время на работу с бизнес-пользователями, чтобы помогать им получать данные. Невероятно важно выяснить, каков профиль этих людей, как их обучать и экипировать. Вы также должны нанять своего первого data scientist-а на этом этапе. Важно собрать вашу инфраструктуру данных и основную команду аналитики до найма опытных (и дорогих) талантов в области науки о данных, но в какой-то момент вы должны будете добавить и эти навыки.
  • Начинайте выборочно решать некоторые проблемы прогнозирования. Прогнозирование сложнее, чем просто вычисление количеств и сумм, но есть несколько ключевых областей, в которые имеет смысл начать погружаться. Если вы работаете в SaaS, вы должны работать над моделью прогнозирования оттока. Если вы занимаетесь электронной коммерцией, вам совершенно необходимо работать над моделью прогнозирования спроса. Эти модели, возможно, не будут супер сложными, но они будут большим улучшением по сравнению со случайными числами в Excel-таблице, которую соорудил кто-то из финансового отдела.
  • Потратьте время и силы, чтобы разобраться с маркетинговой атрибуцией. Про это можно написать отдельный пост, но достаточно сказать, что вы просто не можете доверить эту критическую бизнес-задачу третьей стороне.

Вы пионер

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

Если вы возьмёте все рекомендации в этом посте, вы будете буквально одной из самых эффективных организаций аналитики в мире. Неплохое конкурентное преимущество.

Настройка целей в google analytics 4

В этом материале разберем настройку самых распространенных целей для веб-сайтов в Google Analytics 4.

В своем блоге я уже сделал 7 публикаций на тему событий и конверсий в GA4, я также выпустил одно методическое пособие на эту тему. Скачать его можно здесь. Если вам удобнее читать статьи на сайте, то рекомендую:

Теперь давайте с вами практически настроим самые стандартные, базовые цели для Google Analytics 4. Это:

  • посещение страницы по определенному URL-адресу (на примере страницы благодарности);
  • клик по кнопке;
  • отправка формы;
  • клик по e-mail;
  • клик по номеру телефона;
  • скачивание файлов.

Все эти цели я буду настраивать на своем тестовом сайте graphanalytics.ru как с помощью специального кода, добавленного на конкретный элемент, так и благодаря Google Tag Manager. Но обо всем по порядку.

Отслеживание посещения страницы по определенному URL-адресу

После заполнения формы пользователя перенаправляет на страницу graphanalytics.ru/thank-you.html

В Google Analytics 4 по умолчанию после установки счетчика на сайте фиксируется событие page_view (просмотр страницы). Но оно срабатывает каждый раз, когда загружается страница. Нам же необходимо настроить событие (а затем конверсию) только для конкретной страницы thank-you.html.

Для этого создайте новое событие через События – Создать событие:

В появившемся окне нажмите кнопку Создать. На следующем шаге введите имя нового события. Оно может быть любым. Я рекомендую в названии передавать смысл данного события. Например, для моей страницы я назову событие spasibo.

Дополнительный анализ:  Биржевой маклер | Азбука трейдера

Событие, на основе которого мы будем создавать новое – это как раз page_view (просмотр страницы). Поскольку нам нужно фиксировать событие на конкретной странице, то нам нужно конкретизировать условие и добавить дополнительный параметр page_location (URL-адрес текущей страницы, который извлекается из location.href). В результат получится:

  • event_name равно page_view
  • page_location содержит thank-you

Сохраните новое событие. Как только пользователь совершит переход к странице graphanalytics.ru/thank-you.html сработает новое событие spasibo, из которого можно создать конверсию, а потом импортировать ее в Google Рекламу. Проверить срабатывания события можно также с помощью отчета В реальном времени и инструмента DebugView.

Отслеживание клика по кнопке

Теперь передадим в GA4 событие, которое будет срабатывать в результате клика по кнопке.

Зеленую кнопку (№1) настроим самостоятельно, добавив вышеописанную конструкцию события через код сайта, а клик по синей кнопке (№2) отследим с помощью Google Tag Manager.

№1. Зеленая кнопка

Для отслеживания клика по зеленой кнопке нам необходимо:

  • найти нужный элемент на странице;
  • вручную добавить к нему дополнительный код события.

Чтобы найти нужный элемент, воспользуемся консолью разработчика и проинспектируем зеленую кнопку:

Код зеленой кнопки найден. Сюда необходимо вставить конструкцию события для передачи данных в Google Analytics 4. Ее мы уже знаем. Осталось определиться с тем, хотим ли мы передать что-то дополнительно, в параметрах события. В качестве примера давайте отправим с событием 3 параметра и дадим им собственные названия и значения:

  1. на какой странице было совершено событие (параметр stranica, а значение glavnaya);
  2. по какому элементу был осуществлен клик (параметр component, а значение knopka);
  3. какого цвета был элемент (параметр zvet, а значение zelenyy);

А название события по зеленой кнопке обозначим как buttonClick1. В результате мы получим конструкцию такого вида:

Добавляем эту конструкцию в код кнопки с событием onclick, поскольку именно оно возникает при щелчке левой кнопкой мыши на элементе, к которому добавлен атрибут. Получим:

Сохраняем изменения. На этом все. Проверить корректность передачи данных можно также с помощью:

  1. отчета В реальном времени;
  2. DebugView;
  3. расширения для браузера Google Chrome Google Analytics Debugger или его аналога.

Я воспользуюсь вторым способом и проверю через DebugView, предварительно совершив несколько кликов по зеленой кнопке.

На временной шкале отобразилось событие с моим названием buttonClick1, которое зафиксировалось 2 раза. Нажав на название события в списке основных событий, можно провалиться внутрь события и посмотреть всего его параметры:

Как видно на скриншоте, все 3 параметра с моими установленными значениями передались в Google Analytics 4 корректно.

№2. Синяя кнопка

Теперь сделаем тоже самое, только с помощью Google Tag Manager и для синей кнопки. Для ее отслеживания необходимо:

  • создать триггер на клик по элементу с условием активации для синей кнопки;
  • создать тег типа Google Аналитика: событие GA 4 с названием события и 3 нашими параметрами.

Для синей кнопки:

  1. на какой странице было совершено событие (параметр stranica, а значение glavnaya);
  2. по какому элементу был осуществлен клик (параметр component, а значение knopka);
  3. какого цвета был элемент (параметр zvet, а значение sinyaya);

А название события обозначим как buttonClick2. С учетом наших данных, которые мы установили для клика по кнопке, получим такой тег типа Google Аналитика: событие GA 4:

Триггер активации – Клик – Все элементы с условием активации для синей кнопки. Сохраняем изменения.

Чтобы проверить корректность передачи данных в GTM можно воспользоваться режимом предварительного просмотра.

Тег Google Аналитика: событие GA 4 на триггер Click сработал, в деталях отображена подробная статистика по передаваемым данным. Возвращаемся в Google Analytics 4 и проверяем через DebugView.

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

Описанным выше способом можно передавать события со своим названием и несколькими параметрами с помощью прямого добавления кода на сайт на отслеживаемый элемент кнопки, а также через диспетчер тегов Google.

Отслеживание отправки формы

На сайте graphanalytics.ru есть форма, которую требуется отслеживать:

Для этого необходимо:

  • найти нужный элемент на странице;
  • вручную добавить к нему дополнительный код события.

Так же, как и с кнопками, проинспектируйте элемент с помощью консоли разработчика:

В тег <form> необходимо вставить конструкцию события об отправки формы для передачи данных в Google Analytics 4. Ее мы уже знаем. Осталось определить название события и параметры, которые мы будем передавать с этим событием и их значения. В качестве примера давайте отправим с событием два параметра:

Добавляем эту конструкцию в код формы с событием 

onsubmit

, поскольку именно оно срабатывает при отправке формы.

Получим:

Cохраняем изменения. После этого необходимо проверить корректность передачи данных в Google Analytics 4. Теперь я буду использовать не DebugView, а специальное расширение для Google Chrome, которое называется GTM/GA Debug. В нем очень удобно смотреть передаваемые хиты в Google Analytics на соответствующей вкладке. После отправки тестовой заявки в консоли разработчика отобразится информация по совершенным событиям в GA4:

Теперь настроим тоже самое отслеживание отправки формы, только с помощью Google Tag Manager. Для этого необходимо:

  • создать триггер типа Отправка формы;
  • создать тег типа Google Аналитика: событие GA 4.

Название события и передаваемые параметры оставим теми же, только вместо значения второго параметра graphanalytics.ru я подставлю встроенную переменную {{Page Hostname}}.

С учетом наших данных, которые мы установили для отправки формы, получим такой тег:

Триггер активации – Отправка формы. Сохраняем изменения. Чтобы проверить корректность передачи данных в GTM можно воспользоваться режимом отладки.

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

Дополнительный анализ:  Внешний вид: Ксения Тишкевич, бизнес-аналитик

Отслеживание клика по e-mail

В подвале сайта размещена электронная почта с активной ссылкой:

По клику на нее запускается почтовая программа, установленная по умолчанию на компьютере пользователя. Для отслеживания клика по e-mail выполняем те же самые действия – находим элемент и на него вешаем дополнительный код события. В самом простом виде можно даже без параметров:

Добавляем эту конструкцию в атрибут href с событием onclick, поскольку именно оно возникает при щелчке левой кнопкой мыши на элементе, к которому добавлен атрибут, и переход в почтовый мессенджер. Получим:

Сохраняем изменения. На этом все. Проверить корректность передачи данных можно также с помощью инструмента DebugView. Кликнув по e-mail, на шкале событий должно отобразиться ваше событие. У меня это clickEmail:

Теперь сделаем тоже самое, только с помощью Google Tag Manager. Самое важное – это задать правильный триггер активации. Наиболее простым и распространенным вариантом является выбор триггера Клик – Только ссылки с условием Click URL содержит mailto:

На завершающем шаге создайте тег типа Google Аналитика: событие GA 4 с названием события (в примере я буду использовать clickEmail2, чтобы оно было отлично от предыдущего):

Триггер активации – Клик по e-mail. Сохраняем изменения и проверяем с помощью DebugView:

Отслеживание клика по номеру телефона

Все аналогично. В подвале сайта (а на некоторых сайтах в нескольких местах, в том числе и в шапке) размещен номер телефона с активной ссылкой:

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

Для отслеживания клика по телефону выполняем те же самые действия – находим элемент и на него вешаем дополнительный код события. В самом простом виде без параметров:

Добавляем эту конструкцию в атрибут href с событием onclick, поскольку именно оно возникает при щелчке левой кнопкой мыши на элементе, к которому добавлен атрибут, и дальнейший вызов. Получим:

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

В Google Tag Manager можно скопировать предыдущий триггер для e-mail и поменять условие на Click URL содержит tel:

И скопировать тег, заменив название события (в примере я буду использовать clickPhone2, чтобы оно было отлично от предыдущего) и триггер активации:

Триггер активации – Клик по телефону. Сохраняем изменения и проверяем с помощью отчета в реальном времени:

Через некоторое время все события будут доступны в отчете События, из которых потом можно сделать конверсии (подробнее ниже).

Отслеживание скачивания файлов

В Universal Analytics ранее не существовало функционала, который позволял бы легко отслеживать скачиваемые с вашего сайта файлы (в Яндекс.Метрике такая настройка есть по умолчанию). Для этого необходимо было размечать каждую ссылку соответствующим кодом события, либо же использовать Google Tag Manager и настраивать по такой инструкции.

С появлением улучшенной статистики в Google Analytics 4 все отслеживается автоматически после активации настройки. Теперь нет необходимости использовать настройку через Google Tag Manager, о которой я писал в этой статье.

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

  • документ;
  • текст;
  • исполняемый файл;
  • презентация;
  • сжатый файл;
  • видео;
  • аудио.

Расширения файлов, которые отслеживаются по умолчанию, соответствуют такому регулярному выражению:

После активации в событиях file_download фиксируются дополнительные параметры:

  • file_extension – расширение файла;
  • file_name – имя файла;
  • link_classes – класс ссылки;
  • link_domain – домен ссылки;
  • link_id – идентификатор ссылки;
  • link_text – текст ссылки;
  • link_url – полный URL-адрес скачиваемого файла.

Предположим, что мы хотим отслеживать отдельно скачивание файлов формата .pdf, а не все расширения подряд. Как быть в этом случае? Очень просто:

1. в настройках Google Analytics 4 включить отслеживание улучшенной статистики;

2. использовать параметры событий, которые передаются вместе с событием file_download. Нам будет достаточно file_extension. Оно отвечает за расширение файла.

Чтобы отследить скачивание файлов только .pdf, создайте новое событие на основе существующего через События – Создать событие:

В появившемся окне нажмите кнопку Создать. Введите название пользовательского события (пример – downloadPDF), а в качестве условий совпадения добавьте параметр event_name равно file_download (название параметра) и параметр события file_extension содержит pdf, чтобы отслеживать только скачивания файлов формата .pdf.

Сохраните новое событие. На этом настройка всех событий завершена.

Помимо скачивания файлов, улучшенная статистика в GA4 позволяет автоматически регистрировать такие события, как: прокрутка (глубина скроллинга), отслеживание исходящих ссылок, поиск по сайту и взаимодействие с видео (YouTube).

Данные в Google Analytics 4 могут доходить с задержкой до 24 часов. На заключительном шаге из событий следует настроить события-конверсии (цели). Если вы готовы подождать, то просто вернитесь к этому пункту через некоторое время, когда пользователи на вашем сайте совершат настроенные события. В разделе События – События из представленного списка событий с помощью переключателя отметьте те события, которые вы хотите отслеживать как конверсии:

Если вы не желаете ждать это время и хотите создать конверсию, которой еще нет в GA4, вы можете перейти в раздел События – Конверсии и Создать событие-конверсию.

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

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

  1. не успеть отметить какое-либо событие как конверсию (они могут начаться собираться до того, как вы переключите ползунок на ВКЛ., и вы просто потеряете часть данных по конверсиям);
  2. неверно с_атрибуцировать конверсии, поскольку согласно п.1 не успеете их все отследить.
Дополнительный анализ:  Эфириум (Криптовалюта) — TradingView

Все! На этом настройка целей в Google Analytics 4 завершена. Теперь вы можете импортировать конверсии из ресурса Google Analytics (GA4) в аккаунт Google Рекламы с помощью этой инструкции.

От переводчика

Жаль, что я наткнулся на этот пост только сейчас, когда Тристан упомянул его в своей совершенно замечательной еженедельной рассылке по аналитике и data science (срочно подписывайтесь, он там отбирает самые сочные из недавних статей и постов по теме).

Последние 16 месяцев я фактически провожу в Skyeng как раз те изменения, которые тут описаны. Когда я пришёл в компанию в октябре 2021-го, мне пришлось собирать data warehouse, строить инфраструктуру данных, организовывать единый доступ к данным для всей компании.

Затем я собрал распределенную команду из SQL-аналитиков, прикреплённых к различным бизнес-юнитам, настроил коммуникацию между ними, процессы code review и шаринга результатов. Сейчас у нас 20 аналитиков, помимо меня, и я выстраиваю децентрализованную схему управления этой структурой.

Спасибо Тристану, сейчас я вижу, что двигался в правильном направлении и не наступил на большинство граблей.

Очень ранняя стадия

(От 10 до 20 человек)

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

Примечания

1. Про облачный ETL из коробки при помощи Stitch можно подробнее почитать в моей статье на Хабре.

2. Я последние 2 года работаю с Redash — он на порядок дешевле Mode и покрывает почти все кейсы, кроме разве что python notebooks. Looker, к сожалению, официально не работает с компаниями из России.

3. Singer — это простой фреймворк от создателей Stitch с открытым исходным кодом, который позволяет писать кастомные коннекторы к источникам данных на python. Например, мы сделали при помощи него свой коннектор к Typeform, чтобы перманентно собирать результаты опросов пользователей.

4. Мы в Skyeng пока не доросли до правильного code review аналитики при помощи пул-реквестов, но я написал простой скрипт, который забирает из Redash все новые SQL-запросы, кладёт в master, назначает ревьюера и делает пост об этом в Slack. Так мы не теряем в скорости, но получаем стабильно работающий процесс review пост-фактум по горячим следам.

5. Книга вышла в 2021-м году на русском под названием Аналитическая культура.От сбора данных до бизнес-результатов.

Ранняя стадия

(От 20 до 50 сотрудников)

Именно тут всё становится интересным, а изменения за последние два года — очевидными. Как только вы поднимете свой раунд A и у вас будет 20 сотрудников, у вас появятся новые возможности.

Эти возможности обусловлены одной штукой: технологии в аналитике быстро улучшаются. Инфраструктура такого рода, как сейчас, раньше была доступна только крупным компаниям. Её преимущества? Более надежные показатели, большая гибкость и более подходящая платформа для будущего роста.

Это самый сложный и наиболее важный этап: многообещающий, если вы всё сделаете правильно, но болезненный, если неправильно.

Средняя стадия

(От 50 до 150 человек)

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

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

Стадия роста

(От 150 до 500 сотрудников)

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

К моменту, когда у вас будет 150 сотрудников, вероятно, из них только небольшая команда (3-6 человек) будет заниматься исключительно аналитикой. К тому времени, когда у вас будет 500 сотрудников, таких легко может стать 30 и больше. 3-6 аналитиков могут действовать довольно бессистемно, обмениваясь знаниями (и кодом) неформальным образом. К тому моменту, когда у вас будет 8 аналитиков, процесс начнёт очень быстро разваливаться.

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

Чего не делать

  • Если машинное обучение не является основной частью вашего продукта, пока не нанимайте data scientist-а. Для создания вашей аналитической команды вам нужен универсал, а не узкий специалист.
  • Во имя всего святого, не пишите свой собственный ETL. Вы потратите на разработку кучу времени. Купите готовые решения от Stitch или Fivetran.
  • Не используйте никакой другой инструмент BI, кроме двух упомянутых выше. Иначе это обернётся вам потом большими тратами.
  • Не пытайтесь обойтись более традиционной базой данных, типа Postgres, в качестве вашего хранилища данных. Она не намного дешевле, и вы потратите кучу времени, чтобы мигрировать с неё позже, когда исчерпаются её возможности. Postgres не масштабируется так же хорошо, как настоящее хранилище данных.
Оцените статью
Аналитик-эксперт
Добавить комментарий