Стриминг данных из сервиса сквозной аналитики в ClickHouse

Всем привет! Я Лаптев Алексей, основатель и главный разработчик сервиса бесплатной сквозной аналитики и коллтрекинга Utmstat, а также Telegram-канала про сквозную аналитику. Сегодня рассмотрим простое решение сложной проблемы - стриминг данных.

Дисклеймер

Статья не сколько про стартап, сколько про Сustomer Journey Map в области стриминга данных для сквозной аналитики. Хотелось бы получить фидбек про необходимость в стриминге данных.

В статье расскажу про оптимальный вариант получения всех сырых данных в свою БД.

Проблема на рынке

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

Воронка потребностей в сквозной аналитике:

Стриминг данных из сервиса сквозной аналитики в ClickHouse

И начинается такое:

Стриминг данных из сервиса сквозной аналитики в ClickHouse

На входе имеем одинаковый для всех набор исходных данных.

На выходе имеем примерно одинаковое хранилище с собранными данными, для дальнейшей аналитики.

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

Срок разработки самого простого наборов коннекторов - 1-2 месяца, с перспективой растянуться на год.

Сколько это стоит в зарплатах - считайте сами.

Что предлагаем

Все просто - решать однотипную задачу 1 раз и не тратить на нее больше время.

Стриминг данных из сервиса сквозной аналитики в ClickHouse

Зачем каждый раз изобретать велосипед и тратить значимые ресурсы на разработку ПО для сбора данных, когда есть готовый протестированный вариант на базе сервиса сквозной аналитики?

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

Так просто?

Стриминг данных из сервиса сквозной аналитики в ClickHouse

Уверен, некоторые из вас сейчас вспомнили 2-5 сервисов стриминга данных, но там есть ряд фатальных недостатков.

1. Низкое качество данных

Когда вы работаете только с Яндекс Метрикой и Google Analytics, есть простая и одновременно сложная проблема - часто трафик не размечают в том формате, в каком его удобно анализировать на уровне БД.

Подробно об этом было написано в статье про utm-метки.

А про последствия можно почитать здесь.

Бесполезно объяснять и писать инструкции подрядчикам, единственный надежный вариант получить качественные данные это автоматический контроль трафика (каждого клика).

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

Поэтому меня очень удивляют сервисы и кейсы, которые что-то оптимизируют на базе utm-меток и google analytics, когда там по сути пропущен этап нормализации исходных данных. Как минимум результат можно было бы значительно улучшить, наведя там нормальный data driven.

Есть свой счетчик и контроль трафика в ваших сервисах?

2. Недостаточно связей между данными

Ок, загрузили вы сырые данные из метрики и аналитикса, расходы и даже есть данные по целям.

Но как насчет связки всего этого со сделками в CRM и обновлением статусов в realtime? В Битрикс24/Амо везде пробрасываются данные, по которым можно связать сделку с источником и расходами?

Кажется нет.

Или как связать utm-метку campaign2 с расходами? Как это невозможно сделать автоматически, читайте тут.

А если все данные пропускать через сквозную аналитику - все связывается и вы получаете идеальный набор данных в хранилище.

3. Ответов на вопросы все равно нет

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

Как правильно?

UTMSTAT - это мощный сервис сквозной аналитики, который _уже_ агрегирует и нормализует в себе почти все необходимые данные для сквозной аналитики в формате, удобном для построения различных отчетов.

Просто получите доступ к его базе данных в ClickHouse и при необходимости соедините полученные данные с данными из Яндекс Метрики и Google Analytics.

Все данные уже связаны между собой популярными метками:

  1. Номер клика

  2. Номер кампании
  3. Номер группы
  4. Номер объявления
  5. Номер фразы
  6. Фраза
  7. UTM-метки
  8. Google Analytics Client ID

  9. Yandex Metrika Client ID
  10. Facebook Client ID
  11. Номер сделки из CRM
  12. Номер контакта в сделке

В итоге получится такая схема:

Стриминг данных из сервиса сквозной аналитики в ClickHouse

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

Поэтому нет смысла разрабатывать что-то свое, лучше потратить ресурсы на анализ того что уже есть, для увеличения прибыли. Сильно лучше все равно не сделать.

Техническая реализация

Заводите свой кластер ClickHouse в Яндекс.Облаке и UTMSTAT начинает стримить данные туда.

Далее уже можете на свой кластер накручивать дополнительную логику по своим задачам.

Почему ClickHouse?

Простое, быстрое и удобное хранилище.

ClickHouse заточен под аналитику, на его базе работает Яндекс Метрика (из нее он и пришел). Без проблем работает с большими объемами данных.

Своим появлением снял невероятное количество головной боли по работе со аналитикой на больших данных.

Все кто работает с аналитикой, постепенно переезжают на него.

Демо

Есть демосайт и демодоступ в БД, можно все потрогать, тут.

Вопрос

Скажите фидбек, насколько актуально? :)

P.S Как дела у проекта

UTMSTAT растет, команда расширяется, короновирусный период пройден без просадок.

7
5 комментариев