METHODS, SYSTEMS AND APPARATUS TO ESTIMATE CENSUS-LEVEL AUDIENCE, IMPRESSIONS, AND DURATIONS ACROSS DEMOGRAPHICS

Information

  • Patent Application
  • 20210158376
  • Publication Number
    20210158376
  • Date Filed
    November 27, 2019
    5 years ago
  • Date Published
    May 27, 2021
    3 years ago
Abstract
Methods, apparatus, and systems are disclosed for determining census-level audience metrics across demographics. An example apparatus disclosed herein includes a distribution parameter solver to initialize distribution parameter values for a probability of an individual within a demographic being included in a subscriber audience for the demographic, having a first average impression count, and having a first average impression duration, the subscriber audience having a first subscriber audience size, a divergence parameter solver to determine divergence parameter values between (i) the subscriber audience size, the first impression count, and the first impression duration and (ii) a census-level audience size, a second impression count, and a second impression duration based on the initialized distribution parameter values, a search space identifier to identify a search space within bounds based on a census-level total impression count and a census-level total impression duration, the search space to define an equality constraint.
Description
FIELD OF THE DISCLOSURE

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.


BACKGROUND

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.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram illustrating an example operating environment, constructed in accordance with teachings of this disclosure, in which an audience metrics estimator is implemented to determine census-level audience, impressions, and durations across demographics.



FIG. 2 is a block diagram of an example implementation of the audience metrics estimator of FIG. 1.



FIG. 3 is a flowchart representative of machine readable instructions which may be executed to implement elements of the example audience metrics estimator of FIGS. 1-2.



FIG. 4 is a flowchart representative of machine readable instructions which may be executed to implement elements of the example audience metrics estimator of FIGS. 1-2, the flowchart representative of instructions used to generate probability distributions.



FIG. 5 is a flowchart representative of machine readable instructions which may be executed to implement elements of the example audience metrics estimator of FIGS. 1-2, the flowchart representative of instructions used to determine probability divergences.



FIG. 6 is a flowchart representative of machine readable instructions which may be executed to implement elements of the example audience metrics estimator of FIGS. 1-2, the flowchart representative of instructions used to evaluate probability divergence parameters of FIG. 5.



FIGS. 7A-7D include example programming code representative of machine readable instructions that may be executed to implement the example audience metrics estimator of FIGS. 1-2 to estimate census-level unique audience size, census-level impression count, and census-level impression duration across multiple demographics based on third-party subscriber data and census-level data total impression count and total impression duration.



FIG. 8A includes an example set of variables used to define third-party subscriber and census-level data parameters used by the example audience metrics estimator of FIGS. 1-2 for purposes of generating census-level estimations of unique audience, impressions, and durations across demographics.



FIG. 8B-8C includes example data sets providing third-party subscriber and census-level data, including total impressions and total duration data used by the example audience metrics estimator of FIGS. 1-2 to generate census-level estimations of unique audience, impressions, and durations across demographics.



FIG. 9 illustrates an example variable characterization based on scale independence and scale invariance, the example audience metrics estimator of FIGS. 1-2 generating estimations of census-level unique audience and impressions, which are independent of scale, and census-level duration, which is invariant to scale.



FIG. 10 is a block diagram of an example processing platform structured to execute the instructions of FIGS. 3-6 to implement the example audience metrics estimator of FIGS. 1-2.





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.


DETAILED DESCRIPTION

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.).



FIG. 1 is a block diagram illustrating an example operating environment 100 in which an audience metrics estimator is implemented to determine census-level audience, impressions, and impression durations across demographics. The example operating environment 100 of FIG. 1 includes example users 110 (e.g., an audience), example user devices 112, an example network 114, an example third-party database proprietor 120, and an example audience measurement entity (AME) 130. The third-party database proprietor 120 includes an example subscriber database 122. The subscriber database 122 includes example subscriber audience size data 124, example impression data 126, and example impression duration data 128. The AME 130 includes example census-level data 132 and an example audience metrics estimator 140. The census-level data 132 includes example total impression counts 134 (e.g., total impressions) and example total impression duration 136 (e.g., total duration).


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 FIG. 1, the client device(s) 102 include a smartphone (e.g., an Apple® iPhone®, a Motorola™ Moto X™, a Nexus 5, an Android™ platform device, etc.) and a laptop computer. However, any other type(s) of device(s) may additionally or alternatively be used such as, for example, a tablet (e.g., an Apple® iPad™, a Motorola™ Xoom™, etc.), a desktop computer, a camera, an Internet compatible television, a smart TV, etc. The user device(s) 112 of FIG. 1 are used to access (e.g., request, receive, render and/or present) online media provided, for example, by a web server. For example, users 110 can execute a web browser on the user device(s) 112 to request streaming media (e.g., via an HTTP request) from a media hosting server. The web server can be any web browser used to provide media content (e.g., YouTube) that is accessed, through the example network 114, by the example users 110 on example user device(s) 112. Network 114 may be implemented using any suitable wired and/or wireless network(s) including, for example, one or more data buses, one or more Local Area Networks (LANs), one or more wireless LANs, one or more cellular networks, the Internet, etc. As used herein, the phrase “in communication,” including variances thereof, encompasses direct communication and/or indirect communication through one or more intermediary components and does not require direct physical (e.g., wired) communication and/or constant communication, but rather additionally includes selective communication at periodic or aperiodic intervals, as well as one-time events.


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 FIG. 2.



