**Компания:** X5 Retail Group (Пятёрочка)
**Позиция:** Senior Data Analyst
**Контекст:** есть таблица `purchases(customer_id, store_id, purchased_at, amount)`. Каждый магазин — отдельный store_id. Нужно построить retention cohort (по месяцу первой покупки) **для каждого магазина** + сравнить с overall.
**Задание:**
1. Напиши SQL который для каждого `store_id` строит cohort table: первая покупка в месяце X, retention в месяцах X+1, X+2, X+3.
2. Найди топ-3 магазина с самым высоким M1 retention. И топ-3 с самым низким.
3. Объясни паттерн «retention выше у store_id 100-150 чем у 200-250». Что мог бы делать по этому инсайту?
cohort retention window functions multi-tenant
Это задание для уровня Senior. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: cohort, retention, window functions, multi-tenant.
На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания