diff --git a/aharlamcev/postgresql/Pet-projectsql.sql b/aharlamcev/postgresql/Pet-projectsql.sql index 98debeb..7ad986c 100644 --- a/aharlamcev/postgresql/Pet-projectsql.sql +++ b/aharlamcev/postgresql/Pet-projectsql.sql @@ -283,7 +283,7 @@ from total_counts ; ----------------------------------------------------------------------------------------------------- --- 4 Задание Когортный анализ пользователей +-- 4 Задание Когортный анализ пользователей (Для каждого месяца регистрации) create materialized view user_cohort_analysis AS with needed_users as ( select distinct u.id as user_id, u.registration_date as reg_date, e.course_id, lv.id as view_id, @@ -305,7 +305,6 @@ CTE as ( COUNT(course_id) as courses_count, extract('days' from AVG(first_view_date - reg_date)) as avg_time_to_first_view from needed_users - where date_trunc('month', reg_date)::date = '2023-03-01' group by cohort_month ) select cohort_month, users_in_cohort, enrolled_users, active_users, @@ -340,7 +339,7 @@ views_cte as ( select lic.lesson_id, lic.lesson_title, lic.course_title, vc.total_views, vc.unique_viewers, -coalesce(vc.avg_views_per_user, 0), +coalesce(vc.avg_views_per_user, 0) as avg_views_per_user, dense_rank() OVER (ORDER BY vc.total_views desc) as popularity_rank, ROUND(100.0 * unique_viewers / enrolled_to_course, 2) as completion_rate from lessons_in_courses lic @@ -441,5 +440,27 @@ funnel_stages as ( ; -- Признаюсь 6-е задание сделал с помощью нейросети, потому что сам вообще никак к нему подобраться не мог. - - +----------------------------------------------------------------------------------------------------------------- +-- Доп. Задание №1 Анализ drop-off точек +select course_id, stage_name, users_count, +100 - conversion_from_previous as lost_precentage +from conversion_funnel +where stage_name = 'started' +order by lost_precentage desc +; +-------------------------------------------------------------------------------------------------------------------- +-- Доп. Задание №2 Топ-3 урока с повторными просмотрами +select lesson_id +from lesson_popularity_ranking +where avg_views_per_user > 1 +limit 3 +; +--------------------------------------------------------------------------------------------------------------------- +-- Доп. Задание №3 Лучшая когорта по retention +select cohort_month, retention_rate +from user_cohort_analysis +order by retention_rate desc +limit 2 +; +-- В нашем случае два месяца с одинаковыми лучшими показателями retention это 2023-01 и 2023-02. Это является следствием того, что у нас +-- наибольшее количество зарегистрированных пользователей именно в эти месяцы, а именно 2023-01 = 40%, а 2023-02 = 20%, соотвественно 60% пользователей были зарегистрированы в эти месяцы. \ No newline at end of file