This disclosure relates generally to computer processing, and, more particularly, to methods, systems, and apparatus to estimate census-level audience, impressions, and durations across demographics.
Media content is accessible to users through a variety of platforms. For example, media content can be viewed on television sets, via the Internet, on mobile devices, in-home or out-of-home, live or time-shifted, etc. Understanding consumer-based engagement with media within and across a variety of platforms (e.g., television, online, mobile, and emerging) allows content providers and website developers to increase user engagement with their media content.
The figures are not to scale. In general, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts. Connection references (e.g., attached, coupled, connected, and joined) are to be construed broadly and may include intermediate members between a collection of elements and relative movement between elements unless otherwise indicated. As such, connection references do not necessarily infer that two elements are directly connected and in fixed relation to each other.
Descriptors “first,” “second,” “third,” etc. are used herein when identifying multiple elements or components which may be referred to separately. Unless otherwise specified or understood based on their context of use, such descriptors are not intended to impute any meaning of priority, physical order or arrangement in a list, or ordering in time but are merely used as labels for referring to multiple elements or components separately for ease of understanding the disclosed examples. In some examples, the descriptor “first” may be used to refer to an element in the detailed description, while the same element may be referred to in a claim with a different descriptor such as “second” or “third.” In such instances, it should be understood that such descriptors are used merely for ease of referencing multiple elements or components.
Audience measurement entities (AMEs) perform measurements to determine the number of people (e.g., an audience) who engage in viewing television, listening to radio stations, or browsing websites. Given that companies and/or individuals producing content and/or advertisements want to understand the reach and effectiveness of their content, it is useful to identify such information. To achieve this, companies such as The Nielsen Company, LLC (US), LLC utilize on-device meters (ODMs) to monitor usage of cellphones, tablets (e.g., iPads™) and/or other computing devices (e.g., PDAs, laptop computers, etc.) of individuals who volunteer to be part of a panel (e.g., panelists). Panelists are users who have provided demographic information at the time of registration into a panel, allowing their demographic information to be linked to the media they choose to listen to or view. As a result, the panelists (e.g., the audience) represent a statistically significant sample of the large population (e.g., the census) of media consumers, allowing broadcasting companies and advertisers to better understand who is utilizing their media content and maximize revenue potential.
An on-device meter (ODM) can be implemented by software that collects data of interest concerning usage of the monitored device. The ODM can collect data indicating media access activities (e.g., website names, dates/times of access, page views, duration of access, clickstream data and/or other media identifying information (e.g., webpage content, advertisements, etc.)) to which a panelist is exposed. This data is uploaded, periodically or aperiodically, to a data collection facility (e.g., the audience measurement entity server). Given that a panelist submits their demographic data when registering with an AME, ODM data is advantageous in that it links this demographic information and the activity data collected by the ODM. Such monitoring activities are performed by tagging Internet media to be tracked with monitoring instructions, such as based on examples disclosed in Blumenau, U.S. Pat. No. 6,108,637, which is hereby incorporated herein by reference in its entirety. Monitoring instructions form a media impression request that prompts monitoring data to be sent from the ODM client to a monitoring entity (e.g., an AME such as The Nielsen Company, LLC) for purposes of compiling accurate usage statistics. Impression requests are executed whenever a user accesses media (e.g., from a server, from a cache). When a media user is also a part of the AME's panel (e.g., a panelist), the AME is able to match panelist demographics (e.g., age, occupation, etc.) to the panelist's media usage data (e.g., user-based impression count, user-based impression duration). As used herein, an impression is defined to be an event in which a home or individual accesses and/or is exposed to media (e.g., an advertisement, content in the form of a page view or a video view, a group of advertisements and/or a collection of content, etc.).
Database proprietors operating on the Internet (e.g., Facebook, Google, YouTube, etc.) provide services (e.g., social networking, streaming media, etc.) to registered subscribers. By setting cookies and/or other device/user identifiers, database proprietors can recognize their subscribers when the subscribers use the designated services. Examples disclosed in Mainak et al., U.S. Pat. No. 8,370,489, which is incorporated herein in its entirety, permit AMEs to partner with database proprietors to collect more extensive Internet usage data by sending an impression request to a database proprietor after receiving an initial impression request from a user (e.g., as a result of viewing an advertisement). Since the user may be a non-panelist (e.g., not a member of an AME panel with available associated demographics data), the AME can obtain data from the database proprietor corresponding to subscribers, given that the database proprietor logs/records a database proprietor demographic impression for the user if the given user is a subscriber. However, to protect the privacy of their subscribers, database proprietors generalize subscriber-level audience metrics by aggregating data. The AME therefore has access to third-party aggregate subscriber-based audience metrics where impression counts and unique audience sizes are reported by demographic category (e.g., females 15-20, males 15-20, females 21-26, males 21-26, etc.).
As used herein, a unique audience size is based on audience members distinguishable from one another, such that a single audience member/subscriber exposed a multiple number of times to the same media is identified as a single unique audience member. As used herein, a universe audience (e.g., a total audience) for media is a total number of persons that accessed the media in a particular geographic scope of interest and/or during a time of interest relating to media audience metrics. Determining if a larger unique audience is reached by certain media (e.g., an advertisement) can be used to identify if an AME client (e.g., an advertiser) is reaching a larger audience base. When an AME logs an impression for access to media by a user not associated with any demographic information, the logged impression counts as a census-level impression. As such, multiple census-level impressions can be logged for the same user since the user is not identified as a unique audience member. Estimation of census-level unique audience, impression counts (e.g., number of times a webpage has been viewed), and impression durations for individual demographics can increase the accuracy of usage statistics provided by monitoring entities such as AMEs.
In some examples, for census-level information, an AME has access to the total impression counts (e.g., total number of times a webpage was viewed) and total duration of impressions (e.g., length of time the webpage was viewed), but not the total unique audience (e.g., total number of distinguishable users). The AME can receive additional third-party data limited to users who subscribe to services provided by the third-party, for example, a database proprietor. For example, whereas census-level data includes total impression count and total impression duration for individuals whose demographic information may not be available, the third-party level data includes subscriber-level data for audience size, impression counts, and impression durations that are tied to particular demographics (e.g., demographic-level data). As such, third-party data can provide the AME with partial audience, impression count, and impression duration information down to an aggregate demographic level based on matching of subscriber data to different demographic categories as performed by the database proprietor providing the third-party data. However, in the interest of subscriber privacy, third-party data does not provide audience, impression counts, and durations of impressions tied to a particular subscriber. Example methods, systems and apparatus disclosed herein allow estimation of census-level audience size, impression counts, and impression durations across different demographic categories based on third-party subscriber data that provides audience size, impression counts, and impression durations across the different demographic categories for a subset of the population universe.
Examples disclosed herein use two variables (e.g., number of impressions and impression duration in the census-level and subscriber-based database per individual) that are solved independent of the actual number of available demographics. Examples disclosed herein utilize third-party subscriber-level audience metrics that provide partial information on impression counts, impression duration, and unique audience sizes to overcome the anonymity of census-level impressions when estimating total unique audience sizes for media. Examples disclosed herein apply information theory to derive a solution to parse census-level information into demographics-based data. In examples disclosed herein, a census-level audience metrics estimator determines census-level unique audience, impression counts, and impression durations across demographics by determining probabilities of an individual in a given demographic being a member of the third-party subscriber data for each of the audience size, impression count, and impression duration, determining a probability divergence between the third-party subscriber data and census-level data, and establishing a search space within bounds based on equality constraints that are defined by the summation of the census-level impression counts per demographic being equal to the total reference census-level impression count, and the summation of the census-level impression duration for each demographic being equal to the total reference census-level impression duration. The examples disclosed herein permit estimations that are logically consistent with all constraints, scale independence and invariance.
While examples disclosed herein are described in connection with website media exposure monitoring, disclosed techniques may also be used in connection with monitoring of other types of media exposure not limited to websites. Examples disclosed herein may be used to monitor for media impressions of any one or more media types (e.g., video, audio, a webpage, an image, text, etc.). Furthermore, examples disclosed herein can be used for applications other than audience monitoring (e.g., determining population size, number of attendees, number of observations, etc.). While the disclosed examples include data sets pertaining to impression counts and/or audiences, the data sets can also include data derived from other sources (e.g., monetary transactions, medical data, etc.).
Users 110 include any individuals who access media on one or more user device(s) 112, such that the occurrence of access and/or exposure to media creates a media impression (e.g., viewing of an advertisement, a movie, a web page banner, a webpage, etc.). The example users 110 can include panelists that have provided their demographic information when registering with the example AME 130. When the example users 110 who are panelists utilize example user devices 112 to access media content through the example network 114, the AME 130 (e.g., AME servers) stores panelist activity data associated with their demographic information. The users 110 also include individuals who are not panelists (e.g., not registered with the AME 130). The users 110 include individuals who are subscribers to services provided by the database proprietor 120 and utilize these services via their user device(s) 112.
User devices 112 can be stationary or portable computers, handheld computing devices, smart phones, Internet appliances, and/or any other type of device that may be connected to a network (e.g., the Internet) and capable of presenting media. In the illustrated example of
In some examples, media (also referred to as a media item) is tagged or encoded to include monitoring or tag instructions. The monitoring instructions are computer executable instructions (e.g., Java or any other computer language or script) executed by web browsers accessing media content (e.g., via network 114). Execution of monitoring instructions causes the web browser to send an impression request to the servers of the AME 130 and/or the database proprietor 120. Demographic impressions are logged by the database proprietor 120 when user devices 112 accessing media are identified as belonging to registered subscribers to database proprietor 120 services. The database proprietor 120 stores data generated for registered subscribers in the subscriber data storage 122. Likewise, the AME 130 logs census-level media impressions (e.g., census-level impressions) for user devices 112, regardless of whether demographic information is available for such logged impressions. The AME 130 stores census-level data information in the census-level data storage 132. Further examples of monitoring instructions and methods of collecting impression data are disclosed in U.S. Pat. No. 8,370,489 entitled “Methods and Apparatus to Determine Impressions using Distributed Demographic Information,” U.S. Pat. No. 8,930,701 entitled “Methods and Apparatus to Collect Distributed User Information for Media Impressions and Search Terms,” and U.S. Pat. No. 9,237,138 entitled “Methods and Apparatus to Collect Distributed User Information for Media Impressions and Search Terms,” all of which are hereby incorporated herein by reference in their entireties.
The AME 130 operates as an independent party to measure and/or verify audience measurement information relating to media accessed by subscribers of the database proprietor 120. When media is accessed by users 112, the AME 130 stores census-level information in the census-level data storage 132, including total impression counts 134 (e.g., number of webpage views), and total impression durations 136 (e.g., length of time that a webpage was viewed). The third-party database proprietor 120 provides the AME 130 with aggregate subscriber data that obfuscates the person-specific data, such that reference aggregates among the individuals within a demographic are available (e.g., third-party aggregate subscriber-based audience metrics). For example, the subscriber audience data 124, the impression counts data 126, and impression durations data 128 are provided at a demographic level (e.g., females 15-20, males 15-20, females 21-26, males 21-26, etc.). For example, the subscriber audience data 124 corresponds to unique audience size data in the aggregate per demographic category.
The audience metrics estimator 140 of the AME 130 receives third-party aggregate subscriber-based audience metrics data (e.g., audience size data 124, impression counts data 126, and impression duration data 128). The audience metrics estimator 140 uses the aggregate data to estimate census-level audience size data, census-level impression counts data, and census-level impression duration data. In addition, the audience metrics estimator 140 uses the census-level data available to the AME 130 (e.g., total impression counts 134 and total impression durations 136) to make the census-level audience, impressions, and duration estimates for the subscriber-based data, as further described below in connection with
The data storage 210 stores third-party aggregate subscriber-based audience metrics data retrieved from the third-party database proprietor 120. For example, data retrieved from the third-party database proprietor 120 and stored in the data storage 210 can include subscriber data 122 (e.g., third-party audience size 124, third-party impression counts 126, and third-party impression duration 128). The data storage 210 can also store census-level data 132 (e.g., total impressions 134 and total impression durations 136). The audience metrics estimator 140 can retrieve the third-party and census-level data from the data storage 210 to perform census-level estimation calculations (e.g., determine census-level unique audience size, census-level impression counts, and census-level impression durations for a given demographic). The data storage 210 may be implemented by any storage device and/or storage disc for storing data such as, for example, flash memory, magnetic media, optical media, etc. Furthermore, the data stored in the data storage 210 may be in any data format such as, for example, binary data, comma delimited data, tab delimited data, structured query language (SQL) structures, etc. While in the illustrated example the data storage 210 is illustrated as a single database, the data storage 210 can be implemented by any number and/or type(s) of databases.
The probability distribution generator 220 generates a single estimate of the probability distribution for any individual within a given population, such that the distribution is subject to a probability of the individual being in the audience, having an average number impressions (e.g., page views), and having an average impression duration.
The distribution parameter solver 222 solves for parameters associated with the probability distributions for each individual of a given population. The distribution parameter solver 222 can use the iterator 224 and the converger 226 to determine the final probability distribution parameters based on whether the parameters can be solved for directly or require the use of an iterator to converge to the final solution. For example, the probability distribution generator 220 assigns probability density functions, marginal probabilities, and/or person-specific probability distributions to third-party subscriber-based audience individuals. In some examples, probability density functions are assigned to subscriber audience individuals using data for third-party subscriber impressions 126 and impression durations 128, using a marginal probability of having a number of impressions (n) independent of the impression duration (t). In some examples, the probability distribution generator 220 assigns person-specific probability distributions for individuals within a demographic (k) based on the probability of the individual being in an audience, having an average impression count, and having an average impression duration, as described in more detail in association with
The probability divergence determiner 230 uses an example search space identifier 232, an example divergence parameter solver 234, an example iterator 236, and an example census-level output calculator 238 to determine census-level audience, page views, and durations across demographics.
The probability divergence determiner 230 can be used to determine probability divergences between prior and posterior distributions in a given demographic using available third-party subscriber data 122 and census-level data 132 of
To yield the solutions to census-level audience, impression counts, and impression durations for different demographic categories based on the probability divergence, the probability divergence determiner 230 uses the search space identifier 232 to establish a search space within a given set of bounds based on census-level impression and duration equality constraints. For example, once the equality constraints are established, the divergence parameter solver 234 can evaluate the divergence parameters based on the equality constraints. In some examples, the divergence parameter solver 234 uses the iterator 236 to iterate over the search space determined by the search space identifier 232 until the equality constraints are satisfied (e.g., the equality constraints defined by the summation of the census-level impression counts per demographic being equal to the total reference census-level impression count, and the summation of the census-level impression duration for each demographic being equal to the total reference census-level impression duration). The census-level output calculator 238 estimates census-level individual data (e.g., audience, impressions, and duration) based on solutions that satisfy the above equality constraints, as described in more detail in association with
While an example manner of implementing the audience metrics estimator 140 is illustrated in
Flowcharts representative of example machine readable instructions for implementing the example audience metrics estimator 140 of
The machine readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a fragmented format, a packaged format, etc. Machine readable instructions as described herein may be stored as data (e.g., portions of instructions, code, representations of code, etc.) that may be utilized to create, manufacture, and/or produce machine executable instructions. For example, the machine readable instructions may be fragmented and stored on one or more storage devices and/or computing devices (e.g., servers). The machine readable instructions may require one or more of installation, modification, adaptation, updating, combining, supplementing, configuring, decryption, decompression, unpacking, distribution, reassignment, etc. in order to make them directly readable and/or executable by a computing device and/or other machine. For example, the machine readable instructions may be stored in multiple parts, which are individually compressed, encrypted, and stored on separate computing devices, wherein the parts when decrypted, decompressed, and combined form a set of executable instructions that implement a program such as that described herein.
In another example, the machine readable instructions may be stored in a state in which they may be read by a computer, but require addition of a library (e.g., a dynamic link library (DLL)), a software development kit (SDK), an application programming interface (API), etc. in order to execute the instructions on a particular computing device or other device. In another example, the machine readable instructions may need to be configured (e.g., settings stored, data input, network addresses recorded, etc.) before the machine readable instructions and/or the corresponding program(s) can be executed in whole or in part. Thus, the disclosed machine readable instructions and/or corresponding program(s) are intended to encompass such machine readable instructions and/or program(s) regardless of the particular format or state of the machine readable instructions and/or program(s) when stored or otherwise at rest or in transit.
The machine readable instructions described herein can be represented by any past, present, or future instruction language, scripting language, programming language, etc. For example, the machine readable instructions may be represented using any of the following languages: C, C++, Java, C #, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift, etc.
As mentioned above, the example processes of
“Including” and “comprising” (and all forms and tenses thereof) are used herein to be open ended terms. Thus, whenever a claim employs any form of “include” or “comprise” (e.g., comprises, includes, comprising, including, having, etc.) as a preamble or within a claim recitation of any kind, it is to be understood that additional elements, terms, etc. may be present without falling outside the scope of the corresponding claim or recitation. As used herein, when the phrase “at least” is used as the transition term in, for example, a preamble of a claim, it is open-ended in the same manner as the term “comprising” and “including” are open ended. The term “and/or” when used, for example, in a form such as A, B, and/or C refers to any combination or subset of A, B, C such as (1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, (6) B with C, and (7) A with B and with C. As used herein in the context of describing structures, components, items, objects and/or things, the phrase “at least one of A and B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing structures, components, items, objects and/or things, the phrase “at least one of A or B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. As used herein in the context of describing the performance or execution of processes, instructions, actions, activities and/or steps, the phrase “at least one of A and B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing the performance or execution of processes, instructions, actions, activities and/or steps, the phrase “at least one of A or B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.
As used herein, singular references (e.g., “a”, “an”, “first”, “second”, etc.) do not exclude a plurality. The term “a” or “an” entity, as used herein, refers to one or more of that entity. The terms “a” (or “an”), “one or more”, and “at least one” can be used interchangeably herein. Furthermore, although individually listed, a plurality of means, elements or method actions may be implemented by, e.g., a single unit or processor. Additionally, although individual features may be included in different examples or claims, these may possibly be combined, and the inclusion in different examples or claims does not imply that a combination of features is not feasible and/or advantageous.
For purposes of deriving the solution to individual probability distribution estimates using the example probability distribution generator 220, an assumption is made that there are a total of U individuals in the total population. The uncertainty with a collection of U probability distributions going across the possibility of each individual having any impression counts (n) and any impression durations (t), along with not having any impressions, can be expressed using the domain of n={1, . . . , ∞} and t∈(0,∞), respectively, for each person, such that, for example, if U=5, persons 1-5 are assigned probabilities as follows: [p0(1), pn,t(1)], [p0(2), pn,t(2)], [p0(3), pn,t(3)], [p0(4), pn,t(4)], and [p0(5), pn,t(5)]. The probability distribution generator 220 assigns p0(i) as the probability that the ith person did not have any impression counts (e.g., point mass distribution), and assigns pn,t(i) as the probability density function that represents the probabilities that the ith person has n impressions with a duration t, where the duration t corresponds to the total duration for the n impressions. In some examples, the continuous portion, for given numbers of impressions n of webpage views, can be a distribution of duration of the average video per webpage view, thereby representing an average impression duration per impression count. Since the only census-level aggregate information available is total impression counts (e.g., total impressions 134) and total impression durations (e.g., total duration 136), the average duration per a webpage view is considered to be constant. For example, users who register one webpage view are more likely to watch longer videos than users who watch 100 webpage views. While users with a record of 100 webpage views can have video views that are shorter compared to users with 1 webpage view only, their total duration is assumed to be equal (e.g., 1 view×10 minute average per view=5 views×2 minute average per view=10 minute duration). Based on this information, the probability distribution generator 220 assigns a marginal probability of having n impressions independent of the impression duration t. The marginal probability of a user having n impression counts (e.g., n webpage views), independent of the duration of these impressions, can be expressed in accordance with Equation 1 below:
Pr(n)=∫0∞pn,t(i)dt Equation 1
The total probability for each individual can be further expressed in accordance with Equation 2 below, such that the combination of all probabilities associated with an individual is constrained to a total of 1:
p
0
(i)+Σn=1∞∫0∞pn,t(i)dt=1 Equation 2
In examples in which no information on individual behavior is available, each individual within a given demographic is assigned the same probability distribution. For example, if 100 individuals have a total of 300 impression counts (e.g., page views), with a total duration of 600 minutes, each person has, on average, a total of 3 impression counts with a total duration of 6 minutes, with each impression count having an average duration of 2 minutes.
Given that the audience metrics estimator 140 has access to third-party subscriber information (e.g., audience data 124, impression count data 126, and duration data 128), a person-specific distribution can be generated (e.g., by dividing the data amongst the individuals within a demographic) in accordance with Equations 3-7 below:
The probability distribution generator 220 assigns the person-specific distribution (H) of Equation 3, which provides an estimate of the distribution for any individual within the population, subject to the constraints of Equations 4-7. Equation 4 represents the constraint that the estimated probability distribution for a given individual totals to 1 (explained in connection with Equations 1-2 above). Equation 5 is a constraint governing the probability of an individual being in the audience (e.g., having at least one impression) (d1). Equation 6 is a constraint governing the average impression count (d2) for an individual. Equation 7 is a constraint governing the average impression duration (d3) for an individual. The probability distribution generator 220 thereby assigns and initializes values for a person-specific probability distribution (H) for individuals within a demographic based on the presented constraints of Equations 4-7 (block 404). The probability distribution generator 220 can re-arrange the solution to the person-specific distribution problem of Equations 3-7 (e.g., express in terms of z notation) in accordance with Equations 9-12, subject to the final solution for the set of {zj} expressed in accordance with Equation 8 (block 406):
The distribution parameter solver 222 solves for the variables z0, z1, z2, and z3. In some examples, the distribution parameter solver 222 can solve for z0 and z3 directly, while the solution to z1 is obtained directly based on the solution to z2, which can be solved using, for example, fixed-point iteration with the iterator 224 (block 408). For example, the direct solutions to z0 and z3 are represented below by Equations 13 and 14, respectively. The solution to z2 can be represented in terms of Equation 15, such that the solution to z1 is based on the solution to z2, as shown in Equation 16:
In the examples presented herein, the iterator 224 applies fixed-point iteration to generate a solution to z2, such that a unique solution within 0≤z2≤1 can be identified provided that d2≥d1 (e.g., impression counts (d2) are equal to or surpass the number of individuals in the audience (d1)). For example, an assumption can be made that at least one audience member has at least one impression count. Iterator 224 generates an expression for z2 using, for example, fixed-point iteration, consisted with Equation 17. A first order approximation for the initial starting value is shown in Equation 18. The iterator 224 proceeds to iterate based on the initial starting value (e.g., Equation 18), and the converger 2226 is used to converge to a final solution of the individual probability distribution estimate (H):
In some examples, the convergence to the final solution can be accomplished using any method that permits a convergence (e.g., convergence algorithm), and is not limited to the use of a fixed-point iteration described above as an example method of solving for the individual probability distribution estimate (H).
Once a solution to the individual probability distribution estimate is available, an estimate of any probability can be calculated for each individual (e.g., audience member). For example, if among 100 individuals there is an audience of 50 people and 200 impression counts (e.g., page views) with 400 time units of duration, z0, z1, z2, and z3) can be solved for as shown below in Example 1, based on Equations 13-18:
In this example, the estimate of any probability can be calculated for each individual, such that if p0=z0=0.5, there is a 50% chance of the individual having no impression counts with no duration. To estimate the probability of the audience in this example having 3 impression counts (e.g., n=3), the audience metric estimator 140 can apply Equation 1 to generate an estimate, as shown below in Example 2:
Pr(n=3)=∫0∞p3,tdt≈0.05258 Example 2
The audience metric estimator 140 can also determine the total impression duration given n impression counts as shown in Example 3, where the denominator represents the probability of being in the audience and the numerator represents the average duration of the n impressions:
The expression of Example 3 is independent of the impression count n. For example, the numerator is multiplied by n with a focus on individuals who have i impression counts to yield the total duration given n impression counts. However, the solution is independent of the unknown number of impression counts that an individual is associated with (e.g., based on information presented in Example 1, there are 400 units of duration among 50 individuals, yielding an average of 8 time units).
In Equations 19-22, the probability that a specific individual in the kth demographic is a member of the third-party aggregated subscriber audience total (Ak) is defined as Ak/Uk, the probability that a specific individual in the kth demographic has impression counts in the third-party aggregated subscriber impression count total (Rk) is defined as Rk/Uk, and the probability that a specific individual in the kth demographic has an impression duration in the third-party aggregated impression duration total (Dk) is defined as Dk/Uk. In the examples disclosed herein, the audience metrics estimator 140 accesses third-party data (e.g., subscriber data 122 of
In Equation 23, the divergence parameter solver 234 expresses the KL divergence in terms of z notation, referring to the solutions to z0, z1, z2, and z3 determined in Equations 13-16 as previously described, and reproduced below as Equations 24-27:
In some examples, the divergence parameter solver 234 expands Equation 23 to yield a description of how any specific individual's distribution within the kth demographic can change, in accordance with Equation 28:
Given that all individuals in a kth demographic are assumed to have the same behavior, the divergence parameter solver 234 multiplies KL(Pk: Qk) by the number of individuals in the kth demographic (Uk) to determine how the individuals within a demographic can change collectively (e.g., since the divergences are the same, multiplication is used instead of adding the KL-divergence of each individually together). To determine the total divergence across the population, the divergence parameter solver 234 sums across all divergences and across all demographics, in accordance with Equation 29 (block 604):
KL(P:Q)=Σk=1KUk(KL(Pk:Qk)) Equation 29
To fully describe the behavior of audiences and durations, the divergence parameter solver 234 minimizes Equation 29 in accordance with Equation 30:
In Equation 30, (Xk), (Tk), and (Vk) represent census-level data pertaining to unique audience size, impression counts, and impression duration, respectively, all of which are unknown. However, Equation 30 is subject to reference values of the total census-level impression counts (7) and the total reference census-level impression duration (V) (e.g., total impressions 134 and total duration 136). In some examples, the divergence parameter solver 234 solves the system of Equation 30 by taking a Lagrangian () of the system in accordance with Equations 31-34, where the solution is for all (∀) demographics k={1, 2, . . . , K}, in addition to setting the partial derivative with respect to the Lagrange multipliers (λ1 and λ2) equal to 0 (e.g., Equation 35):
The divergence parameter solver 234 solves the Lagrangian of Equation 31 using the Lagrange multipliers (λ1 and λ2) to represent the census-level impression count constraint (λ1), included within the reference census-level data for total census-level impression counts (T), and the census-level impression duration constraint (λ2), included within the total reference census-level impression duration (V). Other than the constraints of total impression counts (λ1) and total impression durations (λ2) across demographics (k), each demographic is mutually exclusive and does not impact the other demographics. Therefore, besides that addition of the constraints noted above, the Lagrangian-based () derivative of census-level unique audience size {Xk}, impression counts {Tk}, and impression duration {Vk} involve terms of the same demographic (e.g., females 35-40 years of age).
The search space identifier 232 establishes a search space {δ1, δ2} within bounds based on the census-level impression (λ1) and census-level duration (λ2) equality constraints (blocks 602, 604). For example, the search space {δ1, δ2} can be defined in accordance with
In Equation 36, the upper limit of δ1 is defined as 1/max (zQ2,k) across all demographics (k), where z2 corresponds to the solution to z2 determined in Equations 17-18 and Q corresponds to the prior distribution associated with third-party subscriber data. In Equation 37, the upper limit of δ2 is defined by the minimum of third-party subscriber audience size (Ak) per impression duration (Dk) across all demographics within the third-party subscriber data. Example derivations of the search space {δ1, δ2} and corresponding Lagrangian solution derivation to Equations 30-31 are described in further detail in the “Example Lagrangian Solution” sub-section below.
Once the probability divergence determiner 230 has derived the solution to Equations 30-31 and the search space identifier 232 has identified the search space {δ1, δ2}, the divergence parameter solver 234 evaluates the divergence parameters based on z0, z1, z2, and z3 and the search space parameters using the iterator 236 and census-level output calculator 238 (block 606), verifying that the equality constraints are met to estimate census-level individual data for unique audience size {Xk}, impression counts {Tk}, and impression duration {Vk} (block 608). For example, the solution to Equations 30-31 can be expressed in accordance with Equations 38-43 (as described in the “Example Lagrangian Solution” sub-section, where derivations for c0, c1, c2, c3, c4 are shown in Equations 79-83):
Equations 38-39 represent the census-level data estimates for vectors {Xk, Tk, Vk} when the iterator 236 iterates over the search space {δ1, δ2} established by the search space identifier 232 and the census-level output calculator 238 verifies that the equality constraints (e.g., corresponding to the reference total census-level impression counts (T) and the reference total census-level impression duration (V)) have been met. In some examples, the census-level output calculator 238 verifies that the equality constraint is valid for census-level audience metrics across all demographics. As such, access to the third-party subscriber data allows the audience metrics estimator 140 to estimate the census-level unique audience size, impression counts, and impression duration by solving for {Xk, Tk, Vk}.
Using the example calculations of Example 4 above, the remaining probabilities can be determined for all demographics k to generate an example vector for each of the zQ values (Example 5):
z
0
Q={0.7000,0.9000,0.9667}
z
1
Q={0.0107,0.0059,0.0038}
z
2
Q={0.9301,0.9034,0.8510}
z
3
Q={0.9355,0.8839,0.8119} Example 5
Example 6 shows an example search within the space defined by Equations 36-37 and the resulting example solution for {δ1, δ2}, based on constraints as defined by Equation 30:
Based on Equations 79-83 (see “Example Lagrangian Solution” sub-section), solutions for the first demographic can be determined as follows in Example 7:
c
0=δ1z2Q=+0.9565
c
1=log(1−c0)=−3.1361
c
2=δ2+log(z3Q)=−0.0399
c
3
=z
1
Q
c
1
+c
2=−0.0736
c
4
=Uz
1
Q=+10.7395
Equations 38-40 can be used to determine the solutions to the census-level unique audience size (e.g., X1), census-level impression counts (e.g., T1), and census-level impression duration (e.g., V1) for demographic k=1, as shown in Example 8:
Solutions for demographics k=2 and k=3 can similarly be identified using the approach described above, consistent with the vectors generated in Examples 9 and 10:
c
0={+0.9565,+0.9291,+0.8752}
c
1={−3.1361,−2.6459,−2.0812}
c
2={−0.0399,−0.0967,−0.1816}
c
3={−0.0736,−0.1123,−0.1895}
c
4={+10.7395,+11.7410,+11.3203} Example 9
X={457.4870,276.7211,124.3517}
T={3,211.3,1,369.6,419.1}
V={11,454,2,861,685} Example 10
The solution above is valid when the census-level constraints are met, as noted in Example 6. For example, the above solution (e.g., Example 10) is consistent with Σ T=5,000 and Σ V=15,000. The final values determined above are populated in the table 820 of
d
0
Q={1.0000,1.0000,1.0000}
d
1
Q={0.3000,0.1000,0.0333}
d
2
Q={1.5000,0.4000,0.1000}
d
3
Q={0.0750,0.0135,0.0027} Example 11
The zQ vectors can be solved using the dQ vectors of Example 11, the solutions for the zQ vectors shown in Example 12:
z
0
Q={0.7000,0.9000,0.9667}
z
1
Q={0.6444,0.3522,0.2264}
z
2
Q={0.9301,0.9034,0.8510}
z
3
Q={0.0183,0.0006,0.0000}
As previously described, the search space and corresponding solution for {δ1, δ2} can be expressed as shown in Example 13 below:
Census-level estimates for the census-level data 848 of table 840 can be determined based on the calculations performed in Examples 11-13, such that the final vectors and census-level estimates satisfying the set constraints can be expressed as shown below in Examples 14 and 15:
c
0={0.9565,0.9291,0.8752}
c
1={−3.1361,−2.6459,−2.0812}
c
2={−2.3964,−5.8038,−10.8964}
c
3={−4.4172,−6.7357,−11.3676}
c
4={644.3716,704.4621,679.2174} Example 14
X={457.4870,276.7211,124.3517}
T={3,211.3,1,369.6,419.1}
V={190.9083,47.6795,11.4122} Example 15
Based on these results, the table 840 of
The processor platform 1000 of the illustrated example includes a processor 1006. The processor 1006 of the illustrated example is hardware. For example, the processor 1006 can be implemented by one or more integrated circuits, logic circuits, microprocessors, GPUs, DSPs, or controllers from any desired family or manufacturer. The hardware processor 1006 may be a semiconductor based (e.g., silicon based) device. In this example, the processor 1006 implements the example probability distribution generator 220 and the example probability divergence determiner 230 of
The processor 1006 of the illustrated example includes a local memory 1008 (e.g., a cache). The processor 1006 of the illustrated example is in communication with a main memory including a volatile memory 1002 and a non-volatile memory 1004 via a bus 1018. The volatile memory 1002 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS® Dynamic Random Access Memory (RDRAM®) and/or any other type of random access memory device. The non-volatile memory 1004 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1002, 1004 is controlled by a memory controller.
The processor platform 1000 of the illustrated example also includes an interface circuit 1014. The interface circuit 1014 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), a Bluetooth® interface, a near field communication (NFC) interface, and/or a PCI express interface.
In the illustrated example, one or more input devices 1012 are connected to the interface circuit 1014. The input device(s) 1012 permit(s) a user to enter data and/or commands into the processor 1006. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
One or more output devices 1016 are also connected to the interface circuit 1014 of the illustrated example. The output devices 1016 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube display (CRT), an in-place switching (IPS) display, a touchscreen, etc.), a tactile output device, a printer and/or speaker. The interface circuit 1014 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor.
The interface circuit 1014 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem, a residential gateway, a wireless access point, and/or a network interface to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1024. The communication can be via, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a line-of-site wireless system, a cellular telephone system, etc.
The processor platform 1000 of the illustrated example also includes one or more mass storage devices 1010 for storing software and/or data. Examples of such mass storage devices 1010 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, redundant array of independent disks (RAID) systems, and digital versatile disk (DVD) drives. The mass storage device 1010 includes the example data storage 202 of
Machine executable instructions 1020 represented in
The Lagrangian across all K demographics, including the census-level views and duration constrains as well as multipliers, is defined using Equations 29 and 31, as previously described above and reproduced below:
KL(P:Q)=Σk=1KUk(KL(Pk:Qk)) Equation 29
=KL(P:Q)−λ1(Σk=1KTk−T)−λ2(Σk=1KVk−V) Equation 31
Given that each demographic is independent except for census-based constraints, the subscript k is dropped in the derivation presented below describing the solution based on a single demographic to illustrate the derivation process. Equations 29 and 31 can be expanded in accordance with Equation 41:
Assuming that all zQ are solved based on third-party subscriber data, these can serve as reference constants for each demographic. Expressions for zP(e.g., census-level data, P) can be substituted in terms of dP variables, as shown in Equations 42-45:
The census-level based data demographic variables can be further defined, as shown in Equations 46-49 (e.g., described above in connection with Equations 19-22). For example, the probability that a specific individual is a member of the census-level unique audience total (X) is defined as X/U, the probability that a specific individual has impression counts in the census-level impression count total (T) is defined as T/U, and the probability that a specific individual has an impression duration in the census-level impression duration total (i) is defined as V/U:
The Lagrangian can further be expressed according to Equation 50 below using Equations 46-49:
The partials within each census variable {X, T, V} can be obtained as shown below in Equations 51-53:
In Equations 51-53, the zP2 terms are retained, with all of their partial derivations with respect to each variable also presented
The expression for z2 (e.g., subscript P suppressed for simplification) can be expressed in accordance with Equation 54 below:
While z2 is not solved directly using Equation 54, implicit differentiation can be used to express the census-level unique audience total (X), the census-level impression count total (7), and the census-level impression duration total (V) using Equations 55, 56, and 57, respectively:
The resulting partial derivative of Equations 55-57 can be solved as a function of {T, X, z2} for each expression individually, in accordance with Equations 58-60:
While z2 is again not solved for directly, its partial derivatives are in terms of the value of z2. Therefore, to eliminate the term log(1−z2), Equation 56 can be rewritten as Equation 61 below:
Equation 61 can be further substituted into Equations 58-60 to reduce the partial derivatives in terms of z2 alone, as shown in Equations 62-64 below:
Using Equations 62-64, the Lagrangian derivatives in Equations 51-53 can further be simplified as shown in Equations 65-67 below:
Using Equation 66, the term for z2 can now be expressed as Equation 68 (e.g., when Equation 66 is set equal to 0), such that it becomes a parameter:
z
2
=z
2
Q
e
λ
Equation 68
Given that each partial derivative should be in terms of {X, T, V}, Equation 66 can be rewritten such that all three partial derivatives of Equations 65-67 can be solved simultaneously when all three expressions are equal to zero. As such, Equations 69-70 are used to make further substitutions into Equation 66, yielding Equation 71:
Further adjustments can be made by substituting Equation 68 into the three expressions for the partial derivatives in Equations 65, 67, and 71. The resulting Equations 72-74 are expressions in terms of the three variables {X, T, V} and two parameters {λ1, λ2}:
Equations 72-74 can therefore be solved for each variable when all expressions are equal to zero, resulting in Equations 75-77 below:
The final result for each demographic can be obtained by simplifying the derived expressions, first through a change in notation (e.g., from λ to δ, as shown in Equation(s) 78), followed by defining new variables for parts of Equations 75-77 (e.g., variables c0-c4, as shown in Equations 79-83):
δ1=eλ
c
0=δ1z2Q Equation 79
c
1=log(1−c0) Equation 80
c
2=δ2+log(z3Q) Equation 81
c
3
=z
1
Q
c
1
+c
2 Equation 82
c
4
=Uz
1
Q Equation 83
Based on Equations 79-83 below, the solutions for each demographic to census-level unique audience (X), census-level impression count (T), and census-level impression duration (V), can be expressed as Equations 84-86 below:
Since {λ1, λ2}={0, 0} returns the census data to the third-party subscriber data, equivalent neutral values for δ are {δ1, δ2}={1, 0}. To find the domain of valid {δ1, δ2} across all demographics, the expression 1−c0 within the logarithm should be positive for all demographics, such that in Equation 87 below the maximum is over zQ2 across all demographics. Likewise, the minimum of audience per duration across all demographics within the third-party subscriber data can be expressed as Equation 88:
As such, for scaling down instead of scaling up, the lower limits of δ are no longer finite, but become unbounded to negative infinity (−∞) for each.
From the foregoing, it will be appreciated that example systems, methods, and apparatus allow for use of third-party subscriber-level audience metrics that provide partial information on impression counts, impression duration, and unique audience sizes to overcome the anonymity of census-level impressions when estimating total unique audience sizes for media. In the examples disclosed herein, an audience metrics estimator determines census-level unique audience, impression counts, and impression durations across demographics by generating probability distributions and determining probability divergences that exist between the third-party census-level data and subscriber data, and establishing a search space within bounds based on equality constraints, such that iteration over the search space until the equality constraints are satisfied yields census-level individual data estimates. The examples disclosed herein determine audience sizes and durations for different demographics at the census level using third-party-derived partial audience metrics and total census-level durations. The examples disclosed herein permit estimations that are logically consistent with all constraints, scale independence and invariance. Furthermore, the examples disclosed herein permit monitoring media impressions of any one or more media types.
Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.