Я не вижу никаких проблем из того, что я понимаю.
for each technician
look up the entries in the database and get the call created_at and end time
for each entry above
total_time += end_time.to_seconds - created_at_time.to_seconds
Найдите разницу между временем начала и времени окончания, в которое вы хотите отслеживать действия техника.
Вы получаете% возраст времени таким образом. Чтобы получить это за каждый час, просто конвертируйте время в часах, и вы готовы идти.