A method comprising: receiving, by a computing device, one or more viewing policies (406-1, 406-2, 406-3) for a media program being offered via live linear programming, each viewing policy including an audience and an action to perform for the media program when user characteristics match the audience; generating, by the computing device, a linear prioritized list of audiences (424-1, 424-2, 424-3, 424-4, 502-1, 502-2, 502-3, 502-4, 502-5, 502-6, 502-7, 502-8, 502-9) and respective actions (426-1, 426-2, 426-3, 426-4) based on the one or more viewing policies (406-1, 406-2, 406-3) and a set of precedence rules associated with the actions, wherein respective actions and audiences are given respective priorities in the list in an order of priority according to the precedence rules associated with the actions; analyzing, by the computing device, the actions (426-1, 426-2, 426-3, 426-4) of the linear prioritized list in the list order to determine a base action that is an action associated with sending a content stream for the media program; selecting, by the computing device, a base audience associated with the base action and one or more previous audiences, wherein the one or more previous audiences are audiences of actions having a higher priority in the linear prioritized list than the base audience and the base action; generating, by the computing device, an audience definition for the media program from the base audience and the one or more previous audiences, the audience definition defining an audience that is allowed to view the media program and is generated based on removing the one or more previous audiences from the base audience; storing, by the computing device, the audience definition in association with the media program, wherein the audience definition is used instead of the one or more viewing policies to determine whether users may view the media program based on characteristics of the users. receiving, by a computing device, one or more viewing policies (406-1, 406-2, 406-3) for a media program being offered via live linear programming, each viewing policy including an audience and an action to perform for the media program when user characteristics match the audience; generating, by the computing device, a linear prioritized list of audiences (424-1, 424-2, 424-3, 424-4, 502-1, 502-2, 502-3, 502-4, 502-5, 502-6, 502-7, 502-8, 502-9) and respective actions (426-1, 426-2, 426-3, 426-4) based on the one or more viewing policies (406-1, 406-2, 406-3) and a set of precedence rules associated with the actions, wherein respective actions and audiences are given respective priorities in the list in an order of priority according to the precedence rules associated with the actions; analyzing, by the computing device, the actions (426-1, 426-2, 426-3, 426-4) of the linear prioritized list in the list order to determine a base action that is an action associated with sending a content stream for the media program; selecting, by the computing device, a base audience associated with the base action and one or more previous audiences, wherein the one or more previous audiences are audiences of actions having a higher priority in the linear prioritized list than the base audience and the base action; generating, by the computing device, an audience definition for the media program from the base audience and the one or more previous audiences, the audience definition defining an audience that is allowed to view the media program and is generated based on removing the one or more previous audiences from the base audience; storing, by the computing device, the audience definition in association with the media program, wherein the audience definition is used instead of the one or more viewing policies to determine whether users may view the media program based on characteristics of the users.