1. A non-transitory computer-readable medium comprising computer-executable instructions which, when executed by a processor, implement a video delivery method, comprising: generating a content delivery model of performance of video delivery to a client through a content delivery network; generating an internet service provider model of performance of the video delivery to the client from an internet service provider in communication with the content delivery network; generating a customer demand model of customer demand for the video delivery, wherein the customer demand is a future demand predicted based on historical and current demand for the video delivery; and providing instructions for a client device on how to request content based in part on the performance of the content delivery network, the performance of the internet service provider and the customer demand, wherein the instructions include at least one of: which content delivery network to use for the video delivery, which edge of the content delivery network to use for the video delivery, or at what bitrate to receive the video delivery.