مستخدم جديد لديه عدة أيام تم الإبلاغ عنها كـ "أيام الزيارة"؟

تشغيل 3.1.0.beta1 (9e55a1ca88)

يتطلب موقعنا المستضاف ذاتيًا أن يكون جميع المستخدمين مسجلين، ولا يُسمح للمجهولين، ويجب الموافقة على جميع الحسابات من قبل المشرفين، وعادةً في غضون ساعة أو ساعتين من الطلب.

لاحظنا مستخدمين جديدين، أحدهما تم إنشاؤه منذ 8 ساعات، تم الإبلاغ عنه بأنه زار الموقع لمدة يومين. مستخدم آخر تم إنشاؤه منذ يوم واحد تم الإبلاغ عنه بأنه زار الموقع لمدة 3 أيام.

بحثنا ووجدنا منشور “Days Visited Anomaly” ولكن هذا لا يبدو ذا صلة. ما الذي يجب أن أتحقق منه لمعرفة ما هو الخطأ، أو ما نفعله بشكل خاطئ؟

شكراً للمساعدة، كيرك

إعجابَين (2)

أهلاً بك @kgrier :slight_smile:

هل هناك أي شيء مميز في هؤلاء المستخدمين؟ ربما كيف أو متى تم إنشاؤهم؟ أي شيء مشترك بينهم؟

إعجابَين (2)

عذرًا على التأخير في الرد. لقد تسببت الأمطار الزائدة قليلاً في سانتا باربرا في تحويل انتباهي.

يقوم جميع مستخدمينا بالتسجيل الذاتي، لذا يتم إنشاء الحسابات بهذه الطريقة، ثم تتطلب موافقة من مشرف قبل أن يتمكنوا من الوصول إلى المنتدى. كنت أعتقد أنه قد تكون هناك مشكلة “تجاوز منتصف الليل” حيث يقوم مستخدم بالتسجيل في الساعة 21:00 ثم تتم الموافقة عليه في الساعة 01:00، مما يظهر على أنه يومين، ولكن هناك مستخدم مدته 3 أيام قمت بنشره.

لا أعرف منذ متى يحدث هذا، لأنني لا ألقي نظرة فاحصة، ولكن أحد المشرفين لدينا فعل ذلك. أنا أراقب التسجيلات الواردة لدينا لمعرفة ما إذا كان هذا يحدث مع كل مستخدم جديد.

إذا كان هناك استعلام في مستكشف البيانات (Data Explorer) سيساعد هنا، فيرجى إخباري، وسأقوم بتشغيله والإبلاغ بالنتائج.

شكرًا على أي مساعدة / رؤى يمكنك تقديمها.

إعجابَين (2)

لكن المستخدم الذي مدته 3 أيام تم إنشاؤه قبل أكثر من يوم. لذلك يمكنهم أيضًا التسجيل قبل منتصف الليل (اليوم الأول)، والزيارة بعد بضع ساعات (اليوم الثاني)، وبعد يوم (اليوم الثالث). سيكون هذا أقل من يومين، لذا فإن إظهار يوم واحد صحيح.

لقد رأيت أيضًا فرقًا لمدة يومين هنا في meta

3 إعجابات

لم أتمكن من العثور على استعلام موجود، ولكن ربما شيء كهذا:


SELECT u.id AS user_id,
       u.created_at,
       u.approved_at,
       us.days_visited
FROM users u
JOIN user_stats us ON u.id = us.user_id
WHERE u.approved_at IS NOT NULL
ORDER BY u.created_at DESC

أو استعلام مع القليل الإضافي لجعله أكثر قابلية للقراءة:


SELECT u.id AS user_id,
       CONCAT(u.created_at::date, ' at ', to_char(u.created_at, 'HH:MM')) "user_created",
       CONCAT(u.approved_at::date, ' at ', to_char(u.approved_at, 'HH:MM')) "user_approved",
       us.days_visited
FROM users u
JOIN user_stats us ON u.id = us.user_id
WHERE u.approved_at IS NOT NULL
ORDER BY u.created_at DESC
   
إعجاب واحد (1)

شكرا لك! لقد سجل مستخدم جديد للتو، لذا أتيحت لي الفرصة للموافقة على المستخدم وتشغيله. يمكن للمشرفين الوصول إلى الاستعلام، لذا نأمل أن نرى بعض المعلومات المفيدة في المستقبل.

,

إعجابَين (2)

أعتقد أن قيمة “الأيام التي تمت زيارتها” تتغير بمجرد وصولها إلى الساعة 12:00 صباحًا بالتوقيت العالمي المنسق بالضبط. لذا يمكن للمستخدم الانضمام قبل وصول الساعة 12:00 صباحًا بالتوقيت العالمي المنسق ثم يكون نشطًا حتى مرور الوقت (ثم سيزيد ذلك من عدد الأيام التي تمت زيارتها)

(على غرار رد @Moin أدناه:)

يسرني رؤية ذلك يحدث هنا في ميتا. أكره ذلك عندما أكون الوحيد، عندها تعرف أنك تفعل ذلك بشكل خاطئ :slight_smile:

