A method performed by a user device, comprising: receiving an indication that first content is available for pre-delivery from a content server to the user device over a network ; determining a fraction of the first content available for pre-delivery that satisfies one or more predicted content playback conditions by: determining minimum values of a consumption credit function (CCF) of a delivery buffer, the CCF being defined by the following equation: C t = BytesDelivered t − BytesConsumed t , where t is a time, BytesDelivered(t) is a number of bytes of second content previously delivered to the user device at the time, and where BytesConsumed(t) is a number of bytes of the second content that have been previously used by the user device in a previous playback event at the time, generating, by plotting the determined minimum values of the CCF versus uninterrupted playback probabilities associated with the user device, a cumulative-distribution (CDF) curve of an amount of the delivery buffer that was filled with the second content during the previous playback event, the second content being content previously delivered to the user device ; and determining a fraction of the first content associated with a desired uninterrupted playback probability using the CDF curve; and causing the determined fraction of the content available for pre-delivery to be delivered to the user device . receiving an indication that first content is available for pre-delivery from a content server to the user device over a network ; determining a fraction of the first content available for pre-delivery that satisfies one or more predicted content playback conditions by: determining minimum values of a consumption credit function (CCF) of a delivery buffer, the CCF being defined by the following equation: C t = BytesDelivered t − BytesConsumed t , where t is a time, BytesDelivered(t) is a number of bytes of second content previously delivered to the user device at the time, and where BytesConsumed(t) is a number of bytes of the second content that have been previously used by the user device in a previous playback event at the time, generating, by plotting the determined minimum values of the CCF versus uninterrupted playback probabilities associated with the user device, a cumulative-distribution (CDF) curve of an amount of the delivery buffer that was filled with the second content during the previous playback event, the second content being content previously delivered to the user device ; and determining a fraction of the first content associated with a desired uninterrupted playback probability using the CDF curve; and determining minimum values of a consumption credit function (CCF) of a delivery buffer, the CCF being defined by the following equation: C t = BytesDelivered t − BytesConsumed t , where t is a time, BytesDelivered(t) is a number of bytes of second content previously delivered to the user device at the time, and where BytesConsumed(t) is a number of bytes of the second content that have been previously used by the user device in a previous playback event at the time, generating, by plotting the determined minimum values of the CCF versus uninterrupted playback probabilities associated with the user device, a cumulative-distribution (CDF) curve of an amount of the delivery buffer that was filled with the second content during the previous playback event, the second content being content previously delivered to the user device ; and determining a fraction of the first content associated with a desired uninterrupted playback probability using the CDF curve; and causing the determined fraction of the content available for pre-delivery to be delivered to the user device . <EOS>