Forwarded from Диванные Данные
5 фишек Clickhouse для аналитиков
1️⃣ Отрисовка бар-чарта прямо в терминале
Оптимально для быстрого анализа, чтобы прикинуть распределение данных без экспорта в Excel или BI.
где х - название колонки, min и max - диапазон, а width - ширина бара в символах.
2️⃣ Словари для доступа к часто используемым справочникам
Например, когда нужно дотянуть страну или категорию пользователя. Это оптимальнее, чем обычный джойн, снижает нагрузку на базу данных. Для работы со словарем его нужно предварительно создать через CREATE DICTIONARY.
3️⃣ Функция для воронки продукта
Возвращает номер максимального достигнутого шага для каждого пользователя, поэтому не забывай корректно обработать данные после использования функции, чтобы не потерять юзеров.
4️⃣ Найти цепочку событий
В отличие от windowFunnel, которая возвращает номер достигнутого шага воронки, sequenceMatch отвечает на вопрос, встретилась ли в данных нужная цепочка событий. Оптимально для окон атрибуции в аналитике маркетинга.
5️⃣ Функции для АВ-тестов
ClickHouse позволяет делать анализ АВ-тестов прямо в SQL, спектр доступных функций довольно широкий. Приведу два примера:
P.S. Возможно, твоя задача решается проще, чем ты думаешь, нужно всего лишь загуглить или заджипитить)
Ставь🔥 , если узнал что-то новое
Ставь🤕 , если все это знал
#SQL_на_диване
@Divan_data
И снова на диване.
Оптимально для быстрого анализа, чтобы прикинуть распределение данных без экспорта в Excel или BI.
bar(x, min, max, width)
где х - название колонки, min и max - диапазон, а width - ширина бара в символах.
Например, когда нужно дотянуть страну или категорию пользователя. Это оптимальнее, чем обычный джойн, снижает нагрузку на базу данных. Для работы со словарем его нужно предварительно создать через CREATE DICTIONARY.
joinGet('dictionary_name', 'attribute', key)Возвращает номер максимального достигнутого шага для каждого пользователя, поэтому не забывай корректно обработать данные после использования функции, чтобы не потерять юзеров.
windowFunnel(window_seconds)(
timestamp_column,
event1_condition,
event2_condition,
...,
eventN_condition
)
В отличие от windowFunnel, которая возвращает номер достигнутого шага воронки, sequenceMatch отвечает на вопрос, встретилась ли в данных нужная цепочка событий. Оптимально для окон атрибуции в аналитике маркетинга.
sequenceMatch('pattern')(timestamp, cond1, cond2, ..., condN) ClickHouse позволяет делать анализ АВ-тестов прямо в SQL, спектр доступных функций довольно широкий. Приведу два примера:
studentTTest(sample1, sample2) -- равенство стредних
proportionsZTest(successes1, trials1, successes2, trials2) -- равенство долей (конверсий) в двух группах
P.S. Возможно, твоя задача решается проще, чем ты думаешь, нужно всего лишь загуглить или заджипитить)
Ставь
Ставь
#SQL_на_диване
@Divan_data
Please open Telegram to view this post
VIEW IN TELEGRAM