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 based on historical and current demand for the video delivery wherein the content delivery model of performance, the internet service provider model of performance, and the customer demand model of customer demand are generated in a service provider environment separate from the content delivery network and the internet service provider; and providing instructions for a client device, from the service provider environment, on how to request content based in part on the content delivery model, the internet service provider model or the customer demand model, wherein the instructions include at least one instruction selected from: 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.