FIG. 2 is a block diagram of an example implementation of the audience metrics estimator 140 of FIG. 1. The example audience metrics estimator 140 includes an example data storage 210, an example probability distribution generator 220, and an example probability divergence determiner 230, all of which are connected using an example bus 240.


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 FIG. 4. For example, the distribution parameter solver 222 uses the iterator 224 to perform fixed-point iteration to solve for variables that are otherwise not solved directly. In some examples, the distribution parameter 222 solver uses a converger 226 to converge to the solution of individual probability distribution estimates, as described in more detail in association with FIG. 4. In some examples, the iterator 224 may use a first order approximation for an initial starting value as part of estimating a solution to the probability distribution estimate.


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 FIG. 1. For example, the probability divergence determiner 230 can define third-party data as a prior probability distribution in the kth demographic and define the census-level data as a posterior probability distribution in the kth demographic, as described in more detail below in association with FIG. 5. In some examples, the probability divergence can be determined using a Kullback-Leibler (KL) divergence between the two distributions.


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 FIG. 6.


While an example manner of implementing the audience metrics estimator 140 is illustrated in FIGS. 1 and 2, one or more of the elements, processes and/or devices illustrated in FIGS. 1 and 2 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the example data storage 210, the probability distribution generator 202, the probability divergence determiner 230 and/or, more generically, the example audience metrics estimator 140 of FIGS. 1-2 may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example data storage 210, the example probability distribution generator 220, the example probability divergence determiner 230, and/or, more generically, the example audience metrics estimator 140 of FIGS. 1-2 could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), programmable controller(s), graphics processing unit(s) (GPU(s)), digital signal processor(s) (DSP(s)), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)). When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of the example data storage 210, the example probability distribution generator 220, and/or the example probability divergence determiner 230 is/are hereby expressly defined to include a non-transitory computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. including the software and/or firmware. Further still, the example audience metrics estimator 140 may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in FIGS. 1 and 2, and/or may include more than one of any or all of the illustrated elements, processes and devices. As used herein, the phrase “in communication,” including variations thereof, encompasses direct communication and/or indirect communication through one or more intermediary components, and does not require direct physical (e.g., wired) communication and/or constant communication, but rather additionally includes selective communication at periodic intervals, scheduled intervals, aperiodic intervals, and/or one-time events.


Flowcharts representative of example machine readable instructions for implementing the example audience metrics estimator 140 of FIGS. 1-2 are shown in FIGS. 3-6, respectively. The machine-readable instructions may be one or more executable programs or portion(s) of an executable program for execution by a processor such as the processor 906 shown in the example processor platform 900 discussed below in connection with FIGS. 3-6. The program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 906, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 906 and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flowcharts illustrated in FIGS. 3-6, many other methods of implementing the example audience metrics estimator 140 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, an FPGA, an ASIC, a comparator, an operational-amplifier (op-amp), a logic circuit, etc.) structured to perform the corresponding operation without executing software or firmware.


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 FIGS. 3, 4, 5 and/or 6 may be implemented using executable instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable storage medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media.


“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.



FIG. 3 is a flowchart 300 representative of machine readable instructions which may be executed to implement elements of the example audience metrics estimator 140 of FIG. 2. The example audience metrics estimator 140 retrieves third-party subscriber data (e.g., available from the database proprietor 120 of FIG. 1) for each demographic (k) from the data storage 202 of FIG. 2 (block 302). The third-party database proprietor 120 determines audience size, impression count, and impression duration data for different demographic categories of subscribers based on subscriber data 122 collected when a subscriber is exposed to impressions (e.g., third-party media) on user devices 112. For example, a logged impression 126 is associated with a specific subscriber (e.g., users 110), and a specific duration 128 of the logged impression. Based on this data, the audience metrics estimator 140 can retrieve inputs of subscriber-based audience size {Ak} data (e.g., audience size data 124), impression counts {Rk} data (e.g., impression counts data 126), and impression duration {Dk} data (e.g. impression duration data 128) for different aggregate demographic categories. The example audience metrics estimator 140 also retrieves census-level data from the census-level data storage 132 of the AME 130 (block 304). For example, the AME 130 can also access logged impressions that are made by users 110 when using devices 112, but the data is not associated with specific demographics of the users when such users are not members of an AME panel, such that the AME 130 can determine the total logged impressions 134 (e.g., total number of census-level impressions by users 110) and corresponding total census-level impression durations 136, while not differentiating between individual users. As such, the census-level data storage 132 provides inputs to the audience metrics estimator 140 of total census-level impressions (T) data (e.g., total impressions data 134) and total census-level duration (T) data (e.g., total duration data 136). Using the third-party and census-level data, the example probability distribution generator 220 of the example audience metrics estimator 140 determines the probability of an individual in a given demographic k being a member of the third-party subscriber data (e.g., audience size {Ak} data, impression counts {Rk} data, and impression duration {Dk} data), and generates a probability distribution for each individual within the total population subject to these constraints, such that the distribution parameter solver 222 determines the distribution parameters that can be further used to identify potential solutions for census-level audience, impressions, and durations data. (block 306). Once the probability distributions have been generated, the example probability divergence determiner 230 of FIG. 2 determines probability divergences between the third-party and census-level data (block 308). Furthermore, the example probability divergence determiner 230 estimates census-level individual data (e.g., unique audience size, impressions, and durations) using the census-level output calculator 238 based on the probability distribution parameters calculated using the distribution parameter solver 222 and the probability divergence parameters calculated using the divergence parameter solver 234 (block 310). The example audience metrics estimator 140 provides census-level outputs, including output estimates for census-level audience size {Xk} (block 312), census-level impression counts {Tk} (block 314), and census-level impression duration {Vk} (block 316). As such, using census-level data (e.g., total impressions 134 and total duration 136) and third-party data (e.g., audience size 124, impression counts 125, and duration 128), the audience metrics estimator 140 estimates the census-level unique audience 312, impressions 314, and duration 316 for individual demographic categories.



