A method for estimating ad inventory in a video streaming system, by at least one computer, the method comprising:
- streaming, by a video streaming service, videos to clients using the video streaming system, wherein the video streaming service offers a program collection of videos that are available for requesting by the clients;
- storing electronic data records for ad impressions from advertisements played during the videos;
- determining a probability distribution of samples randomly taken from the electronic data records of the ad impressions during a first time period, among a population comprising a first combination set of targeted attributes, wherein the samples randomly taken for each of the samples comprise a second combination set of targeted attributes, and wherein the second combination set has fewer combinations than the first combination set;
- receiving an ad campaign defined by a set of parameters, the ad campaign to run for a second time period defined in the set of parameters on the video streaming service, wherein the ad campaign includes a query for a combination of targeted attributes;
- determining individual programs in the program collection being offered by the video streaming service based on the set of parameters and the combination of targeted attributes;
- forecasting which individual programs of the program collection will be released at least with respect to a time schedule of new episodes to be released during the second time period;
- defining a time-dependent projected viewership function for each program at least in part by summing a series of time-dependent projected viewership functions for individual episodes forecasted for each program, wherein each time-dependent projected viewership function comprises a linear function characterized by C+B/N, wherein ‘C’ and ‘B’ are constants, and ‘N’ represents time since initial release of a respective corresponding one of the individual episodes based on the time schedule of new episodes;
- determining a value for the constants ‘C’ and ‘B’ by analyzing viewership records for the individual episodes of each program;
- populating an electronic data structure in a computer memory relating each different combination of the targeted attributes in the second combination set to a forecasted number of available impressions in the second time period, based on the probability distribution and a forecasted total number of available impressions in the second time period that is determined based on the time-dependent viewership functions for the individual programs;
- identifying the forecasted number of available impressions in the electronic data structure for each different combination in the second combination set of the targeted attributes;
- estimating an inventory number of impressions for each different combination in the second combination set of the targeted attributes in the second time period that is available for targeting ads to be included in streamed videos of the program collection providing ad impressions having the first combination set of targeted attributes by multiplying the forecasted number of available impressions by a ratio of the forecasted total number of available impressions to a number of samples taken for the probability distribution;
- and
- retrieving the estimated inventory number of impressions from the electronic data structure based on the combination of targeted attributes being stored in the electronic data structure in an entry.