Cohort retention для multi-store сети — X5 Retail

Senior SQL retail

Условие задания

**Компания:** 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

Подсказки

Все тестовые задания →

Частые вопросы

Какой уровень знаний нужен для задачи "Cohort retention для multi-store сети — X5 Retail"?

Это задание для уровня Senior. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.

На каких собеседованиях встречается такая задача?

Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: cohort, retention, window functions, multi-tenant.

Сколько времени даётся на решение?

На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

Где ещё потренироваться по теме «SQL»?

На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.

← Все задания