FIG. 4 is a flowchart 306 representative of machine readable instructions which may be executed to implement elements of the example audience metrics estimator 140 of FIG. 2 to generate probability distributions. For example, the probability distribution generator 220 assigns probability density functions [pn,t(i)] for panel audience individuals (i) using impression counts (n) and impression durations (t) (block 402). Each person has a fixed, but unknown, number of impressions (n) and time of impression duration (t), both in the census-level and third-party database (e.g., ‘John Smith’ viewed a webpage 5 times, totaling 20 minutes, of which only 3 views and 10 minutes were registered in a database, or none at all). However, aggregate information obfuscates the person-specific data and leaves a reference aggregate among the individuals within a demographic, such that the uncertainty for each person can be expressed in the form of a probability distribution. Such a distribution is a mixture of a point mass distribution and a bivariate distribution-continuous in one dimension and discrete in the other dimension. The point mass distribution is at n=0, indicating that the individual did not view any pages, thereby resulting in no duration. The bivariate distribution portion (pn,t) is discrete along n {1, . . . , ∞} and continuous along the open interval t∈(0,∞). For example, parallel sheets of continuous curves, each curve spaced at each value of n, provide a visual representation of these distributions.


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)=∫0pn,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=10pn,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:











maximize
P






H

=


(


-

p
0



log






(

p
0

)


)

+




n
=
1





(

-



0





p

n
,
t



log






(

p

n
,
t


)


dt



)







Equation





3













subject





to






p
0


+




n
=
1











0





p

n
,
t



dt




=


d
0

=
1






Equation





4















n
=
1











0





p

n
,
t



dt



=

d
1






Equation





5















n
=
1





n








0





p

n
,
t



dt




=

d
2






Equation





6















n
=
1





n








0





tp

n
,
t



dt




=

d
3






Equation





7







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):










p
t

=

{






z
0


t

=
0








z
0



z
1



z
2
n



z
3

n





t



t

>
0









Equation





8








p
0

+




n
=
1







0





P

n
,
t



dt




=



z
0

+




n
=
1







0





z
0



z
1



z
2
n



z
3

n

t



d

t




=



z
0

+



z
0



z
1



log


(

1
-

z
2


)




log


(

z
3

)




=
1






Equation





9










n
=
1







0





p

n
,
t



d

t



=





n
=
1







0





z
0



z
1



z
2
n



z
3

n

t



dt



=




z
0



z
1



log


(

1
-

z
2


)




log


(

z
3

)



=

d
1







Equation





10










n
=
1





n




0





p

n
,
t



dt




=





n
=
1





n




0





z
0



z
1



z
2
n



z
3

n

t



dt




=




-

z
0




z
1



z
2




(

1
-

z
2


)



log


(

z
3

)




=

d
2







Equation





11










n
=
1





n




0




t


p

n
,
t



d

t




=





n
=
1





n




0





tz
0



z
1



z
2
n



z
3

n





t



dt




=




-

z
0




z
1







log


(

1
-

z
2


)





(

log


(

z
3

)


)

2


=

d
3







Equation





12







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:










z
0

=

1
-

d
1






Equation





13







z
3

=

exp


(


-

d
1



d
3


)






Equation





14








-

z
2




(

1
-

z
2


)



log


(

1
-

z
2


)




=


d
2


d
1






Equation





15







z
1

=


(



d
1



d
2




(

1
-

d
1


)



d
3



)



(


1
-

z
2



z
2


)






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):










z
2



1
+

1



(


d
2


d
1


)



log


(

1
-

z
2


)



-
1







Equation





17







z
2




1
-


d
1


d
2








Equation





18







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:











d
0

=




1

0

0


1

0

0




z
0


=

0
.
5










d
1

=




5

0


1

0

0




z
1


=


0
.
0


5

3

4

9

5

1










d
2

=




2

0

0


1

0


(
)





z
2


=


0
.
9


0

3

5

5










d
3

=




4

0

0


1

0


(
)





z
3


=


0
.
8


8

2

4

9

7







Example





1







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)=∫0p3,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:











n




0




t


p

n
,
t



d

t






0





p

n
,
t



dt



=



d
3


d
1


=
8





Example





3







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).



FIG. 5 is a flowchart 308 representative of machine readable instructions which may be executed to implement elements of the example audience metrics estimator 140 of FIG. 2, the flowchart representative of instructions used to determine probability divergences. Once the audience metrics estimator 140 generates probability distributions using the probability distribution generator 220, as described above in connection with FIG. 4, the probability divergence determiner 230 determines probability divergences. A probability divergence allows for a comparison between two probability distributions. In the examples disclosed herein, the probability divergence permits a comparison between the distribution of third-party subscriber data and the distribution of census-level data. In the examples disclosed herein, a Kullback-Leibler probability divergence (KL divergence) is used to measure the difference between these two probability distributions (e.g., determine how well one probability distribution approximates another probability distribution). For example, the probability divergence determiner 230 defines third-party subscriber data as a prior distribution (Q) and census-level data as a posterior distribution (P). The audience size and impression durations are equally divided across the entire population of individuals in a kth demographic (Uk), such that U is representative of a population universe estimate. A universe estimate (e.g., a total audience) can be defined as, for example, the 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. For example, the universe estimate can be based on census-level data 132 obtained by the AME 130 during assessment of logged impressions by user devices 112. For example, the kth demographic can represent a demographic category (e.g., females 35-40, males 35-40, etc.). As such, the probability divergence determiner 230 defines third-party data as a prior probability distribution in the kth demographic (Qk) (block 502) and census-level data as a posterior probability distribution in the kth demographic (Pk) (block 504) in a manner consistent with Equations 19-22:











