1. A method comprising: determining a plurality of user locations using one or more processors, the plurality of user locations determined based upon a clustering of wireless networks scanned by a network interface card communicatively coupled to the processor during an active period of the processor; determining a current location of the user, the current location being one of the plurality of user locations; and scanning for a plurality of wireless networks associated with one or more next locations, the one or more next locations selected from the plurality of user locations based upon the current user location and a measured probability.