Привет! Мы знаем, что пользователь не всегда с первого визита совершает целевое действие на сайте. А во время принятия решения, может взаимодействовать с различными рекламными каналами.

Как оказалось, в Clickhouse очень просто подготовить данные для отчета по многоканальным последовательностям.

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

В таблице визитов содержится множество данных, среди которых: clientID, lastTrafficSource и dateTime:

Если выполнить запрос к таблице:

select clientID ,
groupArray( lastTrafficSource ) as Sources
from (
select clientID, dateTime, lastTrafficSource
from renta.ym_logs_dataset_1192929336
order by clientID, dateTime
)
group by clientID

В результате получим сгруппирированные рекламные каналы для каждого clientID.

Таблицу подтягиваем в Power BI

 В примере модель данных уже собрана, поэтому проще всего построить связь между таблицами или объединить их по clientID.

На этом можно было бы закончить, но столбец source содержит символы, которые визуально грузят отчет.

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

  1. Двойные кавычки заменить на пустоту.

  2. После запятой добавить пробел.

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

Несколько полезных ссылок:

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

  2. Мария Мансурова из Яндекса показывает практические примеры использования неагрегированных данных Яндекс.Метрики.

Если у вас остались вопросы — задавайте их в комментарии.