PET Extra Tasks completed

This commit is contained in:
Alex
2026-02-24 14:58:16 +03:00
parent 9dedbfc3eb
commit c95a867e13
+26 -5
View File
@@ -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% пользователей были зарегистрированы в эти месяцы.