A system for modifying scheduled storage of a series as a function of available storage, the system comprising: means for receiving a user request to store the series; means for determining the amount of available storage remaining on a storage device; means for storing an instruction to store episodes of the series in a scheduling data structure; means for storing viewing progress of the plurality of stored episodes of the series by the user; means for generating for display options allowing the user to select a series viewing function among a plurality of series viewing functions, a series viewing function being a mathematical function that relates the amount of available storage to a threshold viewing progress; means for receiving a user selection of a series viewing function; means for calculating a threshold viewing progress by processing an amount of available storage with the series viewing function selected by the user; means for calculating an aggregated duration of stored episodes of the series by summing a duration of each stored episode of the plurality of stored episodes of the series; means for calculating a collective viewing progress by summing a current playback progress of the user of each stored episode of the plurality of stored episodes of the series; means for calculating an aggregated viewing progress by dividing the collective viewing progress by the aggregated duration of stored episodes; means for determining whether the aggregated viewing progress exceeds the threshold viewing progress; means for, in response to determining the aggregated viewing progress does not exceed the threshold viewing progress, accessing the scheduling data structure and deleting the instruction to store episodes of the series; and means for, based on the instruction to store episodes of the series, storing the plurality of episodes of the series on the storage device. means for receiving a user request to store the series; means for determining the amount of available storage remaining on a storage device; means for storing an instruction to store episodes of the series in a scheduling data structure; means for storing viewing progress of the plurality of stored episodes of the series by the user; means for generating for display options allowing the user to select a series viewing function among a plurality of series viewing functions, a series viewing function being a mathematical function that relates the amount of available storage to a threshold viewing progress; means for receiving a user selection of a series viewing function; means for calculating a threshold viewing progress by processing an amount of available storage with the series viewing function selected by the user; means for calculating an aggregated duration of stored episodes of the series by summing a duration of each stored episode of the plurality of stored episodes of the series; means for calculating a collective viewing progress by summing a current playback progress of the user of each stored episode of the plurality of stored episodes of the series; means for calculating an aggregated viewing progress by dividing the collective viewing progress by the aggregated duration of stored episodes; means for determining whether the aggregated viewing progress exceeds the threshold viewing progress; means for, in response to determining the aggregated viewing progress does not exceed the threshold viewing progress, accessing the scheduling data structure and deleting the instruction to store episodes of the series; and means for, based on the instruction to store episodes of the series, storing the plurality of episodes of the series on the storage device.