Advertisement engagement measurement

Systems, and methods for selecting advertisements based on party size and/or engagement are provided. An Internet-connected media display device may be detected as displaying media. An up-to-date party size in a monitored space may be determined based on frequency response data by a wireless access point located close to the space. An up-to-date engagement level may also be determined with respect to each individual in the space based on frequency response data by the wireless access point. An advertisement database may be filtered for a qualifying advertisement based on the identified party size and engagement levels.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present disclosure is generally related to targeted advertising, smart televisions, and passive motion detection systems.

2. Description of the Related Art

Targeted advertising is a form of advertising where online advertisers can use sophisticated methods to target the most receptive portions of an audience based on certain specified traits of interest, which may be identified as indicative of being receptive to the advertised product or service. Through the emergence of new online channels, the need for targeted advertising is increasing because companies aim to minimize wasted advertising by means of information technology. Most targeted new media advertising currently uses second-order proxies for targeting, such as tracking online or mobile web activities of consumers, associating historical web page consumer demographics with new consumer web page access, using a search word as the basis for implied interest, or contextual advertising.

It is desirable to have an integrated means of knowing how many individuals are watching media and advertising content, while also determining if, and to what level, each of those individuals is engaged with the content, without connecting to any devices associated with the viewers.

SUMMARY OF THE CLAIMED INVENTION

Systems, and methods for selecting advertisements based on party size and/or engagement are provided. An Internet-connected media display device may be detected as displaying media. An up-to-date party size in a monitored space may be determined based on frequency response data by a wireless access point located close to the space. An up-to-date engagement level may also be determined with respect to each individual in the space based on frequency response data by the wireless access point. An advertisement database may be filtered for a qualifying advertisement based on the identified party size and engagement levels.

DETAILED DESCRIPTION

Disclosed herein are systems, methods and computer-readable storage media for selecting advertisements on a media display based on party size and/or party engagement levels. In some aspects, an exemplary method can include: detecting that an Internet-connected media display device is displaying media; determining, from a party size calculator module, an up-to-date party size of individuals in a monitored space based on an examination of frequency response data, associated with the monitored space, by a wireless access point located in proximity to the monitored space; determining, from an engagement calculator module, an up-to-date engagement level with respect to each of the individuals in the monitored space based on the examination of the frequency response data by the wireless access point; filtering an advertisement database for a qualifying advertisement, for a suitable advertisement slot, that matches the up-to-date party size, an average of the up-to-date engagement levels between the individuals in the monitored space. In some examples, if there are two or more advertisements that qualify then the filtering takes into account a flag count of each of the two or more advertisements. The qualifying advertisement may have the highest flag count as determined by whether a first engagement level changes with respect to a second engagement level of a previous timestamp during playtime of an associated advertisement.

Methods may further include: updating the advertisement database with respect to flag counts, determining that a first party size is different than a second party size of a previous timestamp; decreasing an associated flag count for an associated advertisement when the first party size is less than the second party size; and increasing the associated flag count for the associated advertisement when the first party size is greater than the second party size. Further embodiments may further include: updating the advertisement database with respect to flag counts, as well as include determining a first engaged party size is different than a second engaged party size of the previous timestamp; decreasing an associated flag count for an associated advertisement when the first engaged party size is less than the second engaged party size; and increasing the associated flag count for the associated advertisement when the first engaged party size is greater than or equal to the second engaged party size.

Embodiments may further include: updating the advertisement database with respect to flag counts, determining a first average engagement level of the first party is different than a second average engagement level of the second party of the previous timestamp; decreasing an associated flag count for an associated advertisement when the first average engagement level is less than the second average engagement level; and increasing the associated flag count for the associated advertisement when the first average engagement level is greater than the second average engagement level.

In some examples, the first and second average engagement levels may be retrieved from an engagement database including engagement levels of each party member that was monitored at interval timestamps in the monitored space. The frequency response data may be associated with a radio map using Wi-Fi localization to translate Wi-Fi signal strengths into locations. The radio map may further include metadata including frequency data of a channel, phase response data of the channel, and impulse response data of the channel that describe a wireless communication link between paired devices used to compare with a signal scan. In some examples, one or more cloud databases may include the engagement calculator module, party size calculator module, and advertisement database.

