¿Nuevo usuario tiene varios días reportados como "Días visitados"?

Ejecutando 3.1.0.beta1 (9e55a1ca88)

Nuestro sitio autoalojado requiere que todos los usuarios estén registrados, sin anónimos, y que todas las cuentas sean aprobadas por moderadores, normalmente en una o dos horas después de la solicitud.

Notamos que dos usuarios nuevos, uno con 8 horas desde su creación, informaron 2 días visitados. Otro con 1 día de creación informó 3 días visitados.

Buscamos y encontramos la publicación “Anomaly of Days Visited”, pero esa no parece relevante. ¿Qué debo verificar para ver qué está mal, o qué estamos haciendo mal?

Gracias por la ayuda, Kirk

2 Me gusta

Hola y bienvenido @kgrier :slight_smile:

¿Hay algo sobre estos usuarios que destaque? ¿Posiblemente cómo o cuándo fueron creados? ¿Tienen algo en común?

2 Me gusta

Disculpa la demora en responder. Un poco de lluvia excesiva en Santa Bárbara me tuvo desviado.

Todos nuestros usuarios se auto-registran, por lo que las cuentas se crean de esa manera y luego requieren la aprobación de un moderador antes de que puedan acceder al foro. Había pensado que podría haber un problema de “cambio de medianoche” en el que un usuario se registra a las 21:00 y luego se aprueba a la 01:00, apareciendo como dos días, pero ahí está el usuario de 3 días que publiqué.

No sé cuánto tiempo ha estado sucediendo esto, ya que no lo miro tan de cerca, pero uno de nuestros moderadores sí. Estoy vigilando nuestros registros entrantes para ver si esto sucede con cada nuevo usuario.

Si hay una consulta de Data Explorer que ayude aquí, por favor házmelo saber, y la ejecutaré e informaré.

Gracias por cualquier ayuda / información que pueda proporcionar.

2 Me gusta

Pero el usuario de 3 días se creó hace más de un día. Por lo tanto, también podrían registrarse antes de la medianoche (día 1), visitar algunas horas después (día 2) y un día después (día 3). Eso sería menos de dos días, por lo que mostrar un día es correcto.

También he visto una diferencia de 2 días aquí en meta

3 Me gusta

No encontré una existente, pero quizás algo como esto:


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

O una con un poco más para hacerla más legible:


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 me gusta

¡Gracias! Acabo de registrarme un nuevo usuario, así que tuve la oportunidad de aprobarlo y ejecutarlo. Los moderadores tienen acceso a la consulta, ¡así que espero que veamos información útil en el futuro!

2 Me gusta

Creo que el valor de “Días visitados” cambia una vez que llega exactamente a las 12:00 AM UTC. Por lo tanto, un usuario puede unirse antes de que llegue a las 12:00 AM UTC y luego estar activo hasta que llegue la hora (entonces aumentaría los días visitados).

(Similar a la respuesta de @Moin a continuación:)

Me alegra ver que sucede aquí en Meta. Odio cuando soy el único, entonces sabes que lo estás haciendo mal :slight_smile:

Interpreté el “Creado: hace 1 día” como ayer, ya que parece que la marca de tiempo de creación en la cuenta es cuando el usuario se registra, no cuando es aprobado (lo que tiene sentido ya que el registro es una visita). Puedo ver “2 días visitados” con un cambio de UTC, pero no pude llegar a “3 días visitados”. Si ese fuera el caso, ¿no sería “Creado” “hace 2 días”?

Ese “usuario de 3 días” no ha regresado desde el 11 de enero, por lo que los informes actuales parecen correctos: del 9 al 11 de enero.

Pero el Explorador de Datos muestra una creación del 10 de enero, no del 9 de enero como en la Actividad del Usuario. ¿Está sucediendo algo con la hora local frente a UTC? ¿Quizás indicar en el informe de hora cuál es la zona horaria? Estas dos consultas se ejecutaron con un minuto de diferencia.

¿Discourse registra lo que considera una “visita” y la duración? Si es así, ¿podría consultar la fecha/hora de un usuario en el sitio? Esto serían muchos datos en un sitio concurrido, ¿así que tal vez solo retener los últimos X días? Eso permitiría mapear en una línea de tiempo.

Podría crear algunas cuentas de prueba y ver qué sucede en los informes. No es gran cosa, aunque hace que uno se pregunte sobre otras estadísticas si no entendemos la contabilidad detrás de los informes.

Informe DE

Información del usuario ahora:

2 Me gusta

Sí. Al ver un perfil, muestra las horas en tu zona horaria local en lugar de UTC, a menos que tu zona horaria local sea UTC, mientras que DE muestra el valor UTC almacenado :slight_smile:

2 Me gusta

Gracias @ClawdiaWolf

Edición: Hice algunas pruebas en el usuario de “3 días” que publiqué anteriormente, modificando la consulta para incluir la primera y última vez visto. Estuvo conectado durante poco menos de 44 horas, abarcando tres medianoches UTC (00:00 UTC), de ahí los tres días.

Parece que algo extraño está sucediendo al mostrar la Actividad del Usuario, ya que informar “creado hace 1 día” pero tener “Días Visitados 3” es incongruente. Esto suena como el resultado de una simplificación excesiva de los datos.

En mi opinión, sería mejor simplemente informar las marcas de tiempo UTC tal como están y dejar que el usuario interprete. “Hace 1 día” es indeterminado. ¿Cuántas horas en el pasado se necesitan para alcanzar un día? Parece que cruzar las 00:00 UTC es suficiente. Entonces, ¿un usuario creado a las 23:59 UTC es “hace 1 día” al mirar la Actividad del Usuario a las 00:01 UTC?

Eso puede ser técnicamente correcto: si estoy en la zona horaria UTC, ese usuario fue creado “ayer, es decir, hace 1 día”, pero en cualquier otro lugar, eso no es correcto, o no es como se entendería. No estoy seguro de que sea realmente útil para comprender la actividad desde el punto de vista de un administrador.

Y me doy cuenta de que mi comprensión aún está incompleta, así que gracias a todos por continuar mi educación. Por ahora, he aconsejado a nuestros moderadores que utilicen la consulta DE para comprender los eventos de un usuario si necesitan precisión detallada.

1 me gusta

Se lo pasaré a UX ya que no parece haber nada roto (aunque quizás la información podría mostrarse con más claridad). Pero si encuentras algo más tarde, siempre podemos volver a pasarlo. :+1: :slight_smile:

1 me gusta