d
0
Q

=
1












d
0
P

=
1





Equation





19








d
1
Q

=


A
k


U
k










d
1
P

=


X
k


U
k







Equation





20








d
2
Q

=


R
k


U
k










d
2
P

=


T
k


U
k







Equation





21








d
3
Q

=


D
k


U
k










d
3
P

=


V
k


U
k







Equation





22







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 FIG. 1), which provides anonymized aggregate data for subscriber audience (Ak), impression counts (Rk), and impression durations (Dk) (e.g., audience 124, impressions 126, and duration 128 data, respectively, of FIG. 1). However, for census-level data, the audience metric estimator 140 only has access to census-level total impression counts 134 and total impression durations 136. In Equations 19-22, the probability that a specific individual in the kth demographic is a member of the census-level unique audience total (Xk) is defined as Xk/Uk, the probability that a specific individual in the kth demographic has impression counts in the census-level impression count total (Tk) is defined as Tk/Uk, and the probability that a specific individual in the kth demographic has an impression duration in the census-level impression duration total (Vk) is defined as Vk/Uk. Once the probability divergence determiner 230 has defined the prior and posterior distributions for the third-party subscriber data and the census-level data (blocks 502 and 504), respectively, the divergence parameter solver 234 determines divergences between prior and posterior distributions in the 0 demographic in order to find solutions for the census-level unique audience, impression counts, and impression duration (block 506), as detailed below in connection with FIG. 6.



FIG. 6 is a flowchart 506 representative of machine readable instructions which may be executed to implement elements of the example audience metrics estimator 140 of FIG. 2, the flowchart representative of instructions used to determine probability divergences of FIG. 5. Except for having different values, the prior (Qk) and posterior (Pk) distributions are in the same domain and have the same linear constraints. Therefore, the divergence parameter solver 234 defines the divergence (e.g., Kullback-Leibler divergence KL(Pk:Qk), where Pk is a posterior probability distribution defining census-level data and Qk is a prior probability distribution defining third-party subscriber data) of an individual from third-party subscriber data to census-level data in accordance with Equation 23:










K


L


(


P
k

:

Q
k


)



=




j
=
0

m




d
j
P



log


(


z
j
P


z
j
Q


)








Equation





23







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:










z
0

=

1
-

d
1






Equatio





n





24







z
1

=


(



d
1



d
2




(

1
-

d
1


)



d
3



)



(


1
-

z
2



z
2


)






Equation





25








-

z
2




(

1
-

z
2


)



log


(

1
-

z
2


)




=


d
2


d
1






Equation





26







z
3

=

exp


(


-

d
1



d
3


)






Equation





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:













K


L


(


P
k



:







Q
k


)



=






j
=
0

m




d
j
P



log


(


z
j
P


z
J
Q


)










=






j
=
0

m




d
j
P



[


log


(

z
j
P

)


-

log


(

z
j
Q

)



]









=






(

d
0
P

)



[


log


(

z
0
P

)


-

log


(

z
0
Q

)



]









+













(

d
1
P

)



[


log


(

z
1
P

)


-

log


(

z
1
Q

)



]









+













(

d
2
P

)



[


log


(

z
2
P

)


-

log


(

z
2
Q

)



]









+











(

d
3
P

)



[


log


(

z
3
P

)


-

log


(

z
3
Q

)



]













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:












minimize


{

X
k

}

,





{

T
k

}

,





{

V
k

}









KL


(

P


:






Q

)



=




k
=
1

K




U
k



(

KL


(


P
k



:







Q
k


)


)











subject





to









k
=
1

K



T
k



=
T











k
=
1

K



V
k


=
V





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 (custom-character) 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):










=


KL


(

P


:






Q

)


-


λ
1



(





k
=
1

K



T
k


-
T

)


-


λ
2



(





k
=
1

K



V
k


-
V

)







Equation





31




















X
k



=
0













k

=

{

1
,
2
,





,
K

}







Equation





32




















T
k



=
0













k

=

{

1
,
2
,





,
K

}







Equation





33




















V
k



=
0













k

=

{

1
,
2
,





,
K

}







Equation





34




















λ
1



=
0



















λ
2



=
0






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 (custom-character) 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









1


δ
1



1

max


(

z

2
,
k

Q

)







Equation





36






0


δ
2



min


(


A
k


D
k


)






Equation





37







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):










X
k

=



c
4



c
1



c
3






Equation





38







T
k

=



c
4



c
0




(


c
0

-
1

)



c
3







Equation





39







V
k

=

U


(


1

c
3


-

1

c
2



)






Equation





40







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}.



FIGS. 7A-7D include example programming code representative of machine readable instructions that may be executed to implement the example audience metrics estimator of FIGS. 1-2 to estimate census-level unique audience size 312, census-level impression count 314, and census-level impression duration 316 across multiple demographics based on third-party subscriber data 122 (e.g., audience size 124, impression counts 126, and impression duration 128) and census-level total impression count 134 and total impression duration 136. The example instructions of FIGS. 3-6 may be used in a MATLAB development environment. However, similar instructions may be employed to implement techniques disclosed herein in other development environments. In FIG. 7A, the example instructions at reference number 702 implement Equations 20-22 above to define the probability distribution of an individual being in the audience (d1), the probability of having average impression counts (d2), and the probability of having average impression durations (d3). The example instructions at reference number 704 (FIG. 7B) define the solution to the person-specific distribution problem in terms of z notation based on Equations 13-14. The example instructions at reference number 706 define z0 and z3 directly, while the solution to z, is defined based on the solution to z2, which can be solved using, for example, fixed-point iteration (e.g., the instructions based on Equations 16, 17, and 18). The example instructions at reference number 708 can be based on Equations 36-37 used to establish a search space {δ1, δ2} within bounds based on the z-notation-based census-level impression (z2) and census-level duration (z3) equality constraints. Example instructions at reference number 710 and 712 create a structure data-type to group related data (e.g., in an array), while also defining the universe estimate (e.g., total audience estimate), and clearing any values stored in z0 thru z3.



