Воронка конверсии интернет-магазина

Лёгкая Воронка конверсии Wildberries

Условие задачи

В таблице events лежит лог действий пользователей на сайте: event_type принимает значения 'view' (просмотр товара), 'cart' (добавление в корзину), 'checkout' (переход к оформлению), 'purchase' (покупка). Один пользователь мог совершить действие несколько раз. Постройте воронку: верните ОДНУ строку с числом УНИКАЛЬНЫХ пользователей на каждом шаге — step_view, step_cart, step_checkout, step_purchase, а также конверсию view->cart (cr_view_cart, %) и сквозную конверсию view->purchase (cr_view_purchase, %). Проценты округлить до 1 знака.

Схема данных

CREATE TABLE events (
  user_id    INTEGER,
  event_type TEXT,   -- 'view' | 'cart' | 'checkout' | 'purchase'
  event_time TEXT    -- 'YYYY-MM-DD HH:MM:SS'
);

Темы

funnel conversion count-distinct case-when conditional-aggregation

Подсказки

Что проверяет эта задача

Задача «Воронка конверсии интернет-магазина» учит решать задачи по теме «Воронка конверсии» так, как это спрашивают на собеседовании аналитика данных. Такие задачи встречаются на собеседованиях в Wildberries и других IT-компаниях. Уровень лёгкий — это база, которую должен уверенно держать каждый аналитик.

Как подступиться к решению

Сначала разберись со схемой данных и пойми, какой результат нужен на выходе. Определи, какие таблицы и поля задействованы, и собирай запрос пошагово: фильтрация → соединение или группировка → итоговый отбор и сортировка. Проверь результат на крайних случаях — NULL, дубликаты, пустые группы. Свой запрос сразу прогоняешь автопроверкой в интерактивной SQL-песочнице на реальной базе (SQLite и PostgreSQL 16 прямо в браузере).

Хочешь разобрать SQL системно с нуля — пройди бесплатный курс «SQL с нуля» и закрепи навык в тренажёре.

Решить в интерактивной SQL-песочнице → ← Все SQL-задачи