In some aspects, an exemplary system can include one or more processors and a non-transitory computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps described herein.

The technologies herein can provide advertisement engagement measurements based upon a device-free indoor positioning technology that can locate and measure engagement of individuals in a monitored space based on passively observing changes in the environment. Such changes would be determined based on comparisons of locations of interests that have built an ensemble of fingerprints during a training phase. During a testing phase, fingerprints generated from new data would be compared with those from the training phase to determine a location of a individual. The differences between the fingerprints generated from the new data and those from the training phase would result in data indicating position and engagement of movement that would reflect where and how much an individual is engaged with respect to watching a media device, such as a smart TV, in the monitored space. The number of individuals and the level of engagement of the individuals in the monitored space are used to determine what advertisements should be played based on what certain requirements associated with the advertisements, such as a minimum average engagement score or party size.

The approaches herein can provide systems, methods, and computer-readable storage media for determining party size with respect to the number of individuals in the monitored space, the respective level of engagement of those individuals, and which advertisement to play given the party size and level of engagement, where the party size and level of engagement is determined by passive indoor positioning technology using channel state information (CSI). The disclosure begins with an initial discussion of systems and technologies for determining party size and level of engagement through the passive indoor positioning technology using CSI, as generally exemplified inFIG.1. InFIGS.2through4, example flows illustrate how to determine party size and level of engagement and selecting an advertisement based on the party size and level of engagement. InFIGS.5and6, example tables illustrate an engagement database and an advertisement database, respectively. The disclosure now turns to an overview regarding the wireless communication technology for location-based services for determining the party size and level of engagement in the present technology for selecting a suitable advertisement.

FIG.1illustrates an exemplary network environment in which a system for advertisement engagement measurement may be implemented. The exemplary network environment100may be used to provide device-free localization and activity monitoring in a defined environment or space and to use machine learning algorithms to learn and recognize various kinds of activities. The exemplary network environment100may include a Wi-Fi access point (AP)102, agent114, smart TV138, and cloud server120.

Wi-Fi AP102may be configured to record channel state information (CSI). In Wi-Fi communications, CSI refers to known channel properties of a radio frequency (RF) communication link that describes how a signal propagates from a transmitter to a receiver and represents a combined effect of various properties such as channel frequency response, channel phase response, and/or channel impulse response. Wi-Fi AP102may include central processing unit (CPU), graphics processing unit (GPU)106, digital signal processor (DSP)108, application program interface (API)110, and radio112.

CPU104may carry out instructions for the Wi-Fi AP102to perform. GPU106may be a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. Digital signal processor (DSP)108may be a specialized microprocessor, or a system-in-a-package (SiP) component, with its architecture optimized for the operational needs of digital signal processing. The DSP108may be configured to measure, filter, or compress continuous real-world analog signals. API110may be a set of routines, protocols, and tools for building software applications, programming any graphical user interface (GUI) components, and specifying how software components interact. The API110may provide metadata related to the CSI to an agent114.

The Wi-Fi AP102may further include a radio112that may be compliant with IEEE 802.11 standards such as 802.11b or 802.11g, using omnidirectional antenna, and may have a range of 100 m (0.062 mi). The radio112may have an external semi-parabolic antenna (15 dB gain) with a similarly equipped receiver at the far end might have a range over 20 miles. The Wi-Fi AP102may be equipped with a network interface card (NIC) that connects the Wi-Fi AP102to a computer network. The radio112may be a transceiver, a transmitter, or a receiver.

The agent114may collect CSI-related metadata from the Wi-Fi AP102, filter the CSI-related metadata, and send the filtered CSI-related metadata to one or more cloud databases120for activity identification. The activity identification can be accomplished on an edge, at an agent level, or in the cloud, or some combination of the three. The agent114may include a local profile database116that is utilized when at least a portion of the activity identification is done on the edge. This could be a simple motion versus no-motion determination profile database or a more extensive profile database used for identifying activities, objects, individuals, biometrics, etc.

