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; 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 an opportunity score for the current network, wherein each opportunity score is associated with a particular network; and determining, based on the comparing, whether the current network is a good opportunity network for syncing mobile application data.