Таблица `payments(user_id, paid_at, amount)`. Посчитай среднюю выручку с пользователя (LTV) за первый год после первой оплаты, в разрезе cohort = месяц первой покупки. Колонки: `cohort_month`, `cohort_size`, `ltv_first_year`. Округли LTV до 2 знаков. Сортировка по `cohort_month`.
CREATE TABLE payments (user_id INTEGER, paid_at TEXT, amount REAL);
cohort ltv date-arithmetic cte
Задача «LTV по cohort за первый год» учит решать задачи по теме «ltv» так, как это спрашивают на собеседовании аналитика данных. Такие задачи регулярно дают на собеседованиях аналитиков данных. Уровень сложный — задача проверяет глубину и умение собрать запрос из нескольких приёмов.
Сначала разберись со схемой данных и пойми, какой результат нужен на выходе. Определи, какие таблицы и поля задействованы, и собирай запрос пошагово: фильтрация → соединение или группировка → итоговый отбор и сортировка. Проверь результат на крайних случаях — NULL, дубликаты, пустые группы. Свой запрос сразу прогоняешь автопроверкой в интерактивной SQL-песочнице на реальной базе (SQLite и PostgreSQL 16 прямо в браузере).
Хочешь разобрать SQL системно с нуля — пройди бесплатный курс «SQL с нуля» и закрепи навык в тренажёре.
Решить в интерактивной SQL-песочнице → ← Все SQL-задачи