1. A system for selecting one of a plurality of video versions in response to a video request by a user of a user device having a processor, the system comprising: a computer server comprising at least one processor and a network interface card configured to connect to the user device via a network, wherein the processor comprises: a video profiler configured to provide compressibility information related to a video; a user profiler configured to predict usage patterns from a user history at the time of request; and a stream selector configured to pre-emptively select optimized bit-rates during a billing cycle by: selecting one of the plurality of video versions to deliver to the user device based on a current video utility, estimating an expected future utility of the user at different times during a billing cycle based on compressibility and usage patterns from a user history, selecting one of the plurality of video versions that maximizes the current video utility plus expected future utility of the user at selection time based on a remaining data quota, and transmitting, via the network, the selected video for display on the user device.