Как настроить сквозную маркетинговую аналитику в режиме self-service (аналитики самообслуживания)

53808b14cf534c733b18e2581f997443.png

Наше подразделение Agima.ai занимается проектами в области машинного обучения и анализа данных. В аналитических проектах нам нравится, когда данные для отчетов доступны пользователям в режиме self-service аналитики (то есть, аналитики самообслуживания). В этом случае любой специалист может самостоятельно собрать себе нужный отчет в BI-инструменте, без использования SQL или другого кода.

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

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

  • данные были хорошо документированы;

  • в полученные отчеты было легко добавлять любые фильтры и разрезы: в том числе, по новым атрибутам пользователя, по сегментам АВ-тестирования, по языкам и т.п.

  • при необходимости систему могли легко взять на поддержку штатные аналитики.

Рассказ будем вести на примере одного из реализованных клиентских проектов.

Задача

Если коротко — построить сквозной отчет от клика пользователя по рекламному объявлению до покупки, оценить эффективность маркетинговых кампаний.

Если подробнее:

  • есть несколько рекламных кабинетов, из которых нужно собрать затраты на рекламные кампании: Facebook, Yandex.Direct, Google Adwords, Vkontakte. Также есть затраты на маркетинг, которые не проходят через рекламные кабинеты, а ведутся в ручном справочнике.

  • пользователи, которых привлекли с помощью рекламных кампаний, совершают покупку на сайте.

  • на сайте установлен Google Analytics, который фиксирует id пользователей, их utm-метки и покупки.

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

  • Из-за особенностей маркетинговой стратегии нужно реализовать кастомную логику атрибуции и оценить каждый канал по двум моделям: кастомной и стандартной last click;

  • Есть ряд особенностей бизнес-логики, которые нужно учитывать при выстраивании связи маркетинговых каналов с покупками: например, языки пользователей;  

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

Как мы организовали процесс

Этап 1: Скачивание «сырых» данных

Для начала нам нужно получить набор данных для анализа.

В качестве хранилища данных мы используем BigQuery. Источников данных у нас девять.

5dfde063f4d8aefc2d7cf0962c6f0a7f.png

Для загрузки данных используем open source стек Singer + Meltano. Для преобразования данных используем DBT.

Этап 2: Моделирование данных

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

В результате анализа выделяем в данных:

  • ⚓️Анкеры (это основные существительные предметной области, например, ⚓️Пользователь, ⚓️Визит, ⚓️Рекламная кампания и т.п.).

  • Атрибуты (это характеристики анкеров, например, Имя пользователя, Дата визита, Название рекламной кампании).

  • © Habrahabr.ru