Что касается алгоритмов, то это легко. Просто найдите максимальное и минимальное время, возьмите разницу и разделите на число времени, которое вы посмотрели.
Если у вас есть массив a datetime, вы можете сделать:
mx = max(a)
mn = min(a)
avg = (mx-mn)/(len(a)-1)
чтобы вернуть среднюю разницу.
РЕДАКТИРОВАТЬ: исправлена ошибка off-by-one