Как вариант собирать активность и на основе этого генерировать данные посещения. К примеру регистрировать клики пользывателя, и группировать промежутки событий разница между которыми не привышает часа(или любой другой промежуток который вы считаете правильным). А дальше берём максимальное и минимальное значение группы, их разница будет промежутком времени которое пользователь сидел на сайте.