FIG. 7C shows example instructions at reference number 714 using non-linear least squares with bounds to solve the system of equations. For example, the upper bounds are set using the instructions at reference number 708. Example instructions at reference numbers 716-718 further define variables set forth to solve using the non-linear least squares method, while example instructions at reference numbers 720 and 722 are used to solve for census-level individual data for unique audience size {Xk}, impression counts {Tk}, and impression duration {Vk}, which is based on Equations 38-40 and Equations 79-83 (see “Example Lagrangian Solution” sub-section) implemented using example instructions at reference number 724. Although a non-linear least squares method is used to solve for census-level individual data, any other method suitable for solving the presented system of equations can be implemented.



FIGS. 8A-8C include example set of variables used to define third-party subscriber and census-level data parameters used by the example audience metrics estimator of FIGS. 1-2 and example data sets providing third-party subscriber and census-level data. FIG. 8A sets forth a table 800 with the notations used throughout when determining census-level data based on third-party subscriber data. For example, reference number 802 identifies the demographics k (e.g., demographic 1 can refer to females aged 35-40, demographic 2 can refer to males aged 35-40, etc.). Reference number 804 identifies the population (e.g., universe audience (U) for each demographic, (Uk)). Reference number 806 identifies third-party subscriber data, including subscriber data for audience size (Ak), impression count (Rk), and impression duration (Dk). Reference number 808 identifies census-level data, including census-level unique audience (Xk), census-level impression count (Tk), and census-level impression duration (Vk). Reference number 810 identifies the total counts for each data group, including total universe audience (U), third-party total audience size (Ak), third-party total impression count (Rk), third-party total impression duration (D), census-level total audience size (X), census-level total impression count (T), and census-level total impression duration (V).



FIG. 8B shows a table 820 with an example set of data available from third-party subscriber data 122 of FIG. 1 and an example set of data available for census-level total impressions 134 and total impression duration 136 of FIG. 1. For example, a total of three different demographics (k) (reference number 822) are considered. The population 824 (e.g., universe audience, Uk) for each demographic (e.g., k=1-3) ranges from a total of 1,000 to a total of 3,000 for demographics 1-3, respectively. Third-party subscriber data 826 includes audience, impression, and duration values for each demographic, as well as values for total audience size, total impression counts, and total impression durations. Census-level data 828 includes only total impression counts (e.g., 5,000) and total impression durations (e.g., 15,000), whereas demographic-specific unique audience size, impression counts, and impression duration, as well as the total unique audience size, are all variables to be solved for using the methods described throughout this application and applied in the examples below. For example, using data available for the first demographic (k=1), Equations 19-22 can be applied to calculate the probability values specific to third-party subscriber data, as shown in Example 4:











d
0
Q

=



1
,
000


1
,
000


=
1









z
0
Q

=
0.7








d
1
Q

=



3

0

0


1
,
000


=


0.3










z
1
Q


=


0
.
0


1

0

7











d
2
Q

=



1
,
500


1
,
000


=


1.5






z
2
Q


=


0
.
9


3

0

1











d
3
Q

=



4
,
500


1
,
000


=


4.5






z
3
Q


=


0
.
9


3

5

5








Example





4







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:











1


δ
1



1

max


(

z

2
,
k

Q

)




=



1


0
.
9


3

0

1


-

=


1
.
0


7

5

2










0


δ
2



min


(


A
k


D
k


)



=
0.0667









constrained





by









k
=
1

K



T
k



=
T

,






l



=
1

K



V
k


=
V









{


δ
1

,

δ
2


}

=

{


1

.0285

,
0.0267

}






Example





6







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
01z2Q=+0.9565






c
1=log(1−c0)=−3.1361






c
22+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:













X
k

=




c
4



c
1



c
3


=

4

5


7
.
4


8

7









T
k


=




c
4



c
0




(


c
0

-
1

)



c
3



=

3
,
211.278










V
k

=


U


(


1

c
3


-

1

c
2



)


=

11
,
454.498







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 FIG. 8B, such that census-level data 830 includes, for each demographic k=1, 2, and 3, the unique audience size (Xk), impression count (Tk), and impression duration (Vk).



FIG. 8C shows a table 840 with an example set of data 846 available from third-party subscriber data 122 of FIG. 1 and an example set of data 848 available for census-level total impressions 134 and total impression duration 136 of FIG. 1. In the example table 840 of FIG. 8C, the impression duration of the third-party subscriber data 846 has the same audience size data and impression counts data per demographics 842, as well as the same population size 844, as that of table 820 of FIG. 8B. Likewise, the total impression count (e.g., 5,000) for census-level data 848 remains the same, as does the total impression duration (e.g., 250). However, the impression duration of the third-party subscriber data 846 is much shorter per demographic 842 than that shown in table 820 of FIG. 4B. For example, if duration is changed to a new unit (e.g., by multiplying by a scaling factor), the final estimate of census durations should also scale by the same factor, while the estimate of audience size and impression counts should remain unchanged. For example, the third-party subscriber data 826 impression durations of FIG. 8B are divided by 60 (e.g., changing minutes to hours or seconds to minutes, depending on the original units), to yield the third-party subscriber data 846 impression durations per demographic k. The solution process as described for FIG. 8B remains the same for the data shown in FIG. 8C, with the set of probability vectors determined as shown in Example 11:






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:











