Most of the navigation apps offers a great feature, Estimated time of Arrival. Some apps are good, some bad, but what Google Maps offers nobody does. Google estimates your ETA and as is often the case when it comes to anything involving crunching large amounts of data with numerous variables, Google is better than most.
The exact algorithm Google uses to estimate ETA is still a mystery to the outside world, but now a former Google engineer recently gave a good general explanation of how Google Maps calculates your ETA.
Former Google engineer Richard Russell wrote on Quora :
Like in similar products, Google maps ETAs are based on a variety of things, depending on the data available in a particular area. These things range from official speed limits and recommended speeds, likely speeds derived from road types, historical average speed data over certain time periods (sometimes just averages, sometimes at particular times of day), actual travel times from previous users, and real-time traffic information. They mix data from whichever sources they have, and come up with the best prediction they can make.
He explains further that navigation providers constantly compare their estimates to actual historical travel time in various traffic conditions to fine-tune their algorithms.
The companies who have access to the best usage data (ie those who are best able to compare their predictions against reality, which means those who have the most usage) are likely to end up with the best predictions in the medium to long term.
Calculating ETAs is a future-prediction problem, and traffic, while it follows certain patterns, is inherently unpredictable.
Even if you had complete knowledge of current traffic conditions and known changes (eg roadworks starting or a football match finishing), there’s nothing that can predict a crash or a slow truck changing route.
ETA projections often serve as good general guidelines, the engineer notes that accuracy isn’t likely to improve in the near future.