المستخدمون الذين أصبحوا نشطين

بمساعدة بسيطة من مطور (@aluxian)، قمت بتعديل واحد لحساب النسبة المئوية للمستخدمين الذين انضموا خلال فترة زمنية معينة، ونشروا عددًا محددًا من المنشورات (X) خلال فترة زمنية معينة.

يمكنك استخدام هذا لمعرفة ما إذا كنت تحسّن عملية استيعاب المستخدمين الجدد بما يكفي لجعلهم يشعرون بالراحة عند النشر، على سبيل المثال. يشارك @Richard_Millington بعض الإحصائيات لمقارنة مجتمعك باستخدام هذه المقاييس (في الدقيقة 2:30) هنا.

المستخدمون الذين أصبحوا نشطين

-- [المعلمات]
-- date :user_date_from = 01.06.2019
-- date :user_date_to = 30.06.2019
-- date :post_date_from = 01.06.2019
-- date :post_date_to = 30.06.2019
-- int  :min_posts = 1


WITH user_activity AS (
    SELECT p.user_id, COUNT(p.id) as posts_count
    FROM posts p
	LEFT JOIN users u ON u.id = p.user_id
    LEFT JOIN topics t ON t.id = p.topic_id
    WHERE u.created_at::date BETWEEN :user_date_from::date AND :user_date_to::date
	  AND p.created_at::date BETWEEN :post_date_from::date AND :post_date_to::date
      AND p.deleted_at IS NULL
	  AND t.deleted_at IS NULL
      AND t.visible = TRUE
      AND t.closed = FALSE
      AND t.archived = FALSE
      AND t.archetype = 'regular'
        
    GROUP BY p.user_id
)

SELECT (t1.new_users_with_posts::float) / (t2.new_users::float) * 100 as percent_users_with_posts

FROM ( SELECT COUNT(user_id) as new_users_with_posts
       FROM user_activity
       WHERE posts_count >= :min_posts )
       as t1 
cross join
     ( SELECT COUNT(id) as new_users
       FROM users u
       WHERE u.created_at::date BETWEEN :user_date_from::date AND :user_date_to::date )
       as t2
13 إعجابًا