A method, comprising: by a wireless device, prior to associating with a wireless network, and for each of a plurality of available wireless networks: determining a number of active downlink nodes and a number of active uplink nodes in the respective wireless network; determining channel utilization of the respective wireless network; estimating an uplink data rate and a downlink data rate for the wireless device in the respective wireless network; and estimating an uplink throughput and a downlink throughput of the wireless device in the respective wireless network, wherein estimating the uplink throughput of each respective wireless network of the plurality of the wireless networks uses the determined number of active uplink nodes in the respective wireless network, the channel utilization of the respective wireless network, and the estimated uplink data rate for the wireless device in the respective wireless network, and wherein estimating the downlink throughput of each respective wireless network of the plurality of the wireless networks uses the determined number of active uplink nodes in the respective wireless network, the determined number of active downlink nodes in the respective wireless network, the channel utilization of the respective wireless network, and the estimated downlink data rate for the wireless device in the respective wireless network, and selecting a wireless network to join using the estimate uplink throughput and downlink throughput of the wireless device with respect to each of the plurality of available wireless networks. by a wireless device, prior to associating with a wireless network, and for each of a plurality of available wireless networks: determining a number of active downlink nodes and a number of active uplink nodes in the respective wireless network; determining channel utilization of the respective wireless network; estimating an uplink data rate and a downlink data rate for the wireless device in the respective wireless network; and estimating an uplink throughput and a downlink throughput of the wireless device in the respective wireless network, wherein estimating the uplink throughput of each respective wireless network of the plurality of the wireless networks uses the determined number of active uplink nodes in the respective wireless network, the channel utilization of the respective wireless network, and the estimated uplink data rate for the wireless device in the respective wireless network, and wherein estimating the downlink throughput of each respective wireless network of the plurality of the wireless networks uses the determined number of active uplink nodes in the respective wireless network, the determined number of active downlink nodes in the respective wireless network, the channel utilization of the respective wireless network, and the estimated downlink data rate for the wireless device in the respective wireless network, and selecting a wireless network to join using the estimate uplink throughput and downlink throughput of the wireless device with respect to each of the plurality of available wireless networks. determining a number of active downlink nodes and a number of active uplink nodes in the respective wireless network; determining channel utilization of the respective wireless network; estimating an uplink data rate and a downlink data rate for the wireless device in the respective wireless network; and estimating an uplink throughput and a downlink throughput of the wireless device in the respective wireless network, wherein estimating the uplink throughput of each respective wireless network of the plurality of the wireless networks uses the determined number of active uplink nodes in the respective wireless network, the channel utilization of the respective wireless network, and the estimated uplink data rate for the wireless device in the respective wireless network, and wherein estimating the downlink throughput of each respective wireless network of the plurality of the wireless networks uses the determined number of active uplink nodes in the respective wireless network, the determined number of active downlink nodes in the respective wireless network, the channel utilization of the respective wireless network, and the estimated downlink data rate for the wireless device in the respective wireless network, and selecting a wireless network to join using the estimate uplink throughput and downlink throughput of the wireless device with respect to each of the plurality of available wireless networks.