Rules Based Playlist Generation
A pool of media items to be considered for potential inclusion in a playlist. Media items in the pool can be explicitly ranked relative to one another. First media items, which includes all media items that are both available and have a rank satisfying a first rank threshold can be selected from the pool, along with a subset of any remaining media items in the pool. The subset of remaining media items can be selected by pseudo-randomly excluding particular remaining media items based on their performance history. A playlist is created using the first media items and the subset of remaining media items, and station identifiers can be inserted into the playlist. The station identifiers include tags indicating, to a playout server, a location of information to be inserted within the playlist prior to broadcast. The playlist is transmitted to a playout server for broadcast.
1 . A method for use in a server including a processor and associated memory, the method comprising:
obtaining, from a database, a pool of media items to be considered for potential inclusion in a playlist, wherein media items included in the pool of media items are explicitly ranked relative to other media items included in the pool of media items;
selecting from the pool of media items, for inclusion in the playlist, first media items, the first media items including all media items that are both available and have a rank satisfying a first rank threshold;
selecting from the pool of media items, for inclusion in the playlist, a subset of remaining media items included in the pool of media items but not selected as first media items, wherein selecting the subset of remaining media items includes pseudo-randomly excluding particular remaining media items based on a performance history associated with the particular remaining media items;
creating the playlist using the first media items and the subset of remaining media items;
inserting station identifiers into the playlist, wherein the station identifiers include tags indicating, to a playout server, a location of information to be inserted within the playlist prior to broadcast; and
transmitting the playlist to the playout server for broadcast.
2 . The method of claim 1 , wherein pseudo-randomly excluding includes:
generating a pseudo-random number for a remaining media item being considered for inclusion in the playlist; and
excluding the remaining media item from the playlist based on the pseudo-random number.
3 . The method of claim 2 , further comprising:
skewing the pseudo-random number, based on a parameter associated with the remaining media item, to alter a likelihood that the remaining media item will be excluded from the playlist.
4 . The method of claim 3 , wherein skewing the pseudo-random number includes:
skewing the pseudo-random number based on one or more of: a current ranking of a media item, a historical performance of the media item over a period of time, or a number of playlists in which the media item has been included over a period of time.
5 . The method of claim 1 , further comprising:
determining the performance history of the particular remaining media items based on a plurality of media ranking charts.
6 . The method of claim 5 , wherein determining the performance history includes:
determining whether a ranking of a particular media item indicated by a second media ranking chart has declined relative to a ranking of the particular media item indicated by a first media ranking chart; and
pseudo-randomly excluding the particular media item in response to determining that the ranking of the particular media item has declined.
7 . The method of claim 1 , wherein:
the station identifiers are associated with an announcement media item indicating a ranking of a particular media item included in the playlist relative to other media items included in the playlist.
8 . A system comprising:
a processor;
memory operably coupled to the processor;
a program of instructions to be stored in the memory and executed by the processor, the program of instructions including:
at least one instruction to obtain, from a database, a pool of media items to be considered for potential inclusion in a playlist, wherein media items included in the pool of media items are explicitly ranked relative to other media items included in the pool of media items;
at least one instruction to select from the pool of media items, for inclusion in the playlist, first media items, the first media items including all media items that are both available and have a rank satisfying a first rank threshold;
at least one instruction to select from the pool of media items, for inclusion in the playlist, a subset of remaining media items included in the pool of media items but not selected as first media items, wherein the at least one instruction to select the subset of remaining media items includes at least one instruction to pseudo-randomly exclude particular remaining media items based on a performance history associated with the particular remaining media items;
at least one instruction to create the playlist using the first media items and the subset of remaining media items;
at least one instruction to insert station identifiers into the playlist, wherein the station identifiers include tags indicating, to a playout server, a location of information to be inserted within the playlist prior to broadcast; and
at least one instruction to transmit the playlist to the playout server for broadcast.
9 . The system of claim 8 , wherein the at least one instruction to pseudo-randomly exclude includes:
at least one instruction to generate a pseudo-random number for a remaining media item being considered for inclusion in the playlist; and
at least one instruction to exclude the remaining media item from the playlist based on the pseudo-random number.
10 . The system of claim 9 , the program of instructions further including:
at least one instruction to skew the pseudo-random number, based on a parameter associated with the remaining media item, to alter a likelihood that the remaining media item will be excluded from the playlist.
11 . The system of claim 10 , wherein the at least one instruction to skew the pseudo-random number includes:
at least one instruction to skew the pseudo-random number based on one or more of: a current ranking of a media item, a historical performance of the media item over a period of time, or a number of playlists in which the media item has been included over a period of time.
12 . The system of claim 8 , the program of instructions further comprising:
at least one instruction to determine the performance history of the particular remaining media items based on a plurality of media ranking charts.
13 . The system of claim 12 , wherein the at least one instruction to determine the performance history includes:
at least one instruction to determine whether a ranking of a particular media item indicated by a second media ranking chart has declined relative to a ranking of the particular media item indicated by a first media ranking chart; and
at least one instruction to pseudo-randomly exclude the particular media item in response to determining that the ranking of the particular media item has declined.
14 . The system of claim 8 , wherein:
the station identifiers are associated with an announcement media item indicating a ranking of a particular media item included in the playlist relative to other media items included in the playlist.
15 . A non-transitory computer readable medium tangibly embodying a program of instructions, the program of instructions configured to be stored in a memory and executed by a processor, the program of instructions including:
at least one instruction to obtain, from a database, a pool of media items to be considered for potential inclusion in a playlist, wherein media items included in the pool of media items are explicitly ranked relative to other media items included in the pool of media items;
at least one instruction to select from the pool of media items, for inclusion in the playlist, first media items, the first media items including all media items that are both available and have a rank satisfying a first rank threshold;
at least one instruction to select from the pool of media items, for inclusion in the playlist, a subset of remaining media items included in the pool of media items but not selected as first media items, wherein the at least one instruction to select the subset of remaining media items includes at least one instruction to pseudo-randomly exclude particular remaining media items based on a performance history associated with the particular remaining media items;
at least one instruction to create the playlist using the first media items and the subset of remaining media items;
at least one instruction to insert station identifiers into the playlist, wherein the station identifiers include tags indicating, to a playout server, a location of information to be inserted within the playlist prior to broadcast; and
at least one instruction to transmit the playlist to the playout server for broadcast.
16 . The non-transitory computer readable medium of claim 15 , wherein the at least one instruction to pseudo-randomly exclude includes:
at least one instruction to generate a pseudo-random number for a remaining media item being considered for inclusion in the playlist; and
at least one instruction to exclude the remaining media item from the playlist based on the pseudo-random number.
17 . The non-transitory computer readable medium of claim 16 , the program of instructions further including:
at least one instruction to skew the pseudo-random number, based on a parameter associated with the remaining media item, to alter a likelihood that the remaining media item will be excluded from the playlist.
18 . The non-transitory computer readable medium of claim 17 , wherein the at least one instruction to skew the pseudo-random number includes:
at least one instruction to skew the pseudo-random number based on one or more of: a current ranking of a media item, a historical performance of the media item over a period of time, or a number of playlists in which the media item has been included over a period of time.
19 . The non-transitory computer readable medium of claim 15 , the program of instructions further comprising:
at least one instruction to determine the performance history of the particular remaining media items based on a plurality of media ranking charts.
20 . The non-transitory computer readable medium of claim 19 , wherein the at least one instruction to determine the performance history includes:
at least one instruction to determine whether a ranking of a particular media item indicated by a second media ranking chart has declined relative to a ranking of the particular media item indicated by a first media ranking chart; and
at least one instruction to pseudo-randomly exclude the particular media item in response to determining that the ranking of the particular media item has declined.