Напиши запрос для расчёта retention D1, D7, D30 по когортам. Схема: users(user_id, signup_date), events(user_id, event_date).
SQLhardsenior
Варианты ответа
CTE с когортами по signup_date, LEFT JOIN events и conditional aggregation: COUNT(DISTINCT CASE WHEN event_date = signup_date + N THEN user_id END) / COUNT(DISTINCT user_id)
Посчитать DAU за дни 1, 7, 30 и разделить на общее MAU без привязки к когортам
GROUP BY user_id HAVING COUNT(*) >= 30 — это пользователи с retention D30
ROW_NUMBER() OVER (ORDER BY event_date) = 30 для каждого пользователя
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.