Путь покупателя до оплаты

Путь покупателя до оплаты

Ты анализируешь новый маркетплейс локальных брендов. Перед запуском крупной рекламной кампании команда хочет увидеть базовую многошаговую воронку по источникам трафика: просмотр товара, открытие корзины, начало оформления и оплата. Для каждого покупателя возьми самое раннее непустое время каждого из четырёх типов событий: product_viewed, cart_opened, checkout_started, order_paid. Покупатель достигает следующего шага только когда первые достижения шагов идут в неубывающем порядке. Одинаковые времена соседних шагов допустимы. Например, если самое раннее открытие корзины произошло раньше самого раннего просмотра товара, покупатель не считается достигшим корзины, даже если позже корзина открывалась снова. Покажи все источники из marketplace_shoppers, включая источники без просмотров. NULL в traffic_source выведи как unknown. Верни столбцы: - source — источник трафика, текст. - viewed_users — покупатели, достигшие просмотра, целое. - cart_users — покупатели, достигшие корзины после просмотра по правилам выше, целое. - checkout_users — покупатели, достигшие оформления после корзины, целое. - paid_users — покупатели, достигшие оплаты после оформления, целое. - view_to_paid_pct — доля оплативших среди достигших просмотра в процентах, numeric, округление до 2 знаков. Если просмотров нет, верни 0.00. Отсортируй строки по source по возрастанию. События с NULL в event_time игнорируй. Повторы одного типа не должны увеличивать счётчики.

Пример ожидаемого ответа

Это пример правильного ответа — у него своё количество строк, оно не должно совпадать с таблицами в схеме. Названия столбцов в твоём ответе должны совпадать с этим примером — переименуй их через AS, если нужно.

sourceviewed_userscart_userscheckout_userspaid_usersview_to_paid_pct
affiliate21100
direct00000
email11100
PostgreSQLv16

Здесь будет результат вашего запроса

Фокус-радио
На паузе · SomaFM · Fluid