A computer-implemented method for generating optimized navigation routes, the method comprising: receiving , by one or more computing devices from a plurality of user devices, network connectivity data, the network connectivity data including associated geographic data; generating , by the one or more computing devices and using a machine learned model, one or more connectivity metrics for a plurality of geographic areas based on the network connectivity data; receiving , by the one or more computing devices , a navigation request from a first user device , the navigation request including a destination location, an origin location, and one or more request parameters; determining , by the one or more computing devices , a route to the destination location from the origin location that meets one or more connection criteria for the route based, at least in part, on connectivity metrics associated with one or more geographic areas along the route and the one or more request parameters; and transmitting , by the one or more computing devices , data describing the route to the first user device for display; wherein the one or more request parameters include a device use characteristic representing information about how the first user device is being used; wherein the machine learned model has been trained to take network connectivity data as input and to output expected connectivity metrics for a particular geographic location and/or a particular time and date, and to determine whether the network connectivity data is representative of actual conditions by comparing the network connectivity data against other network connectivity data received from the first user device or by comparing the network connectivity data against data from other devices that report from a similar location at a similar time. receiving , by one or more computing devices from a plurality of user devices, network connectivity data, the network connectivity data including associated geographic data; generating , by the one or more computing devices and using a machine learned model, one or more connectivity metrics for a plurality of geographic areas based on the network connectivity data; receiving , by the one or more computing devices , a navigation request from a first user device , the navigation request including a destination location, an origin location, and one or more request parameters; determining , by the one or more computing devices , a route to the destination location from the origin location that meets one or more connection criteria for the route based, at least in part, on connectivity metrics associated with one or more geographic areas along the route and the one or more request parameters; and transmitting , by the one or more computing devices , data describing the route to the first user device for display; wherein the one or more request parameters include a device use characteristic representing information about how the first user device is being used; wherein the machine learned model has been trained to take network connectivity data as input and to output expected connectivity metrics for a particular geographic location and/or a particular time and date, and to determine whether the network connectivity data is representative of actual conditions by comparing the network connectivity data against other network connectivity data received from the first user device or by comparing the network connectivity data against data from other devices that report from a similar location at a similar time. <EOS>