**Данные:** events с действиями пользователей в e-commerce:
[см. код в задании]
**Задание:**
Построить **funnel analysis** для воронки покупки за последние 7 дней:
1. **Step 1:** view_product
2. **Step 2:** add_to_cart (в течение 24 часов после step 1)
3. **Step 3:** checkout (в течение 24 часов после step 2)
4. **Step 4:** purchase (в течение 24 часов после step 3)
Используй ClickHouse функцию **`windowFunnel()`**.
Вернуть распределение юзеров по достигнутым step (1, 2, 3, 4).
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE events (
user_id UInt64,
event_time DateTime,
event_type LowCardinality(String),
-- event_type ∈ ('view_product', 'add_to_cart', 'checkout', 'purchase')
product_id UInt32
) ENGINE = MergeTree
ORDER BY (event_time, user_id);
ClickHouse funnel windowFunnel conversion
Это задание для уровня Middle. Для middle-аналитиков с опытом 1-3 года, требует уверенного владения темой и понимания edge cases.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: ClickHouse, funnel, windowFunnel, conversion.
На реальном собеседовании на подобную задачу отводится 15-30 минут — оцениваются подход, корректность, обработка edge cases. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 520+ SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания