This disclosure relates generally to computer-based measurement and, more particularly, to methods and apparatus to determine census audience measurements.
Media is accessible to users through a variety of platforms. For example, media 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 media providers and website developers to increase user engagement with their media.
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. As used herein, connection references (e.g., attached, coupled, connected, and joined) may include intermediate members between the elements referenced by the connection reference unless otherwise indicated. As such, connection references do not necessarily infer that two elements are directly connected and/or in fixed relation to each other.
Unless specifically stated otherwise, descriptors such as “first,” “second,” “third,” etc., are used herein without imputing or otherwise indicating any meaning of priority, physical order, arrangement in a list, and/or ordering in any way, but are merely used as labels and/or arbitrary names to distinguish elements 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 identifying those elements distinctly that might, for example, otherwise share a same name.
As used herein, “approximately” and “about” refer to dimensions that may not be exact due to manufacturing tolerances and/or other real world imperfections. As used herein “substantially real time” refers to occurrence in a near instantaneous manner recognizing there may be real world delays for computing time, transmission, etc. Thus, unless otherwise specified, “substantially real time” refers to real time+/−1 second. 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.
As used herein, “processor circuitry” is defined to include (i) one or more special purpose electrical circuits structured to perform specific operation(s) and including one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors), and/or (ii) one or more general purpose semiconductor-based electrical circuits programmed with instructions to perform specific operations and including one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors). Examples of processor circuitry include programmed microprocessors, Field Programmable Gate Arrays (FPGAs) that may instantiate instructions, Central Processor Units (CPUs), Graphics Processor Units (GPUs), Digital Signal Processors (DSPs), XPUs, or microcontrollers and integrated circuits such as Application Specific Integrated Circuits (ASICs). For example, an XPU may be implemented by a heterogeneous computing system including multiple types of processor circuitry (e.g., one or more FPGAs, one or more CPUs, one or more GPUs, one or more DSPs, etc., and/or a combination thereof) and application programming interface(s) (API(s)) that may assign computing task(s) to whichever one(s) of the multiple types of the processing circuitry is/are best suited to execute the computing task(s).
Techniques for monitoring user access to Internet-accessible media, such as digital television (DTV) media and digital content ratings (DCR) media, have evolved significantly over the years. Internet-accessible media is also known as digital media. In the past, such monitoring was done primarily through server logs. In particular, entities serving media on the Internet would log the number of requests received for their media at their servers. Basing Internet usage research on server logs is problematic for several reasons. For example, server logs can be tampered with either directly or via zombie programs, which repeatedly request media from the server to increase the server log counts. Also, media is sometimes retrieved once, cached locally and then repeatedly accessed from the local cache without involving the server. Server logs cannot track such repeat views of cached media. Thus, server logs are susceptible to both over-counting and under-counting errors.
The techniques disclosed in Blumenau, U.S. Pat. No. 6,108,637, which is hereby incorporated herein by reference in its entirety, fundamentally changed the way Internet monitoring is performed and overcame the limitations of the server-side log monitoring techniques described above. For example, Blumenau disclosed a technique wherein Internet media to be tracked is tagged with monitoring instructions. In particular, monitoring instructions are associated with the hypertext markup language (HTML) of the media to be tracked. When a client requests the media, both the media and the monitoring instructions are downloaded to the client. The monitoring instructions are, thus, executed whenever the media is accessed, be it from a server or from a cache. Upon execution, the monitoring instructions cause the client to send or transmit monitoring information from the client to a content provider site. The monitoring information is indicative of the manner in which content was displayed.
In some implementations, an impression request or ping request can be used to send or transmit monitoring information by a client device using a network communication in the form of a hypertext transfer protocol (HTTP) request. In this manner, the impression request or ping request reports the occurrence of a media impression at the client device. For example, the impression request or ping request includes information to report access to a particular item of media (e.g., an advertisement, a webpage, an image, video, audio, etc.). In some examples, the impression request or ping request can also include a cookie previously set in the browser of the client device that may be used to identify a user that accessed the media. That is, impression requests or ping requests cause monitoring data reflecting information about an access to the media to be sent from the client device that downloaded the media to a monitoring entity and can provide a cookie to identify the client device and/or a user of the client device. In some examples, the monitoring entity is an audience measurement entity (AME) that did not provide the media to the client and who is a trusted (e.g., neutral) third party for providing accurate usage statistics (e.g., The Nielsen Company, LLC). Since the AME is a third party relative to the entity serving the media to the client device, the cookie sent to the AME in the impression request to report the occurrence of the media impression at the client device is a third-party cookie. Third-party cookie tracking is used by measurement entities to track access to media accessed by client devices from first-party media servers.
There are many database proprietors operating on the Internet. These database proprietors provide services to large numbers of subscribers. In exchange for the provision of services, the subscribers register with the database proprietors. Examples of such database proprietors include social network sites (e.g., Facebook, Twitter, MySpace, etc.), multi-service sites (e.g., Yahoo!, Google, Axiom, Catalina, etc.), online retailer sites (e.g., Amazon.com, Buy.com, etc.), credit reporting sites (e.g., Experian), streaming media sites (e.g., YouTube, Hulu, etc.), etc. These database proprietors set cookies and/or other device/user identifiers on the client devices of their subscribers to enable the database proprietor s to recognize their subscribers when they visit their web sites.
The protocols of the Internet make cookies inaccessible outside of the domain (e.g., Internet domain, domain name, etc.) on which they were set. Thus, a cookie set in, for example, the facebook.com domain (e.g., a first party) is accessible to servers in the facebook.com domain, but not to servers outside that domain. Therefore, although an AME (e.g., a third party) might find it advantageous to access the cookies set by the database proprietors, they are unable to do so.
Techniques disclosed in Mazumdar et al., U.S. Pat. No. 8,370,489, which is incorporated by reference herein in its entirety, enable an AME to leverage the existing databases of database proprietors to collect more extensive Internet usage by extending the impression request process to encompass partnered database proprietors and by using such partners as interim data collectors. Techniques disclosed in Mazumdar accomplish this task by structuring the AME to respond to impression requests from clients (who may not be a member of an AME panel and, thus, may be unknown to the AME) by redirecting the clients from the AME to a database proprietor, such as a social network site partnered with the AME, using an impression response. Such a redirection initiates a communication session between the client accessing the tagged media and the database proprietor. For example, the impression response received at the client device from the AME may cause the client device to send a second impression request to the database proprietor. In response to the database proprietor receiving this impression request from the client device, the database proprietor (e.g., Facebook) can access any cookie it has set on the client to thereby identify the client based on the internal records of the database proprietor. In the event the client device corresponds to a subscriber of the database proprietor, the database proprietor logs/records a database proprietor demographic impression in association with the user/client device.
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, a group of advertisements and/or a collection of content). In Internet media delivery, a quantity of impressions or impression count is the total number of times media (e.g., content, an advertisement, or an advertisement campaign) has been accessed by a web population (e.g., the number of times the media is accessed). In some examples, an impression or media impression is logged by an impression collection entity (e.g., an AME or a database proprietor) in response to an impression request from a user/client device that requested the media. For example, an impression request is a message or communication (e.g., an HTTP request) sent by a client device to an impression collection server to report the occurrence of a media impression at the client device. In some examples, a media impression is not associated with demographics. In non-Internet media delivery, such as television (TV) media, a television or a device attached to the television (e.g., a set-top-box or other media monitoring device) may monitor media being output by the television. The monitoring generates a log of impressions associated with the media displayed on the television. The television and/or connected device may transmit impression logs to the impression collection entity to log the media impressions.
A user of a computing device (e.g., a mobile device, a tablet, a laptop, etc.) and/or a television may be exposed to the same media via multiple devices (e.g., two or more of a mobile device, a tablet, a laptop, etc.) and/or via multiple media types (e.g., digital media available online, digital TV (DTV) media temporarily available online after broadcast, TV media, etc.). For example, a user may start watching a first television program on a television as part of TV media, pause the program, and continue to watch the program on a tablet as part of DTV media. In such an example, the exposure to the program may be logged by an AME twice, once for an impression log associated with the television exposure, and once for the impression request generated by a tag (e.g., census measurement science (CMS) tag) executed on the tablet. Multiple logged impressions associated with the same program and/or same user are defined as duplicate impressions. Duplicate impressions are problematic in determining total reach estimates because one exposure via two or more cross-platform devices may be counted as two or more unique audience members. As used herein, reach is a measure indicative of the demographic coverage achieved by media (e.g., demographic group(s) and/or demographic population(s) exposed to the media). For example, media reaching a broader demographic base will have a larger reach than media that reached a more limited demographic base. The reach metric may be measured by tracking impressions for known users (e.g., AME panelists or non-panelists) for which an audience measurement entity stores demographic information or can obtain demographic information. Deduplication is a process to adjust cross-platform media exposure totals by reducing (e.g., eliminating) the double counting of individual audience members that were exposed to media via more than one platform and/or are represented in more than one database of media impressions used to determine the reach of the media.
As used herein, unique audience members are audience members who are distinguishable from one another. Furthermore, a unique audience is made up of unique audience members. Moreover, a particular audience member exposed to particular media is measured as a single unique audience member regardless of how many times that audience member is exposed to that particular media or the particular platform(s) through which the audience member is exposed to the media. If that particular audience member is exposed multiple times to the same media, the multiple exposures for the particular audience member to the same media is counted as only a single unique audience member. In this manner, impression performance for particular media is not disproportionately represented when a small subset of one or more audience members is exposed to the same media an excessively large number of times while a larger number of audience members is exposed fewer times or not at all to that same media. By tracking exposures to unique audience members, a unique audience measure may be used to determine a reach measure to identify how many unique audience members are reached by media. In some examples, increasing the size of a unique audience and, thus, reach, is useful for advertisers wishing to reach a larger audience base.
Notably, although third-party cookies are useful for third-party measurement entities in many of the above-described techniques to track media accesses and to leverage demographic information from database proprietors, use of third-party cookies may be limited or may cease in some or all online markets. That is, use of third-party cookies enables sharing anonymous personally identifiable information (PII) across entities which can be used to identify and deduplicate audience members across database proprietor impression data. However, to reduce or eliminate the possibility of revealing user identities outside database proprietors by such anonymous data sharing across entities, some websites, internet domains, and/or web browsers may stop (or have already stopped) supporting third-party cookies. This hampering of third-party cookies will make it more challenging for third-party measurement entities to track media accesses via first-party servers. That is, although first-party cookies will still be supported and useful for media providers to track accesses to media via their own first-party servers, neutral third parties interested in generating neutral, unbiased audience metrics data may not have access to the impression data collected by the first-party servers using first-party cookies. Examples disclosed herein may be implemented with or without the availability of third-party cookies because, as mentioned above, the datasets used in the deduplication process are generated and provided by database proprietors, which may employ first-party cookies to track media impressions from which the datasets are generated.
As used herein, census data corresponds to impressions (e.g., exposures to a media item by an audience member) logged for a general audience in a population regardless of whether the impressions correspond to audience members that are identifiable by the AME. In such examples, census-level impressions are collected as anonymous impression data. In many cases, AMEs may only have access to partial census-level data (e.g., a total census-level impression count across all demographics) but not access to complete census-level data (e.g., a census-level impression count for each individual demographic). In examples disclosed herein, to enrich the anonymous impression collected census data, a database proprietor collects demographic impression data by monitoring media accesses by its subscribers and logging corresponding impressions in association with demographic data collected from its subscribers. In examples disclosed herein, such demographic impression data corresponding to subscribers is also referred to as database proprietor (DP) panel data or DP panel impression data because it corresponds to known subscribers of the database proprietor which form a DP panel of audience members.
As used herein, a universe audience (e.g., a total audience, a unique audience, a deduplicated audience, a unique total audience, etc.) 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 the context of audience measurements for Internet-based media providers such as YouTube®, an audience measurement entity may have census-level information reflecting the total impressions (e.g., access to media, impression count values, impression requests, impression data etc.) and duration (e.g., duration values, duration data, impression duration values) of such impressions, but lack unique total audience (e.g., unique total audience size, unique total audience size values) and how the unique total audience, total impressions (e.g., accesses to media such as content, advertisements, webpage (pageviews), etc.) and durations are distributed across demographics. However, database proprietor data provides partial information on unique total audience sizes, total impression counts, and durations based on media access activities of subscribers of the database proprietor. Examples disclosed herein use such database proprietor information to estimate individual demographic level audience size (e.g., unique audience size for a specific demographic), individual demographic level impression counts, and individual demographic level durations of such impressions on the census data.
In examples disclosed herein, census constraints can be given to the AME. Example census constraints include a first constraint equation or set of constraint equations (e.g., the total impressions are to match the sum of the impressions for each demographic) and a second constraint equation or set of constraint equations (e.g., the total duration of such impressions is to match the sum of the impression duration for each demographic). In examples disclosed herein, an AME defines Lagrange multipliers for each of the constraint equations and determines bounds for the Lagrange multipliers. In examples disclosed herein, the example AME solves for the Lagrange multipliers within the bounds to determine estimates for demographic level census data. In addition, the estimates are logically consistent with all constraints and the procedure is a good (e.g., optimal) solution with regards to Information Theory. Examples disclosed herein described as determining some metric or measurement (e.g., an audience size, an impression count, a duration) for each demographic and/or dimension refers to determining the metric or measurement for an individual demographic and/or individual dimension (e.g., a media item) such that an audience size, an impression count, and/or a duration corresponds to a single demographic group and/or a single dimension (e.g., a media item).
The example operating environment 100 of
In the illustrated example, the example media server 102 serves the media 134 (e.g., media item 134) to the user devices 106 (e.g., client devices). As used herein, “media” refers collectively and/or individually to content and/or advertisement(s). For example, the media server 102 may serve one or more of different types of media (e.g., movies, songs, advertisements, webpages, e-books, etc. in the form of any one or more of video, audio, images, text, etc.).
Example users 104 include any individuals who access media on one or more user device(s) 106, such that the occurrence of access and/or exposure to media creates a media impression (e.g., viewing of an advertisement, a movie, a webpage banner, a webpage, etc.). A subset of example users 104 are panelists that have provided their demographic information when registering with the example AME 112. When the example users 104 who are panelists utilize example user devices 106 to access media through the example network 108, the AME 112 (e.g., AME servers) stores panelist activity data associated with their demographic information. The example users 104 also include individuals who are not panelists (e.g., not registered with the AME 112). The example users 104 include individuals who are subscribers to services provided by the database proprietor 110 and utilize these services via their user device(s) 106.
Example user devices 106 (e.g., client devices 106) can be stationary or portable computers, handheld computing devices, smart phones, Internet appliances, and/or any other type of device that may be capable of accessing media over a network (e.g., the Internet, network 108). In the illustrated example of
The example network 108 is a communications network that 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, wide area network, a cloud, 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. The example network 108 allows example impression requests from the example user devices 106 to be stored by the example database proprietor 110 and audience measurement entity 112. In some examples, the user devices 106 communicate with the example network 108 via the Internet.
In some examples, media (also referred to as a media item 134) 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 108). Execution of monitoring instructions causes the web browser to send an impression request (e.g., anonymous census impression request 138, subscriber impression request 136, etc.) to the servers of the AME 112 and/or the database proprietor 110. Demographic impressions are logged by the database proprietor 110 when user devices 106 accessing media are identified as belonging to registered subscribers of the database proprietor 110. The example database proprietor 110 stores data generated for registered subscribers in the subscriber database 116. Likewise, the example AME 112 logs census-level media impressions (e.g., census-level impressions, anonymous impression requests) for user devices 106, regardless of whether demographic information is available for such logged impressions. The example AME 112 stores census-level data information in the census-level data storage 124 (e.g., census-level database 124). 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. In the example of
The example AME 112 operates as an independent party to measure and/or verify audience measurement information relating to media accessed by users, for example, subscribers of the database proprietor 110. When media is accessed by user devices 106, the example AME 112 stores census-level information (e.g., the anonymous census impression requests 138) in the census-level database 124, including census total impression count values 130 (e.g., number of webpage views), and census total duration values 132 (e.g., length of time that a webpage was viewed). In some examples, the AME 112 stores census total audience size values 128 in addition to census total impression count values 130 and census total duration values 132. The example database proprietor 110 provides the AME 112 with aggregate subscriber data that obfuscates the person-specific data, such that reference aggregates among the individuals within a demographic are available (e.g., aggregate subscriber-based audience metrics). For example, the subscriber audience size values 118, the subscriber impression count values 120, and subscriber duration values 122 are provided at a demographic level (e.g., females 18-25, males 18-25, females 26-35, males 26-35, etc.). For example, the subscriber audience size values 118 correspond to unique audience size data in the aggregate per demographic category.
The example audience metrics generator circuitry 126 of the AME 112 receives aggregate subscriber-based audience metrics data (e.g., subscriber audience size values 118, subscriber impression count values 120, and subscriber duration values 122). The example audience metrics generator circuitry 126 uses the aggregate data to determine census-level audience size data, census-level impression counts data, and census-level impression duration data for individual demographics. In addition, the example audience metrics generator circuitry 126 uses the census-level data available to the AME 112 (e.g., census total audience size values 128, census total impression count values 130 and census total duration values 132) to generate the census-level audience, impressions, and duration estimates for the subscriber-based data for individual demographics. The example AME 112 may output the census-level audience size data, census-level impression count data, and census-level impression duration data for individual demographics to an example customer 114. For example, the AME 112 may send the audience metrics to the example customer 114 as a table or a report. Examples of audience metrics tables that may be sent to the example customer 114 are further described in conjunction with
The example audience metrics generator circuitry 126 is provided with the example network interface 202 to communicate with the example network 108. In this manner, the example audience metrics generator circuitry 126 can use the network interface 202 to access subscriber audience metrics data (e.g., the subscriber audience size values 118, the subscriber impression count values 120, and/or the subscriber duration values 122 of
The example audience metrics data storage 204 (e.g., data store, audience metrics data store) stores aggregate subscriber-based audience metrics data accessed from the database proprietor 110. For example, data accessed from the database proprietor 110 can include the subscriber data (e.g., the subscriber audience size values 118, the subscriber impression count values 120, and/or the subscriber duration values 122 of
The example reporter circuitry 206 outputs the census-level demographic results determined by the audience metrics generator circuitry 126. For example, the reporter circuitry 206 may send the census-level demographic results to a customer (e.g., the customer 114 of
As discussed further below in connection with
The total panel impression count (R(•,k)) and the a total panel duration data (D(•,k)) are simple summations of the panel impression counts for each dimension and the panel duration data for each dimension, respectively. However, the deduplicated total panel audience (A(•,k)) is not a simple summation as multiple people can appear within multiple dimensions and the deduplicated total panel audience (A(•,k)) is a unique audience without double counting any individual. Thus, the total audience, impression count, and duration data can be expressed using the below Equations 1a, 1b, and 1c.
Similar equations to Equations 1a-1c can be generated for census audience data, census impression counts, and census duration data. Additionally, below Equations 2a and 2b represent expressions corresponding to census impression count for each dimension across all demographics (T(j,•)) and total census impression count across all dimensions and all demographics (T(•,•)).
Additionally, the audience metrics data can include deduplicated total panel audience across all demographics and dimensions (A(•,•)) which can be defined using the below Equations 3a and 3b.
The example audience metrics generator circuitry 126 includes the statistics generator circuitry 210 to determine statistics corresponding to the subscriber data including pseudo-universe estimates for each demographic and constraint variables. Techniques disclosed in Sheppard et al., U.S. patent application Ser. No. 17/408,164, which is incorporated by reference herein in its entirety, solve a maximum entropy problem for a single demographic case. The solution for the maximum entropy problem for the single demographic case disclosed in Sheppard is shown in below Equations 4a, 4b, 4c, 4d, 4e, and 5.
In examples disclosed herein, multiple demographics are included in the audience metrics data. As such, the above Equations 4a-4e and 5 can be updated to include the K demographics. Additionally, each demographic includes two pseudo-universe estimates, a pseudo-universe estimate for the panel (Q(k){A}) and a pseudo-universe estimate for the census (Q(k){X}). The change in notation results in the below Equations 6a, 6b, 6c, 6d, 6e, and 7. Equations 6a-7 are true for all j={1, 2, . . . n} and k={1, 2, . . . K}. A similar equation to Equation 7 can be generated for the census audience, X, by substituting Q(k){A} for Q(k){X} and A for X.
The example statistics generator circuitry 210 of
In examples disclosed herein, determining the census audience metrics data can be simplified by constraining the census impression counts and the census duration data to known total census impression counts and known total census duration data. For example, for a given dimension (j), total census impression counts (T(j,•)) may be known, but the distribution of the impression counts across the demographics may be unknown. Additionally, for a given dimension (j), total census duration data (V(j,•)) may be known, but the distribution of the duration data across the demographics may be unknown. The impression constraint equation is represented below by example Equation 8a and the duration constraint equation is represented below by example Equation 8b. Examples disclosed herein determine census audience data, census impression counts, and census duration data for each dimension and each demographic subject to the constraints of Equations 8a and 8b. In some examples, only total census impression counts and total census duration data across the demographics and the dimensions are known. In these examples, the constraints of Equations 9a and 9b can be used. In the example of using Equations 8a and 8b to set constraint equations, the number of constraint equations is 2*n wherein n is the number of dimensions. In the example of using Equations 9a and 9b to set constraint equations, the number of constraint equations is two.
The example constraint equation controller circuitry 212 selects the constraint equations for solving for census audience metrics data. For example, the constraint equation controller circuitry 212 can use Equations 8a and 8b to select the 2*n constraint equations if total census impression counts and total census duration data are known for each dimension across all demographics. In other example, if total census impression counts and total census duration data are only known across all dimensions, across all demographics, the constraint equation controller circuitry 212 can use Equations 9a an 9b to select the two constraint equations.
In examples disclosed herein, each constraint defined by a constraint equation of Equations 8a, 8b, 9a, and/or 9b has a corresponding Lagrange multiplier. In the example of using the 2*n constraint equations determined using Equations 8a and 8b, there are 2*n Lagrange multipliers. A quantity of n Lagrange multipliers (λ(j){T}) corresponding to the census impression counts for each dimension and a quantity of n Lagrange multipliers (λ(j){V}) corresponding to the census duration data for each dimension. For each demographic (e.g., demographic index k), the following equations 10a, 10b, 10c, 10d, and 11 can be defined.
Additionally, examples disclosed herein define multiplier variables c(j){T} and c(j){V} using the below example Equations 12a and 12b.
Given the definitions for the multiplier variables in Equations 12a and 12b, the solution to X(j,k) is the output of the below example Equations 13a, 13b, 13c, and 13d. Further, the invariance of z can be defined by example Equation 14 below.
As such, example Equation 11 defining Q(k){K} can be rephrased as shown in example Equations 15a, 15b, and 15c below.
Defining P(k) using example Equation 16 below, example Equations 11 and 14 can be written as example Equations 17a and 17b below.
The example Equations 17a and 17b above can be re-arranged to example Equations 18a and 18b below. By defining o(•,k) using example Equation 19 below, the example Equations 18a and 18b can be simplified to example Equations 20a and 20b below.
Finally, solving for the pseudo-universe estimate for the census audience for each demographic (Q(k){X}) allows solving for the audience size, impression count, and duration for each dimension within the demographic using below example Equations 21a, 21b, and 21c.
The example bounds generator circuitry 214 generates bounds for the multiplier variables (c(j){T},c(j){V}). For example, the bounds generator circuitry 214 generates bounds for the multiplier variables for j={1, . . . , N} using the below Equations 22a and 22b.
Additionally, the example bounds generator circuitry 214 can determine a finite lower bound for the duration multiplier (c(j){V}) given that total census impression counts and durations are known. Given two sequences of positive numbers {a1, . . . , a} and {b1, . . . , bn}, the inequality shown in below example Equation 23 is known to be true.
For example, if the total census impression counts and durations are known across all demographics for each dimension ((T(j,•), V(j,•)) for j={1, . . . , N}), the theorem presented in Equation 23 can be applied, giving Equation 24 below. Summing across both j and k results in Equation 25 below.
Applying Equations 21b and 21c to the ratio of the impression count for a given demographic and dimension (j,k) over the duration for a given demographic and dimension (j,k), it can be seen using below example Equations 26a and 26b that the ratio is independent of the unknown value of the audience size for the given demographic and dimension. Using below Equation 26c, it can be seen that the ratio is also linear with respect to the duration multiplier, (c(j){V}).
Let r be the known ratio in the middle of the inequality in either example Equation 23 or example Equation 24. In some examples, the variable r is indexed by j. Additionally, define Q as the summation region (e.g., j={1, . . . , N} and k={1, . . . , K}). By the theorem defined in example Equation 23 above, along with the constraints f{T}≥1 and f{v}≥0, below example Equation 27 can be defined with the definition of s provided in example Equation 28.
In the example where the total impression counts across demographics (T(j,•)) and the total durations across demographics (V(j,•)) are known for each dimension, s and r can be defined using example Equations 29a and 29b below. Additionally, the bounds for the duration multiplier (c(j){V}) depending on index j can be defined using below example Equation 30.
In the example where only total impression counts across demographics and dimensions (T(•,•)) and total durations across demographics and dimensions (V(•,•)) are known, Equations 29a, 29b, and 30 can be re-written as below example Equations 31a, 31b, and 32.
The application of the theorem of Equation 23 allows the example bounds generator circuitry 214 to define a finite search space for the duration multiplier (c{V}) contingent on known total impression counts and total durations. The example bounds generator circuitry 214 defines bounds for the duration multiplier (c{V}) using above Equations 30 and 32 depending on the known total impression counts and total durations. Using the above example Equation 22a along with either Equation 30 or 32, the example bounds generator circuitry 214 defines finite bounds for both the impression multiplier (c{V}) and the duration multiplier (c{V}). Thus, the Lagrange multiplier controller circuitry 218 can solve for a solution for the impression multiplier (c{V}) and the duration multiplier (c{V}) within the bounds that satisfies the constraint equations.
In order for the example Lagrange multiplier controller circuitry 218 to solve for the impression multiplier(s) and the duration multiplier(s), the example metrics calculator circuitry 216 determines the relationship variable (o(j,k)) for each index (j,k), the total audience across all dimensions for each demographic (X(•,k)), and the pseudo-universe estimate for each demographic (Q(k){d}) as a function of the Lagrange impression multiplier (c{T}) and the duration multiplier (c{V}). For example, the metrics calculator circuitry 216 uses example Equations 13a, 13b, and 13c to determine the relationship variable (o(j,k)) for each index as a function of the impression multiplier and the duration multiplier. Next, the example metrics calculator circuitry 216 inserts relationship variable (o(j,k)) for each index into example Equation 20a to determine the total audience sizes across all dimensions for each demographic (X(•,k)) as a function of the impression multiplier and the duration multiplier. Further, the example metrics calculator circuitry 216 inserts the total audience sizes across all dimensions for each demographic (X(•,k)) into example Equation 20b to determine the pseudo-universe estimate for each demographic (Q(k){X}) as a function of the impression multiplier and the duration multiplier.
Once the pseudo-universe estimate for each demographic (Q(k){V}) as a function of the impression and duration multipliers is determined by the example metrics calculator circuitry 216, the example metrics calculator circuitry can solve for the audience size (X(j,k)), impression count (T(j,k)), and durations (V(j,k)), for each demographic and dimension index (j,k) as a function of the impression and duration multipliers (c{T}) and c{V}) For example, the metrics calculator circuitry 216 inserts the relationship value (o(j,k)) and the pseudo-universe estimate for the demographic (Q(k){V}) into Equation 21a to determine the audience size (X(j,k)) for a given index as a function of the impression and duration multipliers. Next, the example metrics calculator circuitry 216 can insert the audience size (X(j,k)) into Equation 21b to determine the impression count (T(j,k)) for the given index as a function of the impression and duration multipliers. Additionally, the example metrics calculator circuitry 216 can insert the audience size (X(j,k)) into Equation 21c to determine the duration (V(j,k)) for the given index as a function of the impression and duration multipliers. The example metrics calculator circuitry 216 can repeat the above steps to determine the audience size (X(j,k)), impression count (T(j,k)), and durations (V(j,k)), for each demographic and dimension index as a function of the impression and duration multipliers.
In order to solve for the impression and duration multipliers, and, thus, the census-level metrics, the example Lagrange multiplier controller circuitry 218 first sets initial values for the impression multiplier (c{T}) and the duration multiplier (c{V}) within the bounds. For example, as explained above, the bounds can be defined by the bounds generator circuitry 214 using example Equation 22a and Equation 30 or Equation 32. The example Lagrange multiplier controller circuitry 218 can set an initial value of the impression multiplier (c{T}) within the bounds defined by Equation 22a. For example, the Lagrange multiplier controller circuitry 218 sets the initial value of the impression multiplier (c{T}) as the lower bound of Equation 22a. In another example, the Lagrange multiplier controller circuitry 218 sets the initial value of the impression multiplier (c{T}) as the upper bound of Equation 22a. In another example, the Lagrange multiplier controller circuitry 218 sets the initial value of the impression multiplier (c{T}) as any value between the lower and upper bound defined in Equation 22a. Additionally, the example Lagrange multiplier controller circuitry 218 can set an initial value of the duration multiplier (c{V}) within the bounds defined by Equation 30 or Equation 32. For example, the Lagrange multiplier controller 218 sets the initial value of the duration multiplier (c{V}) as the lower bound of Equation 30 or Equation 32. In another example, the Lagrange multiplier controller circuitry 218 sets the initial value of the duration multiplier (c{V}) as the upper bound of Equation 30 or Equation 32. In another example, the Lagrange multiplier controller 218 sets the initial value of the duration multiplier (c{V}) as any value between the lower and upper bound defined in Equation 30 or Equation 32.
Once initial values are set for the impression multiplier (c{T}) and the duration multiplier (c{V}), the example metrics calculator circuitry 216 determines values for each of the audience sizes (X(j,k)), impression counts (T(j,k)), and durations (V(j,k)) for each demographic and dimension index (j,k) using the equations determined previously as a function of the impression and duration multipliers. Next, the example constraint equation controller circuitry 212 determines if the constraint equations are met given the values of the impression counts (T(j,k)) and durations (V(j,k)) for each demographic and dimension index (j,k) determined by the metrics calculator circuitry 216. For example, if the total census impression counts and total census duration data are known for each dimension across all demographics, the example constraint equation controller circuitry 212 can insert the impression counts and durations into the 2*n constraint equations selected from Equations 8a and 8b and check if the constraint equations are met (e.g., the equality holds true). In another example, if total census impression counts and total census duration data are only known across all dimensions and across all demographics, the constraint equation controller circuitry 212 can insert the impression counts and durations into the two constraint equations selected from Equations 9a and 9b to check if the constraint equations are met (e.g., the equality holds true).
If the example constraint equation controller circuitry 212 determines that any of the constraint equations are not met (e.g., the equality did not hold true), the Lagrange multiplier controller circuitry 218 varies the value of the impression and/or duration multiplier within the bounds determined by the bounds generator circuitry 214. Using the updated values of the impression and duration multipliers, the example metrics calculator circuitry 216 determines updated values for each of the audience sizes (X(j,k)), impression counts (T(j,k)), and durations (V(j,k)) for each demographic and dimension index (j,k). Further, the example constraint equation controller circuitry 212 again checks if the constraint equations are met. If any of the constraint equations are not met, the audience metrics generator circuitry 126 repeats the above process of updating the impression and/or duration multipliers and checking if the constraint equations are met. If the example constraint equation controller circuitry 212 determines that all constraint equations are met, the example Lagrange multiplier controller circuitry 218 determines that it has found the solutions for the impression and duration multipliers and the iterative process ends.
The example census-level metrics generator circuitry 220 determines census-level metrics (e.g., census audience sizes, census impression counts, and census durations) for each demographic and dimension. For example, the census-level metrics generator circuitry 220 uses the solutions for the impression and duration multipliers found by the Lagrange multiplier controller circuitry along with Equations 21a, 21b, and 21c to determine the census-level metrics. Additionally, the example census-level metrics generator circuitry 220 can compile the census-level audience sizes, census-level impression counts, and census-level durations into an audience metrics table. In some examples, the census-level metrics generator circuitry 220 populates missing fields in a previous audience metrics table to generate the audience metrics table including census-level metrics for each demographic and duration. The audience metrics table including the census-level metrics for each demographic and duration may be stored in the audience metrics data storage 204. The example reporter circuitry 206 can transmit the audience metrics table including the census-level metrics to a customer (e.g., the customer 114 of
Examples disclosed herein can be used to determine the unknown census audience metrics of tables 400, 422, and 440 of
Examples disclosed herein can be used to determine the unknown census audience metrics of tables 600, 602, and 604 of
In some examples, the apparatus includes means for selecting a plurality of constraint equations. For example, the means for selecting constraint equations may be implemented by constraint equation controller circuitry 212. In some examples, the constraint equation controller circuitry 212 may be implemented by machine executable instructions such as that implemented by at least blocks 808 of
In some examples, the apparatus includes means for determining bounds for a multiplier for ones of the constraint equations. For example, the means for determining bounds may be implemented by bounds generator circuitry 214. In some examples, the bounds generator circuitry 214 may be implemented by machine executable instructions such as that implemented by at least blocks 810 of
In some examples, the apparatus includes means for determining a value for ones of the multipliers. For example, the means for determining a value for ones of the multipliers may be implemented by Lagrange multiplier controller circuitry 218. In some examples, the Lagrange multiplier controller circuitry 218 may be implemented by machine executable instructions such as that implemented by at least blocks 812 of
In some examples, the apparatus includes means for determining census information. For example, the means for determining census information may be implemented by census-level metrics generator circuitry 220. In some examples, the census-level metrics generator circuitry 220 may be implemented by machine executable instructions such as that implemented by at least blocks 814 of
In some examples, the apparatus includes means for generating a report. For example, the means for generating a report may be implemented by reporter circuitry 206. In some examples, the reporter circuitry 206 may be implemented by machine executable instructions such as that implemented by at least blocks 818 of
While an example manner of implementing the audience metrics generator circuitry 126 of
Flowcharts representative of example hardware logic circuitry, machine readable instructions, hardware implemented state machines, and/or any combination thereof for implementing the audience metrics generator circuitry 126 of
The machine readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a fragmented format, a compiled format, an executable format, a packaged format, etc. Machine readable instructions as described herein may be stored as data or a data structure (e.g., as 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) located at the same or different locations of a network or collection of networks (e.g., in the cloud, in edge devices, etc.). The machine readable instructions may require one or more of installation, modification, adaptation, updating, combining, supplementing, configuring, decryption, decompression, unpacking, distribution, reassignment, compilation, etc., in order to make them directly readable, interpretable, 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/or stored on separate computing devices, wherein the parts when decrypted, decompressed, and/or combined form a set of machine executable instructions that implement one or more operations that may together form 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 processor circuitry, 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 machine readable 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, machine readable media, as used herein, may include 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 operations of
“Including” and “comprising” (and all forms and tenses thereof) are used herein to be open ended terms. Thus, whenever a claim employs any form of “include” or “comprise” (e.g., comprises, includes, comprising, including, having, etc.) as a preamble or within a claim recitation of any kind, it is to be understood that additional elements, terms, etc., may be present without falling outside the scope of the corresponding claim or recitation. As used herein, when the phrase “at least” is used as the transition term in, for example, a preamble of a claim, it is open-ended in the same manner as the term “comprising” and “including” are open ended. The term “and/or” when used, for example, in a form such as A, B, and/or C refers to any combination or subset of A, B, C such as (1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, (6) B with C, or (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, or (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, or (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, or (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, or (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” object, as used herein, refers to one or more of that object. The terms “a” (or “an”), “one or more”, and “at least one” are used interchangeably herein. Furthermore, although individually listed, a plurality of means, elements or method actions may be implemented by, e.g., the same entity or object. 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.
At block 808, the example constraint equation controller circuitry 212 (
At block 814, the example census-level metrics generator circuitry 220 (
In the example where, at block 902, the example bounds generator circuitry 214 determines that only census-level total impression count (T(•,•)) and duration (V(•,•)) aggregated across all dimensions and demographics are known, control continues to block 910. At block 910, the example bounds generator circuitry 214 determines an upper and a lower bound for the Lagrange multiplier (c{T}) corresponding to the impression constraint equation selected at block 808. For example, the bounds generator circuitry 214 uses example Equation 22a above to calculate the upper bound the impression constraint equation Lagrange multiplier (c{T}). Additionally, based on example Equation 22a above, the example bounds generator circuitry 214 determines that the lower bound for the impression constraint equation Lagrange multiplier (c{T}) is zero. At block 912, the example bounds generator circuitry 214 determines an upper bound for the duration constraint equation Lagrange multiplier (c{V}). For example, the bounds generator circuitry 214 uses example Equation 22b above to determine the upper bound for the Lagrange multiplier (c{V}) corresponding to the duration constraint equation selected at block 808. At block 914, the example bounds generator circuitry 214 determines a finite lower bound for the duration constraint equation Lagrange multiplier (c{V}). For example, the bounds generator circuitry 214 uses example Equations 29a, 29b, and 30 above to determine the finite lower bound for the Lagrange multiplier (c{V}) corresponding to the duration constraint equation selected at block 808. The process of
At block 1008, the example metrics calculator circuitry 216 determines census-level audience sizes (X(j,k)), census-level impression counts (T(j,k)), and census-level durations (V(j,k)) for each demographic and dimension indices as a function of the Lagrange multipliers (c{T} and c{V}). For example, the metrics calculator circuitry 216 uses the relationship variables (o(j,k)), the pseudo-universe estimate for each demographic (Q(k){X}), and example Equation 21a above to determine the census-level audience sizes (X(j,k)). Additionally, the example metrics calculator circuitry 216 uses the results of Equation 13a above, the census-level audience sizes (X(j,k)), and example Equation 21b above to determine the census-level impression counts (T(j,k)). Additionally, the example metrics calculator circuitry 216 uses the results of example 13b above, the census-level audience sizes (X(j,k)), and example Equation 21c above to determine the census-level durations (V(j,k)).
At block 1010, the Lagrange multiplier controller circuitry 218 (
At block 1014, the example constraint equation controller circuitry 212 checks if the constraint equations are satisfied. For example, the constraint equation controller circuitry 212 uses the values of the census-level metrics calculated at block 1012 to check if the constraint equations selected at block 808 (
At block 1204, the processor 1312 selects a unit of time (e.g., hours, minutes, seconds) and scales (e.g., converts) the durations of the impressions by the selected unit of time. For example, if the selected unit of time is hours, the example second duration which was measured in minutes is scaled (e.g., converted) to be represented in hours. Although the unit of time to represent the second impression changed, the length of the time elapsed of the second impression did not change during the example scaling process. For example, if the duration of the second impression is 66 minutes, the operation of block 1204 scales (e.g., converts) the duration of the second impression to be represented as 1.10 hours.
At block 1206, the example processor 1312 selects a demographic {k} to process. For example, a first demographic could be 13-17 year-old male, female audience members. At block 1208, the example processor 1312 selects a dimension {j} inside selected demographic {k} to process. For example, a first dimension could be audience members that accessed a first video. The intersection of a selected demographic {k} and a selected dimension {j} is referred to as a dimension-demographic domain. As used herein, a dimension-demographic domain refers to a grouping or pairing of one dimension and one demographic such as 13-17 year-old audience members (e.g., demographic) that accessed a particular video (e.g., dimension). For example, 13-17 year-olds that accessed a first video correspond to a first dimension-demographic domain, and 18-25 year-olds that accessed a second video correspond to a second dimension-demographic domain.
At block 1210, the example processor 1312 calculates a frequency space for the selected dimension {j} of selected demographic {k} based on a census-level impression count (T) for each dimension summed across the demographics and a census-level duration (V) for each dimension summed across the demographics.
At block 1212, the example processor 1312 calculates a demographic estimate of total unique audience sizes deduplicated across multiple dimensions (X(•,k)) based on the calculated frequency space o and a demographic total universal audience size U(k). As used herein, (X(•,k)) refers to the audience sizes deduplicated across multiple dimensions (e.g., the unique audience size that accessed any one or more of a first video, a second video, a third video, etc.) for an individual demographic (e.g., 13-17 year-olds). As used herein, the dot (e.g., typographical bullet point symbol) of (X(•,k)) refers to the universe of dimensions the database proprietor is analyzing.
At block 1214, the example processor 1312 calculates a pseudo-universe estimate for each demographic (Q) based on the calculated demographic estimate of total unique audience sizes deduplicated across multiple dimensions (X(•,k)). At block 1216, the example processor 1312 determines whether there is another dimension to process. For example, if the example processor 1312 determines there is an additional dimension to process, control returns to block 1208 to select another dimension {j} inside selected demographic {k} to process. If the example processor 1312 determines there is not an additional dimension to process, control advances to block 1218.
At block 1218, the example processor 1312 determines whether there is another demographic to process. For example, if the example processor 1312 determines there is an additional demographic to process, control returns to block 1206 to select a demographic. If the example processor 1312 determines there is not an additional demographic to process, control advances to block 1220. At block 1220, the example processor 1312 calculates an audience size (X), an impression count (T), and continuous durations (V) for each dimension across the demographics based on the calculated pseudo-universe estimate (Q) for each demographic. The example program 1200 ends.
The processor platform 1300 of the illustrated example includes processor circuitry 1312. The processor circuitry 1312 of the illustrated example is hardware. For example, the processor circuitry 1312 can be implemented by one or more integrated circuits, logic circuits, FPGAs microprocessors, CPUs, GPUs, DSPs, and/or microcontrollers from any desired family or manufacturer. The processor circuitry 1312 may be implemented by one or more semiconductor based (e.g., silicon based) devices. In this example, the processor circuitry 1312 implements the audience metrics generator circuitry 126, the network interface 202, the reporter circuitry 206, the statistics generator circuitry 210, the constraint equation controller circuitry 212, the bounds generator circuitry 214, the metrics calculator circuitry 216, the Lagrange multiplier controller circuitry 218, and the census-level metrics generator circuitry 220.
The processor circuitry 1312 of the illustrated example includes a local memory 1313 (e.g., a cache, registers, etc.). The processor circuitry 1312 of the illustrated example is in communication with a main memory including a volatile memory 1314 and a non-volatile memory 1316 by a bus 1318. The volatile memory 1314 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 RAM device. The non-volatile memory 1316 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1314, 1316 of the illustrated example is controlled by a memory controller 1317.
The processor platform 1300 of the illustrated example also includes interface circuitry 1320. The interface circuitry 1320 may be implemented by hardware in accordance with any type of interface standard, such as an Ethernet interface, a universal serial bus (USB) interface, a Bluetooth® interface, a near field communication (NFC) interface, a PCI interface, and/or a PCIe interface.
In the illustrated example, one or more input devices 1322 are connected to the interface circuitry 1320. The input device(s) 1322 permit(s) a user to enter data and/or commands into the processor circuitry 1312. The input device(s) 1322 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, an isopoint device, and/or a voice recognition system.
One or more output devices 1324 are also connected to the interface circuitry 1320 of the illustrated example. The output devices 1324 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 (CRT) display, an in-place switching (IPS) display, a touchscreen, etc.), a tactile output device, a printer, and/or speaker. The interface circuitry 1320 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip, and/or graphics processor circuitry such as a GPU.
The interface circuitry 1320 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) by a network 1326. The communication can be by, 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, an optical connection, etc.
The processor platform 1300 of the illustrated example also includes one or more mass storage devices 1328 to store software and/or data. Examples of such mass storage devices 1328 include magnetic storage devices, optical storage devices, floppy disk drives, HDDs, CDs, Blu-ray disk drives, redundant array of independent disks (RAID) systems, solid state storage devices such as flash memory devices, and DVD drives.
The machine executable instructions 1332, which may be implemented by the machine readable instructions of
The cores 1402 may communicate by an example bus 1404. In some examples, the bus 1404 may implement a communication bus to effectuate communication associated with one(s) of the cores 1402. For example, the bus 1404 may implement at least one of an Inter-Integrated Circuit (I2C) bus, a Serial Peripheral Interface (SPI) bus, a PCI bus, or a PCIe bus. Additionally or alternatively, the bus 1404 may implement any other type of computing or electrical bus. The cores 1402 may obtain data, instructions, and/or signals from one or more external devices by example interface circuitry 1406. The cores 1402 may output data, instructions, and/or signals to the one or more external devices by the interface circuitry 1406. Although the cores 1402 of this example include example local memory 1420 (e.g., Level 1 (L1) cache that may be split into an L1 data cache and an L1 instruction cache), the microprocessor 1400 also includes example shared memory 1410 that may be shared by the cores (e.g., Level 2 (L2_cache)) for high-speed access to data and/or instructions. Data and/or instructions may be transferred (e.g., shared) by writing to and/or reading from the shared memory 1410. The local memory 1420 of each of the cores 1402 and the shared memory 1410 may be part of a hierarchy of storage devices including multiple levels of cache memory and the main memory (e.g., the main memory 1314, 1316 of
Each core 1402 may be referred to as a CPU, DSP, GPU, etc., or any other type of hardware circuitry. Each core 1402 includes control unit circuitry 1414, arithmetic and logic (AL) circuitry (sometimes referred to as an ALU) 1416, a plurality of registers 1418, the L1 cache 1420, and an example bus 1422. Other structures may be present. For example, each core 1402 may include vector unit circuitry, single instruction multiple data (SIMD) unit circuitry, load/store unit (LSU) circuitry, branch/jump unit circuitry, floating-point unit (FPU) circuitry, etc. The control unit circuitry 1414 includes semiconductor-based circuits structured to control (e.g., coordinate) data movement within the corresponding core 1402. The AL circuitry 1416 includes semiconductor-based circuits structured to perform one or more mathematic and/or logic operations on the data within the corresponding core 1402. The AL circuitry 1416 of some examples performs integer based operations. In other examples, the AL circuitry 1416 also performs floating point operations. In yet other examples, the AL circuitry 1416 may include first AL circuitry that performs integer based operations and second AL circuitry that performs floating point operations. In some examples, the AL circuitry 1416 may be referred to as an Arithmetic Logic Unit (ALU). The registers 1418 are semiconductor-based structures to store data and/or instructions such as results of one or more of the operations performed by the AL circuitry 1416 of the corresponding core 1402. For example, the registers 1418 may include vector register(s), SIMD register(s), general purpose register(s), flag register(s), segment register(s), machine specific register(s), instruction pointer register(s), control register(s), debug register(s), memory management register(s), machine check register(s), etc. The registers 1418 may be arranged in a bank as shown in
Each core 1402 and/or, more generally, the microprocessor 1400 may include additional and/or alternate structures to those shown and described above. For example, one or more clock circuits, one or more power supplies, one or more power gates, one or more cache home agents (CHAs), one or more converged/common mesh stops (CMSs), one or more shifters (e.g., barrel shifter(s)) and/or other circuitry may be present. The microprocessor 1400 is a semiconductor device fabricated to include many transistors interconnected to implement the structures described above in one or more integrated circuits (ICs) contained in one or more packages. The processor circuitry may include and/or cooperate with one or more accelerators. In some examples, accelerators are implemented by logic circuitry to perform certain tasks more quickly and/or efficiently than can be done by a general purpose processor. Examples of accelerators include ASICs and FPGAs such as those discussed herein. A GPU or other programmable device can also be an accelerator. Accelerators may be on-board the processor circuitry, in the same chip package as the processor circuitry and/or in one or more separate packages from the processor circuitry.
More specifically, in contrast to the microprocessor 1400 of
In the example of
The interconnections 1510 of the illustrated example are conductive pathways, traces, vias, or the like that may include electrically controllable switches (e.g., transistors) whose state can be changed by programming (e.g., using an HDL instruction language) to activate or deactivate one or more connections between one or more of the logic gate circuitry 1508 to program desired logic circuits.
The storage circuitry 1512 of the illustrated example is structured to store result(s) of the one or more of the operations performed by corresponding logic gates. The storage circuitry 1512 may be implemented by registers or the like. In the illustrated example, the storage circuitry 1512 is distributed amongst the logic gate circuitry 1508 to facilitate access and increase execution speed.
The example FPGA circuitry 1500 of
Although
In some examples, the processor circuitry 1312 of
A block diagram illustrating an example software distribution platform 1605 to distribute software such as the example machine readable instructions 1332 of
From the foregoing, it will be appreciated that example systems, methods, apparatus, and articles of manufacture have been disclosed that determine unknown census demographic information for multiple dimensions. The multiple dimensions correspond to media accesses or events such as, for example, videos (e.g., video 1, video 2 and video 3). The unknown census demographic information is determined based on known census data and known panel data. The disclosed systems, methods, apparatus, and articles of manufacture improve the efficiency of using a computing device by solving for census-level audience sizes, impression counts, and durations for multiple dimensions and multiple demographics with one set of constraint equations and bounds. As such, examples disclosed herein determine census-level audience sizes, impression counts, and durations for multiple dimensions and multiple demographics without the need to solve multiple sets of equations, each corresponding to a single dimension or a single demographic. Thus, reducing the number of sets of equations to be solved to a single set of equations reduces computing resources needed to solve for the census-level demographic audience metrics for multiple dimensions and multiple demographics. The disclosed systems, methods, apparatus, and articles of manufacture are accordingly directed to one or more improvement(s) in the operation of a machine such as a computer or other electronic and/or mechanical device.
Example methods and apparatus to determine census information of events are disclosed herein. Further examples and combinations thereof include the following:
Example 1 includes an apparatus including at least one memory; instructions; and processor circuitry to execute the instructions to at least: select a plurality of constraint equations based on census audience measurement data corresponding to a first demographic group and a second demographic group; determine bounds for multipliers for ones of the constraint equations based on the census audience measurement data; determine a value for ones of the multipliers based on the bounds, the value to satisfy the constraint equations; determine first census audience measurement information and second census audience measurement information based on the multipliers, panel audience measurement data, and the census audience measurement data, the first census audience measurement information corresponding to the first demographic group, the second census audience measurement information corresponding to the second demographic group; and generate a report including the first census audience measurement information and the second census audience measurement information.
Example 2 includes the apparatus of example 1, wherein the census audience measurement data and the panel audience measurement data correspond to a plurality of media items.
Example 3 includes the apparatus of example 1, wherein the census audience measurement data includes an audience size, an impression count, and duration data.
Example 4 includes the apparatus of example 1, wherein the processor circuitry is to execute the instructions to determine, based on the multipliers, the panel audience measurement data, and the census audience measurement data, a first deduplicated census audience size for the first demographic group and a second deduplicated census audience size for the second demographic group.
Example 5 includes the apparatus of example 1, wherein the processor circuitry is to execute the instructions to determine third census audience measurement information, the third census audience measurement information based on a total of the first census audience measurement information and the second census audience measurement information.
Example 6 includes the apparatus of example 1, wherein at least a first one of the constraint equations is based on a sum of census impression counts across demographics and at least a second one of the constraint equations is based on a sum of census duration data across the demographics.
Example 7 includes the apparatus of example 1, wherein the first census audience measurement information and the second census audience measurement information are not included in the census audience measurement data.
Example 8 includes the apparatus of example 1, wherein the multipliers are Lagrange multipliers.
Example 9 includes an apparatus including statistics generator circuitry to select a plurality of constraint equations based on census audience measurement data corresponding to a first demographic group and a second demographic group; bounds generator circuitry to determine bounds for multipliers for ones of the constraint equations based on the census audience measurement data; multiplier controller circuitry to determine a value for ones of the multipliers based on the bounds, the value to satisfy the constraint equations; census-level metrics generator circuitry to determine first census audience measurement information and second census audience measurement information based on the multipliers, panel audience measurement data, and the census audience measurement data, the first census audience measurement information corresponding to the first demographic group, the second census audience measurement information corresponding to the second demographic group; and reporter circuitry to generate a report including the first census audience measurement information and the second census audience measurement information.
Example 10 includes the apparatus of example 9, wherein the census audience measurement data and the panel audience measurement data correspond to a plurality of media items.
Example 11 includes the apparatus of example 9, wherein the census data includes an audience size, an impression count, and duration data.
Example 12 includes the apparatus of example 9, further including metrics calculator circuitry to determine, based on the multipliers, the panel audience measurement data, and the census audience measurement data, a first deduplicated census audience size for the first demographic group and a second deduplicated census audience size for the second demographic group.
Example 13 includes the apparatus of example 9, wherein the census-level metrics generator circuitry is to determine third census audience measurement information, the third census audience measurement information based on a total of the first census audience measurement information and the second census audience measurement information.
Example 14 includes the apparatus of example 9, wherein at least a first one of the constraint equations is based on a sum of census impression counts across demographics and at least a second one of the constraint equations is based on a sum of census duration data across the demographics.
Example 15 includes the apparatus of example 9, wherein the first census audience measurement information and the second census audience measurement information are not included in the census audience measurement data.
Example 16 includes the apparatus of example 9, wherein the multipliers are Lagrange multipliers.
Example 17 includes a non-transitory computer readable medium comprising instructions that when executed cause at least one processor to select a plurality of constraint equations based on census audience measurement data corresponding to a first demographic group and a second demographic group; determine bounds for multipliers for ones of the constraint equations based on the census audience measurement data; determine a value for ones of the multipliers based on the bounds, the value to satisfy the constraint equations; determine first census audience measurement information and second census audience measurement information based on the multipliers, panel audience measurement data, and the census audience measurement data, the first census audience measurement information corresponding to the first demographic group, the second census audience measurement information corresponding to the second demographic group; and generate a report including the first census audience measurement information and the second census audience measurement information.
Example 18 includes the non-transitory computer readable medium of example 17, wherein the census audience measurement data and the panel audience measurement data correspond to a plurality of media items.
Example 19 includes the non-transitory computer readable medium of example 17, wherein the census audience measurement data includes an audience size, an impression count, and duration data.
Example 20 includes the non-transitory computer readable medium of example 17, wherein the at least one processor is to determine, based on the multipliers, the panel audience measurement data, and the census audience measurement data, a first deduplicated census audience size for the first demographic group and a second deduplicated census audience size for the second demographic group.
Example 21 includes the non-transitory computer readable medium of example 17, wherein the at least one processor is to determine third census audience measurement information, the third census audience measurement information based on a total of the first census audience measurement information and the second census audience measurement information.
Example 22 includes the non-transitory computer readable medium of example 17, wherein at least a first one of the constraint equations is based on a sum of census impression counts across demographics and at least a second one of the constraint equations is based on a sum of census duration data across the demographics.
Example 23 includes the non-transitory computer readable medium of claim 17, wherein the first census audience measurement information and the second census audience measurement information are not included in the census audience measurement data.
Example 24 includes the non-transitory computer readable medium of claim 17, wherein the multipliers are Lagrange multipliers.
Example 25 includes an method including selecting a plurality of constraint equations based on census audience measurement data corresponding to a first demographic group and a second demographic group; determining bounds for multipliers for ones of the constraint equations based on the census audience measurement data; determining a value for ones of the multipliers based on the bounds, the value to satisfy the constraint equations; determining first census audience measurement information and second census audience measurement information based on the multipliers, panel audience measurement data, and the census audience measurement data, the first census audience measurement information corresponding to the first demographic group, the second census audience measurement information corresponding to the second demographic group; and generating a report including the first census audience measurement information and the second census audience measurement information.
Example 26 includes the method of example 25, wherein the census audience measurement data and the panel audience measurement data correspond to a plurality of media items.
Example 27 includes the method of example 25, wherein the census data includes an audience size, an impression count, and duration data.
Example 28 includes the method of example 25, further including determining, based on the multipliers, the panel audience measurement data, and the census audience measurement data, a first deduplicated census audience size for the first demographic group and a second deduplicated census audience size for the second demographic group.
Example 29 includes the method of example 25, further including determining third census audience measurement information, the third census audience measurement information based on a total of the first census audience measurement information and the second census audience measurement information.
Example 30 includes the method of example 25, wherein at least a first one of the constraint equations is based on a sum of census impression counts across demographics and at least a second one of the constraint equations is based on a sum of census duration data across the demographics.
Example 31 includes the method of example 25, wherein the first census audience measurement information and the second census audience measurement information are not included in the census audience measurement data.
Example 32 includes the method of example 25, wherein the multipliers are Lagrange multipliers.
Although certain example systems, 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 systems, methods, apparatus, and articles of manufacture fairly falling within the scope of the claims of this patent.
The following claims are hereby incorporated into this Detailed Description by this reference, with each claim standing on its own as a separate embodiment of the present disclosure.
This patent arises from a continuation of U.S. Patent Application No. 63/114,359, which was filed on Nov. 16, 2020. U.S. Patent Application No. 63/114,359 is hereby incorporated herein by reference in its entirety. Priority to U.S. Patent Application No. 63/114,359 is hereby claimed.
Number | Date | Country | |
---|---|---|---|
63114359 | Nov 2020 | US |