A method of calculating a commonly driven velocity recommendation, comprising: at a network node, using at least one processor to execute code instructions for: establishing a data communication over a wireless communication network with a plurality of client devices, each of said plurality of client devices located in a different one of a plurality of hosting vehicles; receiving over said wireless communication network a plurality of data messages transmitted in response to said establishing, from said plurality of client devices, wherein each of said plurality of data messages comprises a current location value of a respective hosting vehicle, a current bearing value of said respective hosting vehicle and a current velocity value estimated for said respective hosting vehicle; accessing at least one external source to extract driver metadata on a driver of respective each of said hosting vehicles, said external source is at least one of social networks, insurance companies and data mining sources; clustering received data of said plurality of data messages and of said extracted driver metadata in a plurality of clusters based on said location values, said bearing values and said driver metadata; calculating, for each of said clusters, a commonly driven velocity representing a computation result based on a plurality of current velocity values in said respective cluster; storing said clusters and said calculated commonly driven velocity in a memory accessible by said at least one processor; receiving an indication of a current location, a current bearing and current driver metadata thereof which matches location, bearing and driver metadata of a certain cluster of said stored clusters; in response to said receiving said indication, retrieving from said memory said commonly driven velocity; and transmitting said retrieved commonly driven velocity, over said wireless communication network to be presented as recommended to a user of a vehicle from which said indication was provided, wherein said driver metadata includes at least one of driver age, driver gender and vehicle type. establishing a data communication over a wireless communication network with a plurality of client devices, each of said plurality of client devices located in a different one of a plurality of hosting vehicles; receiving over said wireless communication network a plurality of data messages transmitted in response to said establishing, from said plurality of client devices, wherein each of said plurality of data messages comprises a current location value of a respective hosting vehicle, a current bearing value of said respective hosting vehicle and a current velocity value estimated for said respective hosting vehicle; accessing at least one external source to extract driver metadata on a driver of respective each of said hosting vehicles, said external source is at least one of social networks, insurance companies and data mining sources; clustering received data of said plurality of data messages and of said extracted driver metadata in a plurality of clusters based on said location values, said bearing values and said driver metadata; calculating, for each of said clusters, a commonly driven velocity representing a computation result based on a plurality of current velocity values in said respective cluster; storing said clusters and said calculated commonly driven velocity in a memory accessible by said at least one processor; receiving an indication of a current location, a current bearing and current driver metadata thereof which matches location, bearing and driver metadata of a certain cluster of said stored clusters; in response to said receiving said indication, retrieving from said memory said commonly driven velocity; and transmitting said retrieved commonly driven velocity, over said wireless communication network to be presented as recommended to a user of a vehicle from which said indication was provided, wherein said driver metadata includes at least one of driver age, driver gender and vehicle type.