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 с разными временными окнами
💬 Жду ваши запросы в комментариях!