1


δ
1



1

max


(

z

2
,
k

Q

)




=


1


0
.
9


3

0

1


=

1.0

7

5

2










0


δ
2



min


(


A
k


D
k


)



=
4








{


δ
1

,

δ
2


}

=

{

1.0285
,
1.6036

}






Example





13







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 FIG. 8C can be populated with the census-level data 850 for determined unique audience size (Xk), impression count (Tk), and impression duration (Vk) shown in Example 15.



FIG. 9 illustrates table 900 with an example variable characterization based on scale independence and scale invariance, the example audience metrics estimator of FIGS. 1-2 generating estimations of census-level unique audience and impressions. For example, as described in the example solutions used to populate table 840 of FIG. 8C, as the time units used in impression duration (D) are scaled for any unit (e.g., seconds, minutes, hours, etc.), the estimated census-level impression duration (D) for each demographic also scales by the same factor, while the estimated audience size (A) and impression counts (R) can remain the same (e.g., see sub-section of table 900 denoted by reference number 908). As such, both audience and impression counts are independent of scale but impression duration is invariant to scale. The example table 900 includes a listing of variables 902, as well as whether the variables are independent of scale 904 (e.g., remain the same) or invariant to changes in scale 906 (e.g., are scaled). Table 900 shows how each variable is changed when duration is scaled (e.g., duration is scaled while all other variables remain the same). The example table 900 is further divided into sub-sections (e.g., reference numbers 908-920) to illustrate how changes in scale affect the variables used when determining census-level estimates. For example, reference number 910 indicates that the variable associated with the probability for the third-party subscriber data prior distribution (Q) that is associated with duration is scaled, while the remaining variables associated with audience size and impressions counts are not scaled. For example, 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 d1Q, 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 d2Q, 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 d3Q (e.g., the only probability that is scaled, as shown in sub-section 910). Sub-section 912 of table 900 indicates that the z-notation based solutions for the third-party-based subscriber data are not affected by scaling for z0Q and z2Q while z1Q and z3Q are scaled. Likewise, the search space variable δ1 bounds are not affected by scaling (e.g., sub-sections 914 and 916), while the δ2 bounds are scaled, given that the 2 upper bound includes the duration variable (D) (e.g., based on Equation 37). Sub-section 918 indicates that the final solution to the census-level estimates {X, T, V} includes variables c0 and c1 that are not affected by scaling, while variables c2, c3, and c4 are scaled, given that, based on Equations 79-83 (see “Example Lagrangian Solution” section), c0 and c1 solutions are based on variables that are not affected by scaling (e.g., z2Q), while variables c2, c3, and c4 are based on variables that are scaled (e.g., z1Q and z3Q). Therefore, the final census-level estimates {X, T, V} includes audience size and impression counts that are not affected by the scaling, while the impression duration is scaled, as previously illustrated in the example solutions for table 840 of FIG. 8C.



FIG. 10 is a block diagram of an example processing platform structured to execute the instructions of FIGS. 3-6 to implement the example audience metrics estimator of FIGS. 1-2. The processor platform 1000 can be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPad™), a personal digital assistant (PDA), an Internet appliance, or any other type of computing device.


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 FIG. 2.


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 FIG. 2.


Machine executable instructions 1020 represented in FIGS. 3-6 may be stored in the mass storage device 1020, in the volatile memory 1002, in the non-volatile memory 1004, and/or on a removable non-transitory computer readable storage medium such as a CD or DVD.


Example Lagrangian Solution

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






custom-character=KL(P:Q)−λ1k=1KTk−T)−λ2k=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:










U


(

KL


(

P


:






Q

)


)


=




(

d
0
P

)



[


log


(

z
0
P

)


-

log


(

z
0
Q

)



]









+



(

d
1
P

)



[


log


(

z
1
P

)


-

log


(

z
1
Q

)



]









+



(

d
2
P

)



[


log


(

z
2
P

)


-

log


(

z
2
Q

)



]









+


(

d
3
P

)



[


log


(

z
3
P

)


-

log


(

z
3
Q

)



]







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:










z
0
P

=

1
-

d
1
P






Equation





42







z
1
P

=


(



d
1
P



d
2
P




(

1
-

d
1
P


)



d
3
P



)



(


1
-

z
2
P



z
2
P


)






Equation





43








-

z
2
P




(

1
-

z
2
P


)



log


(

1
-

z
2
P


)




=


d
2
P


d
1
P






Equation





44







z
3
P

=

exp


(


-

d
1
P



d
3
P


)






Equation





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:










d
0
P

=
1




Equation





46







d
1
P

=

X
U





Equation





47







d
2
P

=

T
U





Equation





48







d
3
P

=

V
U





Equation





49







The Lagrangian can further be expressed according to Equation 50 below using Equations 46-49:











k

=


U


(

KL


(

P


:






Q

)


)


=



-

λ
1



T

-


λ
2


V

+

X






log


(


TX


(


z
2
P

-
1

)



V







z
2
P



(

X
-
U

)




)



+

T






log


(

z
2
P

)



-

T






log


(

z
2
Q

)



+

U






log


(

1
-

X
U


)



-

U






log


(

z
0
Q

)



+

V






log


(

e


-
X

V


)



-

V






log


(

z
3
Q

)



-

X






log


(

z
1
Q

)









Equation





50







The partials within each census variable {X, T, V} can be obtained as shown below in Equations 51-53:














k




X


=


log


(


TX


(


z
2
P

-
1

)



V







z
2
P



(

X
-
U

)




)


+


