SQL query
Цей SQL-запит аналізує щомісячний дохід користувачів гри, визначає нових платних користувачів, а також оцінює динаміку доходу. Він обчислює метрики, як-от розширення або скорочення доходу, втрату користувачів та їх повернення після відмови. Це дозволяє глибше зрозуміти поведінку користувачів та динаміку доходу.
У SQL-запиті використовуються наступні інструменти та функції:
CTE (Common Table Expressions) - для структурування запиту на логічні частини (monthly_revenue, revenue_lag_lead_month, revenue_metrics).
Агрегаційні функції:
SUM() - для обчислення загального доходу користувача за місяць.
COUNT(DISTINCT user_id) - для підрахунку унікальних платних користувачів.
Віконні функції:
LAG() та LEAD() - для отримання значень доходу з попереднього та наступного місяців для порівняння.
PARTITION BY - для розбиття даних за кожного користувача, щоб оцінювати дані окремо для кожного.
Умовні вирази CASE - для обчислення різних типів доходу, як новий дохід, розширення, скорочення, повернення після втрати користувачів тощо.
Функція date_trunc() - для об’єднання дати до рівня місяця ('month'), що спрощує групування платежів за місяцями.
У SQL-запиті використовуються наступні інструменти та функції:
CTE (Common Table Expressions) - для структурування запиту на логічні частини (monthly_revenue, revenue_lag_lead_month, revenue_metrics).
Агрегаційні функції:
SUM() - для обчислення загального доходу користувача за місяць.
COUNT(DISTINCT user_id) - для підрахунку унікальних платних користувачів.
Віконні функції:
LAG() та LEAD() - для отримання значень доходу з попереднього та наступного місяців для порівняння.
PARTITION BY - для розбиття даних за кожного користувача, щоб оцінювати дані окремо для кожного.
Умовні вирази CASE - для обчислення різних типів доходу, як новий дохід, розширення, скорочення, повернення після втрати користувачів тощо.
Функція date_trunc() - для об’єднання дати до рівня місяця ('month'), що спрощує групування платежів за місяцями.