Когортная таблица retention (матрица W0-W4)

Senior SQL product

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

**Контекст:** Задание с технического собеса на senior-аналитика. Нужно собрать **когортную таблицу retention по неделям** — базовый инструмент продуктовой аналитики.

**Данные:**

[см. код в задании]

**Определения:**
- **Когорта** = пользователи, зарегистрировавшиеся в одну неделю (`event_type = 'signup'`)
- **Активность** = любой `login` или `purchase` от этого пользователя в будущем
- **Retention Wk** = доля юзеров когорты, которые были активны **на k-й неделе** после регистрации

**Задание:**

Собрать таблицу вида:

| cohort_week | size | W0 | W1 | W2 | W3 | W4 |
|-------------|------|------|------|------|------|------|
| 2026-02-02 | 1200 | 100% | 42% | 28% | 22% | 20% |
| 2026-02-09 | 1400 | 100% | 45% | 30% | — | — |

- W0 всегда 100% (неделя регистрации).
- Если данных ещё нет (когорта слишком молодая для Wk) — NULL.

Темы

cohort-analysis retention window-functions pivot DATE_TRUNC

Подсказки

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