لقد فسرت “تم الإنشاء: قبل يوم واحد” على أنها أمس، نظرًا لأنه يبدو أن الطابع الزمني لإنشاء الحساب هو وقت تسجيل المستخدم، وليس وقت الموافقة عليه (وهو أمر منطقي نظرًا لأن التسجيل هو زيارة). يمكنني رؤية “تمت الزيارة يومين” مع تجاوز التوقيت العالمي المنسق، لكنني لم أتمكن من الوصول إلى “تمت الزيارة 3 أيام”. لو كان الأمر كذلك، ألن يكون “تم الإنشاء” هو “قبل يومين”؟

لم يعد “مستخدم اليوم الثالث” قد عاد منذ 11 يناير، لذا يبدو التقرير الحالي صحيحًا - من 9 يناير إلى 11 يناير.

لكن مستكشف البيانات يظهر إنشاءً في 10 يناير، وليس 9 يناير كما في نشاط المستخدم. هل هناك شيء يتعلق بالوقت المحلي مقابل التوقيت العالمي المنسق يحدث؟ ربما الإشارة في تقرير الوقت إلى المنطقة الزمنية؟ تم تشغيل هذين الاستعلامين بفارق دقيقة واحدة.

هل يسجل Discourse ما يعتبره “زيارة” والمدة؟ إذا كان الأمر كذلك، هل يمكنني الاستعلام عن تاريخ ووقت المستخدم على الموقع؟ ستكون هذه كمية كبيرة من البيانات في موقع مزدحم، لذا ربما تحتفظ فقط بآخر X أيام؟ سيسمح ذلك بالرسم على خط زمني.

يمكنني إنشاء بعض الحسابات التجريبية ومعرفة ما يحدث في التقارير. لا يمثل الأمر مشكلة كبيرة، لكنه يجعل المرء يتساءل عن الإحصائيات الأخرى إذا لم نفهم المحاسبة وراء التقارير.

تقرير مستكشف البيانات

معلومات المستخدم الآن:

إعجابَين (2)

نعم. عند عرض ملف تعريف، فإنه يُظهر الأوقات بتوقيتك المحلي بدلاً من التوقيت العالمي المنسق، إلا إذا كان توقيتك المحلي هو التوقيت العالمي المنسق، بينما يعرض مستكشف البيانات القيمة المخزنة بالتوقيت العالمي المنسق :slight_smile:

إعجابَين (2)

شكراً لك @ClawdiaWolf

تعديل: لقد أجريت بعض الاختبارات على المستخدم “3 أيام” الذي نشرته سابقًا، وقمت بتعديل الاستعلام ليشمل أول وآخر ظهور. لقد كان متصلاً بالإنترنت لمدة تقل قليلاً عن 44 ساعة، مما يغطي ثلاث منتصف ليل بتوقيت UTC، ومن هنا جاءت الأيام الثلاثة.

يبدو أن هناك شيئًا غريبًا يحدث عند عرض نشاط المستخدم، حيث أن الإبلاغ عن “تم الإنشاء قبل يوم واحد” مع وجود “أيام الزيارة 3” غير متناسق. يبدو هذا نتيجة للتبسيط المفرط للبيانات.

في رأيي، سيكون من الأفضل ببساطة الإبلاغ عن الطوابع الزمنية بتوقيت UTC كما هي والسماح للمستخدم بالتفسير. “قبل يوم واحد” غير محدد. كم ساعة في الماضي يستغرق الوصول إلى يوم واحد؟ يبدو أن عبور 0000 بالتوقيت العالمي المنسق يكفي. لذا فإن المستخدم الذي تم إنشاؤه في 2359 بالتوقيت العالمي المنسق هو “قبل يوم واحد” عند النظر إلى نشاط المستخدم في 0001 بالتوقيت العالمي المنسق؟

قد يكون هذا صحيحًا تقنيًا - إذا كنت في المنطقة الزمنية UTC، فقد تم إنشاء هذا المستخدم “بالأمس، أي قبل يوم واحد” ولكن في أي مكان آخر، هذا ليس صحيحًا، أو ليس كيف يُفهم. لست متأكدًا من أن هذا مفيد حقًا في فهم النشاط من وجهة نظر المسؤول.

وأدرك أن فهمي لا يزال غير مكتمل، لذا أشكركم جميعًا على مواصلة تعليمي. في الوقت الحالي، نصحت المشرفين لدينا باستخدام استعلام DE لفهم أحداث المستخدم إذا كانوا بحاجة إلى دقة مفصلة.

إعجاب واحد (1)

سأقوم بتمرير هذا إلى UX حيث لا يبدو أن هناك أي شيء مكسور (على الرغم من أنه ربما يمكن عرض المعلومات بوضوح أكبر). ولكن إذا وجدت أي شيء آخر لاحقًا ، يمكننا دائمًا إعادته مرة أخرى. :+1: :slight_smile:

إعجاب واحد (1)