(


(


T


(


z
2
P

-
1

)


+
X

)



(


z
2
P

-
1

)



z
2
P



)






z
2
P




X



-

log


(

z
1
Q

)


-
1





Equation





51











k




T


=


-

λ
1


+


(


(


T


(


z
2
P

-
1

)


+
X

)



(


z
2
P

-
1

)



z
2
P



)






z
2
P




T



+

X
T

+

log


(

z
2
P

)


-

log


(

z
2
Q

)







Equation





52











k




V


=


-

λ
2


+


(


(


T


(


z
2
P

-
1

)


+
X

)



(


z
2
P

-
1

)



z
2
P



)






z
2
P




V



+

log


(

e


-
X

V


)


-

log


(

z
3
Q

)







Equation





53







In Equations 51-53, the zP2 terms are retained, with all of their partial derivations with respect to each variable also presented







(


e
.
g
.

,

(





z
2
P




X


,




z
2
P




T


,




z
2
P




V



)


)

.




The expression for z2 (e.g., subscript P suppressed for simplification) can be expressed in accordance with Equation 54 below:











-

z
2




(

1
-

z
2


)



log


(

1
-

z
2


)




=

T
X





Equation





54







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:










X


:







(


(


z
2

+

log


(

1
-

z
2


)



)




(


z
2

-
1

)

2




log
2



(

1
-

z
2


)




)






z
2




X



=

T

X
2






Equation





55







T


:







(

-


(


z
2

+

log


(

1
-

z
2


)



)




(


z
2

-
1

)

2




log
2



(

1
-

z
2


)





)






z
2




T



=

1
X





Equation





56







V


:







(


(


z
z

+

log


(

1
-

z
2


)



)



(


z
2

-
1

)



log


(

1
-

z
2


)




)






z
2




V



=
0




Equation





57







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:










X


:










z
2




X



=


(

T

X
2


)



(




(


z
2

-
1

)

2




log
2



(

1
-

z
2


)




(


z
2

+


log
2



(

1
-

z
2


)



)


)






Equation





58







T


:










z
2




X



=


(

1
X

)



(

-




(


z
2

-
1

)

2




log
2



(

1
-

z
2


)




(


z
2

+


log
2



(

1
-

z
2


)



)









Equation





59







V


:










z
2




V



=
0




Equation





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:











-

z
2




(

1
-

z
2


)



log


(

1
-

z
2


)




=



T
X



log


(

1
-

z
2


)



=



-
X



z
2



T


(

1
-

z
2


)








Equation





61







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:










X


:










z
2




X



=



(


z
2

-
1

)



z
2




T


(


z
2

-
1

)


+
X






Equation





62







T


:










z
2




X



=

-



X


(


z
2

-
1

)




z
2



T


(


T


(


z
2

-
1

)


+
X

)








Equation





63







V


:










z
2




V



=
0




Equation





64







Using Equations 62-64, the Lagrangian derivatives in Equations 51-53 can further be simplified as shown in Equations 65-67 below:














k




X


=


log


(


TX


(


z
2

-
1

)



V



z
2



(

X
-
U

)




)


-

log


(

z
1
Q

)







Equation





65











k




T


=


-

λ
1


+

log


(

z
2

)


-

log


(

z
2
Q

)







Equation





66











k




V


=


-

λ
2


+

log


(

e


-
X

V


)


-

log


(

z
3
Q

)







Equation





67







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
λ

1
  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:















z
2

=



exp


(

log


(

z
2

)


)







for






z
2


>
0






Equation





69








-

z
2




(

1
-

z
2


)



log


(

1
-

e
a


)




=



T
X


a

=


log


(

z
2

)


=

log


(

1
-

e


Xz
2


T


(


z
2

-
1

)





)








Equation





70
















k




T


=


-

λ
1


+

(

log


(

1
-

e


Xz
2


T


(


z
2

-
1

)





)


)

-

log


(

z
2
Q

)








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}:














k




X


=


log


(


TX


(



z
2
Q



e

λ
1



-
1

)




Vz
2
Q




e

λ
1




(

X
-
U

)




)


-

log


(

z
1
Q

)







Equation





72











k




T


=


-

λ
1


+

(

log
(

1
-

e


e


λ
1



Xz
2
Q




T


(



e

λ
1




z
2
Q


-
1

)





)

)

-

log


(

z
2
Q

)







Equation





73











k




V


=


-

λ
2


+

log


(

e


-
X

V


)


-

log


(

z
3
Q

)







Equation





74







Equations 72-74 can therefore be solved for each variable when all expressions are equal to zero, resulting in Equations 75-77 below:














X
=



Uz
1
Q



log


(

1
-


z
2
Q



e

λ
1




)






z
1
Q



log


(

1
-


z
2
Q



e

λ
1




)



+

λ
2

+

log


(

z
3
Q

)









Equation





75






T
=



Uz
1
Q



z
2
Q



e

λ
1





(



z
2
Q



e

λ
1



-
1

)



(



z
1
Q



log


(

1
-


z
2
Q



e

λ
1




)



+

λ
2

+

log


(

z
3
Q

)



)







Equation





76






V
=

U


(


1



z
1
Q



log


(

1
-


z
2
Q



e

λ
1




)



+

λ
2

+

log


(

z
Q
3

)




-

1


λ
2

+

log


(

z
3
Q

)





)






Equation





77







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λ1;δ22  Equation(s) 78






c
01z2Q  Equation 79






c
1=log(1−c0)  Equation 80






c
22+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:









X
=



c
4



c
1



c
3






Equation





84






T
=



c
4



c
0




(


c
0

-
1

)



c
3







Equation





85






V
=

U


