A computer-implemented method comprising: receiving (420, 520) historical location information (410, 510) associated with times for a historical plurality of vehicles along a route, wherein the route comprises a plurality of route stops; determining (430, 530) a historical average arrival time, and associated historical arrival time variance, for a stop along the route using the historical location information (410, 510) and route information; receiving (422, 522) recent location information associated with times for a recent plurality of vehicles along the route, wherein the recent location information is separate from the historical location information (410, 510); determining (432, 532) a recent arrival time variance from the historical average arrival time at the stop, and a recent arrival time variance error at the stop, for the recent plurality of vehicles using the recent location information and route information; receiving (424, 524) current location information for a particular vehicle along the route wherein the current location information comprises a specific current location; determining (434, 534) a travel time to the stop for the particular vehicle along the route from the specific current location of the particular vehicle and route information; predicting (401, 501) a time of arrival of the particular vehicle at the stop along the route as a function of the historical average arrival time, the historical arrival time variance, the recent arrival time variance, the recent arrival time variance error, and the travel time ofthe particular vehicle to the stop; and providing the time of arrival of the particular vehicle at the stop along the route to a user. receiving (420, 520) historical location information (410, 510) associated with times for a historical plurality of vehicles along a route, wherein the route comprises a plurality of route stops; determining (430, 530) a historical average arrival time, and associated historical arrival time variance, for a stop along the route using the historical location information (410, 510) and route information; receiving (422, 522) recent location information associated with times for a recent plurality of vehicles along the route, wherein the recent location information is separate from the historical location information (410, 510); determining (432, 532) a recent arrival time variance from the historical average arrival time at the stop, and a recent arrival time variance error at the stop, for the recent plurality of vehicles using the recent location information and route information; receiving (424, 524) current location information for a particular vehicle along the route wherein the current location information comprises a specific current location; determining (434, 534) a travel time to the stop for the particular vehicle along the route from the specific current location of the particular vehicle and route information; predicting (401, 501) a time of arrival of the particular vehicle at the stop along the route as a function of the historical average arrival time, the historical arrival time variance, the recent arrival time variance, the recent arrival time variance error, and the travel time ofthe particular vehicle to the stop; and providing the time of arrival of the particular vehicle at the stop along the route to a user.