Стриминг данных из сервиса сквозной аналитики в 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.

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

  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 в Яндекс.Облаке и UTMSTAT начинает стримить данные туда.

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

Почему ClickHouse?

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

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

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

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

Демо

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

Вопрос

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

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

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

0
5 комментариев
Абдул Абдулов

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

Ответить
Развернуть ветку
Alexey Laptev
Автор

Это не для чайников, а для тех кто осознал потребность в clickhouse.

Стоимость "вытащить данные и построить отчеты" будет дороже чем получить доступ к уже вытащенным данным в нужном формате.

Ответить
Развернуть ветку
Абдул Абдулов

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

Ну про вытащить данные из utmstat для построения своих дашбордов без использования clickhouse

Ответить
Развернуть ветку
Alexey Laptev
Автор

Когда вы начнете вытаскивать данные по api, вы начнете думать над хранилищем и разберетесь в clickhouse.

А потом осознаете как хорошо ничего не придумывать, а сразу получить доступ к хранилищу, которое вы только что придумали.

Ответить
Развернуть ветку
Marty Byrde

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

Ответить
Развернуть ветку
2 комментария
Раскрывать всегда