Стриминг данных из сервиса сквозной аналитики в ClickHouse
Всем привет! Я Лаптев Алексей, основатель и главный разработчик сервиса бесплатной сквозной аналитики и коллтрекинга Utmstat, а также Telegram-канала про сквозную аналитику. Сегодня рассмотрим простое решение сложной проблемы - стриминг данных.
Дисклеймер
Статья не сколько про стартап, сколько про Сustomer Journey Map в области стриминга данных для сквозной аналитики. Хотелось бы получить фидбек про необходимость в стриминге данных.
В статье расскажу про оптимальный вариант получения всех сырых данных в свою БД.
Проблема на рынке
Многие большие проекты, с бюджетами более 1 млн рублей, приходят к ситуации, что ни один сервис аналитики не может дать ответы на требуемые вопросы и тогда приходят они - костыли и самопис.
Воронка потребностей в сквозной аналитике:
И начинается такое:
На входе имеем одинаковый для всех набор исходных данных.
На выходе имеем примерно одинаковое хранилище с собранными данными, для дальнейшей аналитики.
Но в каждом проекте коннекторы для сбора данных пишутся индивидуально решая по сути одну и туже задачу с разной степенью успешности.
Срок разработки самого простого наборов коннекторов - 1-2 месяца, с перспективой растянуться на год.
Сколько это стоит в зарплатах - считайте сами.
Что предлагаем
Все просто - решать однотипную задачу 1 раз и не тратить на нее больше время.
Зачем каждый раз изобретать велосипед и тратить значимые ресурсы на разработку ПО для сбора данных, когда есть готовый протестированный вариант на базе сервиса сквозной аналитики?
Если сервис сквозной аналитики не может вам построить какой-то отчет, это не значит что нет данных под него. Скорее всего, такой отчет кроме вас никому не нужен, но данные под него есть.
Так просто?
Уверен, некоторые из вас сейчас вспомнили 2-5 сервисов стриминга данных, но там есть ряд фатальных недостатков.
1. Низкое качество данных
Когда вы работаете только с Яндекс Метрикой и Google Analytics, есть простая и одновременно сложная проблема - часто трафик не размечают в том формате, в каком его удобно анализировать на уровне БД.
Подробно об этом было написано в статье про utm-метки.
А про последствия можно почитать здесь.
Бесполезно объяснять и писать инструкции подрядчикам, единственный надежный вариант получить качественные данные это автоматический контроль трафика (каждого клика).
В свою очередь это невозможно сделать через Яндекс Метрику и Google Analytics, но возможно сделать если пропускать трафик через себя (свой счетчик) и контролировать его роботом. Без качественных исходных данных, ни одна самая мощная аналитика не даст результата.
Поэтому меня очень удивляют сервисы и кейсы, которые что-то оптимизируют на базе utm-меток и google analytics, когда там по сути пропущен этап нормализации исходных данных. Как минимум результат можно было бы значительно улучшить, наведя там нормальный data driven.
Есть свой счетчик и контроль трафика в ваших сервисах?
2. Недостаточно связей между данными
Ок, загрузили вы сырые данные из метрики и аналитикса, расходы и даже есть данные по целям.
Но как насчет связки всего этого со сделками в CRM и обновлением статусов в realtime? В Битрикс24/Амо везде пробрасываются данные, по которым можно связать сделку с источником и расходами?
Кажется нет.
Или как связать utm-метку campaign2 с расходами? Как это невозможно сделать автоматически, читайте тут.
А если все данные пропускать через сквозную аналитику - все связывается и вы получаете идеальный набор данных в хранилище.
3. Ответов на вопросы все равно нет
В итоге получив много неточных слабо связанных данных , вы все равно скорее всего не сможете построить детальную аналитику, например до истории кликов и привязки клиентов по каждой сделке для расчета когорт и атрибуций.
Как правильно?
UTMSTAT - это мощный сервис сквозной аналитики, который _уже_ агрегирует и нормализует в себе почти все необходимые данные для сквозной аналитики в формате, удобном для построения различных отчетов.
Просто получите доступ к его базе данных в ClickHouse и при необходимости соедините полученные данные с данными из Яндекс Метрики и Google Analytics.
Все данные уже связаны между собой популярными метками:
Номер клика
- Номер кампании
- Номер группы
- Номер объявления
- Номер фразы
- Фраза
- UTM-метки
Google Analytics Client ID
- Yandex Metrika Client ID
- Facebook Client ID
- Номер сделки из CRM
- Номер контакта в сделке
В итоге получится такая схема:
Что-то более точное и насыщенное данными впринципе уже сделать нельзя и этого набора данных хватит для решения практически всех задач сквозной аналитики.
Поэтому нет смысла разрабатывать что-то свое, лучше потратить ресурсы на анализ того что уже есть, для увеличения прибыли. Сильно лучше все равно не сделать.
Техническая реализация
Заводите свой кластер ClickHouse в Яндекс.Облаке и UTMSTAT начинает стримить данные туда.
Далее уже можете на свой кластер накручивать дополнительную логику по своим задачам.
Почему ClickHouse?
Простое, быстрое и удобное хранилище.
ClickHouse заточен под аналитику, на его базе работает Яндекс Метрика (из нее он и пришел). Без проблем работает с большими объемами данных.
Своим появлением снял невероятное количество головной боли по работе со аналитикой на больших данных.
Все кто работает с аналитикой, постепенно переезжают на него.
Демо
Есть демосайт и демодоступ в БД, можно все потрогать, тут.
Вопрос
Скажите фидбек, насколько актуально? :)
P.S Как дела у проекта
UTMSTAT растет, команда расширяется, короновирусный период пройден без просадок.