Ese es el problema de hacer uso de dichos datos, que no reflejan el tiempo real consumido por el usuario en la plataforma, porque no sabes cuanto tiempo ha estado inactivo. Es decir, puede figurar que ha entrado a las 10:00 AM, estar dos horas sin hacer nada, y continuar la actividad a las 12:00 PM, así que aunque realmente ha estado 2 horas en la plataforma, no han sido dos horas de actividad real.
Para calcular tiempos consumidos, lo que se suele hacer es rastrear el log de moodle, sumando las diferencias de tiempo entre registros del alumno, siempre que dicha diferencia sea menor que un parámetro que se podría denominar lapso de tiempo de inactividad, es decir, tiempo máximo que puede pasar el usuario para que no se considere que está inactivo. Este valor suele ser una hora.