В orders — заказы покупателей: цена до скидки price_rub, скидка discount_rub, status — bought, returned или canceled.
Когорта покупателя — месяц его первого заказа (любого статуса). LTV — сумма price_rub - discount_rub выкупленных заказов, сделанных строго раньше, чем через 12 месяцев после первого заказа.
Для каждой когорты верните cohort_month (первое число месяца), users и avg_ltv_rub с 2 знаками. Покупатели, у которых всё вернули или отменили, входят в когорту с LTV 0. Порядок — по cohort_month.
В работе: Окупаемость привлечения: сколько приносит покупатель первого года, чтобы сравнить с ценой его привлечения.
Таблицы
orders — заказы
| Колонка | Тип | Что значит |
|---|---|---|
order_id | int | ключ |
user_id | int | покупатель |
ordered_at | timestamp | время заказа |
price_rub | numeric | цена до скидки |
discount_rub | numeric | скидка |
status | text | bought / returned / canceled |
Пример: данные
orders · 8 строк
| order_id | user_id | ordered_at | price_rub | discount_rub | status |
|---|---|---|---|---|---|
| 1 | 1 | 2025-03-10T12:00:00 | 5000 | 500 | bought |
| 2 | 1 | 2025-08-01T19:00:00 | 2000 | 0 | bought |
| 3 | 1 | 2025-09-01T10:00:00 | 3000 | 0 | returned |
| 4 | 2 | 2025-03-25T08:00:00 | 1000 | 0 | canceled |
| 5 | 2 | 2025-04-02T21:00:00 | 1200 | 200 | bought |
| 6 | 3 | 2025-04-05T14:00:00 | 4000 | 0 | returned |
| 7 | 4 | 2025-04-20T16:00:00 | 3000 | 300 | bought |
| 8 | 4 | 2026-05-01T10:00:00 | 1000 | 0 | bought |
Ожидаемый ответ
| cohort_month | users | avg_ltv_rub |
|---|---|---|
| 2025-03-01 | 2 | 3750 |
| 2025-04-01 | 2 | 1350 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
cohort_month, users, avg_ltv_rub
Источник: на данных Wildberries, по мотивам открытой подборки вопросов. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.