SQL Gym Pro #3 💪

Привет, SQL-атлеты! Сегодня качаем финансовые мышцы — будем считать LTV (Lifetime Value). Эта метрика показывает, сколько денег приносит один пользователь за всё время жизни в продукте. На собесах спрашивают почти так же часто, как про retention!

📊 Ситуация: У нас есть интернет-магазин. Продакт хочет понять, сколько в среднем приносит пользователь за первые 3 месяца после регистрации.

Таблица users: user_id | reg_date | country 101 | 2024-01-01 | RU 102 | 2024-01-05 | US 103 | 2024-01-10 | RU 104 | 2024-01-15 | DE

Таблица purchases: purchase_id | user_id | purchase_date | amount 1001 | 101 | 2024-01-05 | 50.00 1002 | 101 | 2024-01-20 | 30.00 1003 | 101 | 2024-02-10 | 70.00 1004 | 102 | 2024-01-10 | 100.00 1005 | 103 | 2024-01-15 | 25.00 1006 | 103 | 2024-02-01 | 45.00 1007 | 104 | 2024-01-25 | 60.00

🎯 Задача: Напишите запрос, который для январских пользователей 2024 года посчитает:

1. LTV за первые 90 дней после регистрации (сумма всех покупок за первые 3 месяца) 2. Количество покупок за этот период 3. Средний чек (LTV / количество покупок) 4. ARPU (Average Revenue Per User) — LTV / общее число пользователей

😈 Усложнение: А теперь посчитайте LTV по месяцам жизни (первый месяц, второй месяц, третий месяц отдельно).

⚠️ Подсказки: 1. Вам понадобится JOIN и DATEDIFF 2. Не забудьте учесть пользователей без покупок 3. Для усложнения: CASE WHEN с разными временными окнами

💬 Жду ваши запросы в комментариях!