Just a general point, in case not all are aware. The bus is only 'timed' at the timing points specified in the timetable, not any intermediate stops. Consequently, it is quite likely on a quiet run, with timing points some way apart, for a bus to be running early - many operators do put notices in their timetables to the effect that any intermediate times are only an estimate.
To add to this, Traveline appears to divide the distance travelled by the time taken, and apportion the average speed equally between bus stops, based on distance (if this makes sense). I assume bus operators GPS, real-time or whatever systems do the same.
A route I work has an off-peak schedule of 14 minutes between timing points. 7 minutes is at 50mph on country roads, and 7 minutes the last mile or so into a town. Upon entering the town, my ticket machine will tell me I am anything up to 6 minutes early. After continuing to drive normally to the town's timing point, I am magically on time. Many times I have had passengers on the outskirts of the town complain I am early - well I'm not, I was on time at the last point and I'll be on time at the next one.
Best practice for operators is to have a timing point at least every 10 minutes. Best practice for passengers is to expect a bus to be at their stop anytime after the time it is due at its last specified timing point. Neither seems likely, and the latter is not encouraged by the fashion for computer-generated estimates of departures from individual stops, as opposed to the display of a proper timetable which might lead to someone actually thinking about what's going on.
With this in mind, I miss driving in London, with its helpful "Buses run about every 3 - 19 minutes" timetable displays. No-one complained then!