إحصائيات التسجيل

متابعةً للنقاش من لماذا قد ينخفض عدد المسجلين على الإطلاق؟:

لقد قمت باستيراد مستخدمين من منتدى قديم وهم يظهرون في إحصائيات التسجيل في “حول”.

لقد قمت بتعيين هؤلاء المستخدمين إلى TL1 وجعلتهم غير نشطين. فهمي هو أنه عند TL1، لا ينبغي حذفهم بواسطة التنظيف التلقائي.

كنت أتساءل عما إذا كان ينبغي احتسابهم كـ “مسجلين” عند إلغاء تنشيطهم، وإذا لم يكن الأمر كذلك، فهل هناك أمر خاص بـ rake أو استعلام SQL لفرض إعادة العد؟

أعتقد أنني وجدت الإجابة:

user_count: User.real.count,
users_last_day: User.real.where('created_at > ?', 1.days.ago).count,
users_7_days: User.real.where('created_at > ?', 7.days.ago).count,
users_30_days: User.real.where('created_at > ?', 30.days.ago).count,
# استبعاد المستخدمين المزيفين مثل مستخدم النظام أو المستخدمين المجهولين
  scope :real,
        ->(allowed_bot_user_ids: nil) do
          human_users(allowed_bot_user_ids: allowed_bot_user_ids).where(
            "NOT EXISTS(
                     SELECT 1
                     FROM anonymous_users a
                     WHERE a.user_id = users.id
                  )",
          )
        end

لذلك سيظل المستخدمون غير النشطين يُحتسبون.