A computer program product comprising a computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:
- maintain, at an online system, a set of content items associated with a plurality of goals received from a content-providing user of the online system, the plurality of goals associated with a period of time in which the goals are to be achieved;
- receive information describing progress made by the online system towards achieving each of the plurality of goals;
- for each of one or more times within the period of time associated with the plurality of goals:
- compute a normalized ratio based at least in part on the plurality of goals and the information describing progress made by the online system towards achieving each of the plurality of goals;
- compare the normalized ratio to one or more threshold values associated with the plurality of goals;
- determine whether to adjust a value of a filter corresponding to a goal of the plurality of goals based at least in part on the comparing, the value of the filter indicating a number of impression opportunities for which one or more of the set of content items will be eligible for presentation to a viewing user of the online system;
- responsive to determining that the value of the filter corresponding to the goal should be adjusted, determine an amount by which to adjust the value of the filter based at least in part on the comparing;
- and
- adjust the value of the filter corresponding to the goal by the determined amount.