1. A method of synchronizing application data between a mobile device and a remote computing device, the method comprising: for each network of one or more networks: collecting network data regarding a mobile device's current connectivity state to the respective network, wherein the mobile device includes one or more mobile applications including application data; and calculating, based on the network data, an opportunity score for the respective network; detecting, at the mobile device, a current connection to a current network; comparing one or more opportunity scores for synchronizing application data, the one or more opportunity scores including a first opportunity score for the current network and a second opportunity score for a second network that has been previously connected to the mobile device, wherein each opportunity score is associated with a particular network; determining, based on the comparing, whether the current network is a good opportunity network for syncing mobile data; and in response to determining that the current network is a good opportunity network, sending a notification that the current network is a good opportunity network for syncing mobile application data.