The agent114may also include an activity identification module118that distinguishes between activities, such as between walking and in-place activities. In general, a walking activity may cause significant pattern changes to amplitude over time of the channel impulse response, since it involves significant body movements and location changes. In contrast, an in-place activity (such as watching TV on a sofa) may only involve relatively smaller body movements and may not cause significant pattern changes to amplitude over time of the channel impulse response. Advertisement in-place activity is reflected by certain repetitive patterns within the channel impulse response.

Cloud server120may include or otherwise have access to a profile database122, device database124, profile module126, advertisement selection module128, engagement calculator module130, party size calculator module132, engagement database134, and advertisement database135. Such databases and module122-136associated with cloud server120may be used to create, modify, analyze, and store profiles describing various activities by users in a monitored space.

Profile module126may monitor the received CSI-related metadata from a continuous monitoring of a monitored space, identify multiple similar patterns of a set of CSI-related metadata that do not have a matching profile in a profile database122, combine the set of CSI-related metadata with user feedback to label the resulting clusters, and define a new profile that may then be added to the profile database122. The profiles in the profile database122may be profiles characterizing simple motion versus no-motion determinations, as well as more extensive descriptive profiles that may be sued to detect and characterize different types of activities, objects, individuals, biometrics, etc. Device database124may store device ID of all connected wireless APs.

The cloud server120may further include an advertisement selection module128, which utilizes engagement scores provided by an engagement calculator module130to determine if one or more individuals in the monitored space are engaged with a smart TV138displaying media content or advertising content. Advertisement selection module128may determine which advertisement content to display in an advertisement slot. When there is a marked drop in engagement related to specific advertising content, similar advertising content may be marked with a negative flag count as an indication of lesser interest in the advertising content. Therefore, the advertisement selection module128can learn a pattern of interest to maximize engagement with advertising content and ensure advertisers receive maximum return on investment. An exemplary process of the advertisement selection module128is further described inFIG.2.

The engagement calculator module130measures an engagement level of the individuals in the monitored space as a function of how much motion is detected. Each individual's movement level may be quantified in various ways, for example, from 0 to 1, with 0 being asleep and 1 being an athletic activity. A viewer sitting awake and watching the TV may have a movement score of 0.1, which may translate to an engagement score of 10. The localization information related to the motion data can, in some examples, be used to help quantify the level of engagement motion.

For example, motion far from the smart TV138may indicate that an individual is not as engaged in comparison to if the individual were closer to the smart TV138. The individual abandoning the monitored space could be an indication of the individual is no longer engaged. Motion within the monitored space may have a lower movement score than movement that is towards the exit of the room. Additionally, motion could be viewed cumulatively, so that if the individual is moving from one seat in the living room to another while watching the smart TV138, that may be viewed as more engagement as opposed to the user moving back and forth more consistently, indicating they are engaged in another activity.

For example, when an individual's motion level is greater than 0.5, they are considered too active to be engaged in the advertising content or media content displayed on the smart TV138. The engagement calculator module130monitors for changes in engagement level, and when those changes coincide with advertising content, positive or negative flags are applied to that advertisement content or advertisement type in an advertising database136of the one or more cloud databases120, for the purposes of targeting viewers with advertisements that have the highest positive flag count. An exemplary process of the engagement calculator module130is illustrated described inFIG.3. An exemplary process of the party size calculator module is further illustrated inFIG.4.

For example, a room with two individuals but only one engaged individual, would be shown advertisements for a single audience and not those for a small collection of people, or groups of four or more. A second filter may be for a minimum average engagement level of viewers the advertiser paid for. A third filer, may be applied when there are still multiple advertisements that meet the first two filters, is the positive flag count. Each time engagement or party size decreases, the engagement calculator module130and party size calculator module132may apply a negative flag to the advertisement content or advertisement type.