(


1

c
3


-

1

c
2



)






Equation





86







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:









1


δ
1



1

max


(

z
2
Q

)







Equation





87






0


δ
2



min


(

A
D

)






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.

Claims
  • 1. An apparatus to determine census-level audience metrics across demographics, the apparatus comprising: a distribution parameter solver to initialize distribution parameter values for a probability of an individual within a demographic being included in a subscriber audience for the demographic, having a first average impression count, and having a first average impression duration, the subscriber audience having a first subscriber audience size;a divergence parameter solver to determine divergence parameter values between (i) the subscriber audience size, the first impression count, and the first impression duration and (ii) a census-level audience size, a second impression count, and a second impression duration based on the initialized distribution parameter values;a search space identifier to identify a search space within bounds based on a census-level total impression count and a census-level total impression duration, the search space to define an equality constraint; andan iterator to iterate over the search space until census-level outputs based on the divergence parameter values converge to the equality constraint, the census-level outputs including census-level unique audience size, census-level impression count, and census-level impression duration for the demographic.
  • 2. The apparatus of claim 1, further including a database to: store, from a database proprietor, subscriber data including the first subscriber audience size, a the first impression count, and the first impression duration for the demographic;access, from a user device, a user-based impression count and a user-based impression duration; andstore census-level data including the census-level total impression count and the census-level total impression duration, the census-level data total impression count and the census-level total impression duration including the user-based impression count and the user-based impression duration.
  • 3. The apparatus of claim 2, wherein the census-level audience metrics are media audience metrics, the media including at least one of a webpage, an advertisement, or a video.
  • 4. The apparatus of claim 2, wherein the census-level data includes data logged by an audience measurement entity.
  • 5. The apparatus of claim 2, wherein the divergence parameter solver is to determine the divergence parameter values based on a Kullback-Leibler probability divergence.
  • 6. The apparatus of claim 2, wherein the equality constraint is valid for the census-level audience metrics across all demographics represented in the subscriber data.
  • 7. The apparatus of claim 1, wherein the subscriber audience size is provided by a database proprietor.
  • 8. A method to determine census-level audience metrics across demographics, the method comprising: initializing distribution parameter values for a probability of an individual within a demographic being included in a subscriber audience for the demographic, having a first average impression count, and having a first average impression duration, the subscriber audience having a first subscriber audience size;determining divergence parameter values between (i) the subscriber audience size, the first impression count, and the first impression duration and (ii) a census-level audience size, a second impression count, and a second impression duration based on the initialized distribution parameter values;identifying a search space within bounds based on a census-level total impression count and a census-level total impression duration, the search space to define an equality constraint; anditerating over the search space until census-level outputs based on the divergence parameter values converge to the equality constraint, the census-level outputs including census-level unique audience size, census-level impression count, and census-level impression duration for the demographic.
  • 9. The method of claim 8, further including: storing, from a database proprietor, subscriber data including the first subscriber audience size, a the first impression count, and the first impression duration for the demographic;accessing, from a user device, a user-based impression count and a user-based impression duration; andstoring census-level data including the census-level total impression count and the census-level total impression duration, the census-level data total impression count and the census-level total impression duration including the user-based impression count and the user-based impression duration.
  • 10. The method of claim 9, wherein the census-level audience metrics are media audience metrics, the media including at least one of a webpage, an advertisement, or a video.
  • 11. The method of claim 9, wherein the census-level data includes data logged by an audience measurement entity.
  • 12. The method of claim 9, further including determining the divergence parameter values based on a Kullback-Leibler probability divergence.
  • 13. The method of claim 9, wherein the equality constraint is valid for the census-level audience metrics across all demographics represented in the subscriber data.
  • 14. The method of claim 8, wherein the subscriber audience size is provided by a database proprietor.
  • 15. A non-transitory computer readable storage medium comprising instructions that, when executed, cause a processor to at least: initialize distribution parameter values for a probability of an individual within a demographic being included in a subscriber audience for the demographic, having a first average impression count, and having a first average impression duration, the subscriber audience having a first subscriber audience size;determine divergence parameter values between (i) the subscriber audience size, the first impression count, and the first impression duration and (ii) a census-level audience size, a second impression count, and a second impression duration based on the initialized distribution parameter values;identify a search space within bounds based on a census-level total impression count and a census-level total impression duration, the search space to define an equality constraint; anditerate over the search space until census-level outputs based on the divergence parameter values converge to the equality constraint, the census-level outputs including census-level unique audience size, census-level impression count, and census-level impression duration for the demographic.
  • 16. The non-transitory computer readable storage medium of claim 15, wherein the instructions, when executed, cause a processor to: store, from a database proprietor, subscriber data including the first subscriber audience size, a the first impression count, and the first impression duration for the demographic;access, from a user device, a user-based impression count and a user-based impression duration; andstore census-level data including the census-level total impression count and the census-level total impression duration, the census-level data total impression count and the census-level total impression duration including the user-based impression count and the user-based impression duration.
  • 17. The non-transitory computer readable storage medium of claim 16, wherein the instructions, when executed, cause a processor to determine the divergence parameter values based on a Kullback-Leibler probability divergence.
  • 18. The non-transitory computer readable storage medium of claim 16, wherein the instructions, when executed, cause a processor to verify the equality constraint is valid for the census-level audience metrics across all demographics represented in the subscriber data.
  • 19. The non-transitory computer readable storage medium of claim 16, wherein the instructions, when executed, cause a processor to retrieve census-level data, the census-level data including data logged by an audience measurement entity.
  • 20. The non-transitory computer readable storage medium of claim 15, wherein the instructions, when executed, cause a processor to retrieve the subscriber audience size from a database proprietor.