**Контекст:** Задание с технического собеса на 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