The one or more cloud databases120may further include a party size calculator module132that quantifies the number of individuals in the room, applies positive and negative flags to an advertisement content or advertisement type in the advertising database136based on increases or decreases in the number of individuals in the room when the advertisement content is being displayed. The one or more cloud databases120may further include an engagement database134that stores, with every interval timestamp, an associated party size and engagement level in the room being monitored, as calculated by the party size calculator module132and the engagement calculator module130. The engagement database134is further described below along with an exemplary engagement database table shown inFIG.5.

With respect to the advertisement database136, it contains video files, links to video files, or file names associates with the video files of each advertisement to be delivered to the smart TV138, the relevant locations, such as kitchen, the rating, corresponding to the amount paid, and the user engagement level, also based on the amount paid. The smart TV138is delivered the chosen advertising content to be displayed based on instructions from the one or more cloud databases120. The advertisement database136is further described below along with an exemplary advertisement database table shown inFIG.6.

FIG.2is a flowchart illustrates an exemplary method of advertisement selection. Method200may result from execution of the advertisement selection module128and may begin with polling the smart TV138for media consumption at step201. The party size calculator module132may be prompted at step202. The engagement calculator module130may be prompted at step204. It may be determined if an advertisement slot has been reached in the media at step206. In step208, the advertising content available for display from the advertising database136may be filtered based on party size, average engagement level and positive flag count. The engaged party size, as determined by the engagement calculator module130and stored in the engagement database134, may be compared to the party size(s) listed in the advertising database136.

If the engagement level remains the same (indicating that the advertising content didn't cause an engaged viewer to disengage) or increases, or the part size increases, the engagement calculator module130and party size calculator module132each apply a positive flag, respectively, with respect to a respective advertising content. The total of the flags represents how positively or negatively the viewers have responded to the advertisement content or advertisement types. Once all filters have been made to the engagement database134, the highest rated remaining advertisement content is played at step208. The advertisement content may be displayed at step209. It may be determined if the media consumption on the smart TV138is concluded in step210, indicating the user is no longer watching. If the media consumption has concluded the program ends in step212, if not, the method may loop back to calculating the party size at step222.

FIG.3is a flowchart illustrates an exemplary method300of determining engagement levels. Method300may result from execution of the engagement calculator module130and may begin with receiving a prompt from the advertisement selection module128to calculate the engagement score for the monitored space at step301. The number of individuals in the monitored space may be retrieved from the engagement database134at step302. The amount of movement for each individual detected may be quantified in step304. The amount of movement being quantified into a movement level can be between 0 and 1, with zero being asleep and one being an individual engaged in an athletic activity. For example, a first individual may be seated on the couch. This may be considered the most engaged a viewer can be and corresponds to a movement level of 0.1. The assumption being made is that the more a viewer is moving around the less engaged they are with the media or advertisement content. In the same example, an individual two may be vacuuming the room. This may corresponds to a movement level of 0.6.

The engagement score for each individual in the room may be calculated in step306. The engagement score may be 1 over the movement level, which may result in a scale for the engagement level of each individual to range from 0 to 10, for example. With 0 representing a viewer that is asleep, 1 representing a user involved in an athletic activity and 10 representing a user who is seated and watching the smart TV138. It may be determining if any of the individuals observed are above a movement level threshold used to determine that a viewer is not engaged with the media or advertisement content in step308.

In an example, the party size calculator module132determined there were two individuals in the room with the smart TV138. Individual one may have an engagement score of 10 and individual two may have an engagement score of 4, and an engagement score threshold of 5 may be chosen as the line below which a viewer is considered too active to be engaged in the media or advertisement content. The total number on individuals who are below the movement level threshold may be written to the engaged party size field of the engagement database134at step310. It may be determining if the content being displayed on the smart TV138is advertisement content or media content at step312. If it is media content the module jumps to step326as steps314-324are for the rating of advertisement content based on the change.

It may be determine if the engaged party size is greater than, less than, or equal to the engaged party size at the previous timestamp at step314. If the engaged party size is equal to the previous timestamp, no action is taken, and the advertisement selection module128moves to step320. If the engaged party size is greater than the previous timestamp, the flag column corresponding to the advertising content being played is increased by one at step316. This provides feedback to advertisers about party sizes viewing their advertisements increasing during the viewing period. If the engaged party size in less than the previous timestamp, the flag column corresponding to the advertisement being played in decreased by 1 at step318. A viewer leaving the room may be interpreted as negative feedback on the advertisement being displayed.

The engagement level for each individual may be compared to the engagement level for the same individual at the previous timestamp at step320. For each individual whose engagement level is greater than or equal to their engagement level at the previous timestamp, increase the flag, count for the advertisement being displayed by 1. An increase in engagement is clearly positive feedback about the advertisement or advertisement type and would be used to inform targeted advertising choices. In some examples, we interpret an engaged viewer having no decrease in their engagement level when shown advertisement content, as opposed to media content they chose to watch, it is interpreted as positive feedback on the advertisement content or advertisement type at step322. For each individual whose engagement level is less than their engagement level at the previous timestamp, the flag count may be decreased for the advertisement content being displayed by 1 at step324. This balances positive and negative feedback on advertisement types and the combination of all of these flags gives an overall positive or negative ranking for an advertisement content or advertisement type. The engagement party size may then be sent to the advertisement selection module128at step326.

FIG.4is a flowchart illustrates an exemplary method400of determining party size. Method400may result from execution of the party size calculator module132in accordance with some implementations. The method400may begin with receiving a prompt from the advertisement selection module128to calculate the engagement score for the room in with the smart TV138being monitored has media being played at step401. The number of individuals in the space may be identified through an examination of the frequency response data provided by the wireless access point at step402. The number of individuals identified in the space may be written to the party size field of the engagement database134at step404. It may be determined if the party size is different than the previous timestamp at406. If the party size is the same, the party size calculator module132skips to step416. If the party size is different than the previous timestamp, it may be determined if the content on the smart TV138currently is advertisement content or media content at step408. If the content is media content, defined as content the viewer has chosen, the party size calculator module132skips to step416. If the content is advertisement content, it may be determined if the party size is greater than or less than the previous timestamp at step410. If the party size is greater than the previous timestamp, the flag count corresponding to the displayed advertisement or advertisement type in the advertisement database136may be increased at step412. If the party size is less than the previous timestamp, the flag count corresponding to the displayed advertisement or advertisement type in the advertisement database136may be decreased at step414. The method400may return to the advertisement selection module128at step416.

FIG.5illustrates an exemplary engagement database (e.g., engagement database134). The engagement database134may contain the party size and engagement level in the room being monitored, as calculated by the party size calculator module132and the engagement calculator module130. The party size calculator module132may determine the number of individuals in the room at the time stamp being examined and record that total as the party size. The engagement calculator module130may utilize the level of movement of each individual detected by the party size calculator module132in order to assign an engagement level to each individual. The engagement database134may further record if there was advertisement content being displayed at the timestamp being examined and what advertisement or type of advertisement was being displayed.

FIG.6illustrates an exemplary advertisement database (e.g., advertisement database136). The advertisement database136may contain data associated with advertisement content, video files of those advertisement content, and/or classification data related to targeted advertisements that can be delivered to the user through their smart TV138through this system. The advertisement rate charged to the advertisers is a function of both the engagement score and the engaged party size. Advertisers may pay a premium to ensure their advertisements are seen by engaged viewers, and a higher premium still if they want their advertisements seen by a certain size audience. Different advertisements may be better suited to different size groups of people as opposed to just paying more to be seen by more engaged viewers. In this embodiment party sizes are divided into three groups, small collections of people (2-4 people), single viewers or groups (4 or more). The first column of the database contains the advertisement content. The second the minimum average engagement score of viewers the advertisement is to be displayed for. The third the party size the advertisement is intended for. The final column is the total number of flags the advertisement (or advertisement type in other embodiments) assigned to the advertisement by either the party size module or the engagement calculator.

Devices implementing methods according to these disclosures can include hardware, firmware and/or software, and can take any of a variety of form factors. Typical examples of such form factors include laptops, smart phones, small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example. The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are means for providing the functions described in these disclosures.