CA2651165A1 - Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising - Google Patents
Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising Download PDFInfo
- Publication number
- CA2651165A1 CA2651165A1 CA002651165A CA2651165A CA2651165A1 CA 2651165 A1 CA2651165 A1 CA 2651165A1 CA 002651165 A CA002651165 A CA 002651165A CA 2651165 A CA2651165 A CA 2651165A CA 2651165 A1 CA2651165 A1 CA 2651165A1
- Authority
- CA
- Canada
- Prior art keywords
- set forth
- filter
- signal
- user
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 78
- 239000002245 particle Substances 0.000 claims abstract description 61
- 238000005259 measurement Methods 0.000 claims abstract description 16
- 230000007704 transition Effects 0.000 claims abstract description 16
- 239000000203 mixture Substances 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 16
- 238000009826 distribution Methods 0.000 claims description 16
- 230000008685 targeting Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 239000002131 composite material Substances 0.000 claims 2
- 238000013178 mathematical model Methods 0.000 claims 1
- 238000001914 filtration Methods 0.000 description 13
- 238000012952 Resampling Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000034994 death Effects 0.000 description 3
- 231100000517 death Toxicity 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 101100001678 Emericella variicolor andM gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000004836 empirical method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000005309 stochastic process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44222—Analytics of user selections, e.g. selection of programs or purchase activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44218—Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/61—Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
- H04H60/63—Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 for services of sales
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/61—Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
- H04H60/64—Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 for providing detail information
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Social Psychology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Complex Calculations (AREA)
Abstract
Input measurements from a measurement device are processed as a Markov chain whose transitions depend upon the signal. The desired information related to the device can then be obtained by estimating the state of the signal at a time of interest. A nonlinear filter system can be used to provide an estimate of the signal based on the observation model. The nonlinear filter system may involve a nonlinear filter model and an approximation filter for approximating an optimal nonlinear filter solution. The approximation filter may be a particle filter or a discrete state filter for enabling substantially real-time estimates of the signal based on the observation model. In one application, a click stream (208) entered with respect to a digital set top box (200) of a cable television network is analyzed to determine information regarding users (205) of the digital set top box (206) so that ads (204) can be targeted to the users (205).
Description
METHOD AND APPARATUS TO PERFORM REAL-TIME
AUDIENCE ESTIMATION AND COMMERCIAL SELECTION
SUITABLE FOR TARGETED ADVERTISING
CROSS-REFERENCE TO RELATED APPLICATION
This application claims priority under 35 U.S.C. 119 to U.S. Provisional Application No.
60/746,244, entitled: "METHOD AND APPARATUS TO PERFORM REAL-TIME
ESTIMATION AND COMMERCIAL SELECTION SUITABLE FOR TARGETED
ADVERTISING," filed on May 2, 2006. This application also claims priority from U.S.
Patent Application No. 11/331,835, entitled: "TARGETED IMPRESSION MODEL FOR
BROADCAST NETWORK ASSET DELIVERY," filed January 12, 2006. The contents of both of these applications are incorporated herein as if set forth in full.
FIELD OF INVENTION
The present invention relates to innovations in nonlinear filtering wherein the observation process is modeled as a Markov chain, as well as utilizing an embodiment of the invention to estimate the user composition of a user equipment device in a communications network, e.g., the number and demographics of television viewers in a digital set top box (DSTB) environment. Furthermore, the present invention provides methods to optimally determine which set of assets, e.g., commercials, to insert into available network bandwidth based on a sampling of optimal conditional estimates of the current network usage (e.g., viewership).
BACKGROUND OF THE INVENTION
By and large, delivery of commercials to television audiences has changed relatively little over the past fifty years. Marketing firms and advertisers attempt to determine what their target audience watches using historical NielsonTM rating information.
This data provides an estimate of the number of households who watched a particular episode of a television show at a particular time, as well as a demographic breakdown (usually based on age, gender, income and ethnicity). Such data (an other rating data) is currently gathered using `people meter' data, which automatically monitors what shows are being watched once a user indicates they are watching television. These samples are relatively small - currently, only approximately 8,000 households are used to estimate the entire viewership across the United States. As the number of available television channels has increased, along with the shift in audience viewership from broadcast to cable television and coupled with the increasing number of television sets within a single household, it is increasingly difficult to accurately estimate the actual audiences of television shows based on such a small sample.
As a result, smaller share cable channels are unable to properly estimate their viewership and consequently advertisers are unable to properly capture lucrative target demographics.
As DSTB penetration continues due to the growing demand for digital cable offerings, more precise information for individual households can theoretically be obtained.
That is, set top boxes have access to information about what channel is being watched, how long the channel has been watched, and so on. This wealth of information, if properly processed, could provide insight into the behavior of a household. However, none of this information can directly provide the type of information that advertisers wish - what types of people are watching at a particular time. Advertisers wish to have their ads displayed to their target audiences with maximum precision, in order to reduce the cost of marketing and increase its effectiveness. Moreover, they wish to avoid the negative publicity cost associated with playing a commercial to inappropriate audiences. The key to providing advertisers with the power to maximize their investment is to change the way viewership is counted, which "potentially [changes] the comparative value of entire genres as well as entire demographic segments" (Gertner, J; Our Ratings, Ourselves; New York Times;
April 10, 2005).
Various systems have been proposed or implemented for identifying current viewers or their demographics. Some of these systems have been intrusive, requiring users to explicitly enter identification or demographic information. Other systems have attempted to develop behavioral profiles of viewers based on information from a variety of sources.
However, these systems have generally suffered from one or more of the following drawbacks: 1) they focus on who is in the household rather than who is watching now; 2) they may only provide coarse information about a subset of the household; 3) they require user participation, which is undesirable for certain users and may entail error; 4) they do not provide a framework for determining when there are multiple viewers or for accurately defining demographics in multiple viewer scenarios; 5) they are fairly static in their assumptions and do not properly handle changing household compositions and demographics; and/or 6) they employ sub-optimal technologies, require extensive training, require excessive resources or otherwise have limited practical application.
SUMMARY OF THE INVENTION
The present invention relates to analyzing observations obtained from a measurement device to obtain information about a signal of interest. In one application, the invention relates to analyzing user inputs with respect to a user equipment device of a communications network (e.g., a user input click stream entered with respect to a digital set top box (DSTB) of a cable television network) to determine information regarding the users of the user equipment device (e.g., audience classification parameters of the user or users). Certain aspects of the invention relate to processing corrupted, distorted and/or partial data observations received from the measurement device to infer information about the signal and providing a filter system for yielding a substantially real time estimate of a state of the signal at a time of interest. In particular, such a filter system can provide practical approximations of optimized non-linear filter solutions based on certain constraints on allowable states or combinations therefore inferred from the observation environment.
In accordance with one aspect of the present invention, a method and apparatus ("system") is provided for developing an observation model with respect to data or measurements obtained from the device under analysis. In particular, the system models the input measurements as a Markov chain, whose transitions depend upon the signal. The observation model may take into account exogenous information or information external to (though not necessarily independent of) the input measurements. In one implementation, the input measurements reflect a click stream of DSTB. The click stream may reflect channel selection events and/or other inputs, e.g., related to volume control. In this case, the observation model may further involve programming information (e.g., downloaded from a network platform such as a Head End) associated with selected channels. Thus, click stream information is processed as a Markov chain.
Desired information related to the device can then be obtained by estimating the state of the signal at a time of interest. In the example of analyzing a click stream of a DSTB, the signal may represent a user composition (involving one or more users and/or associated demographics) and an additional factor affecting the click stream such as a channel changing regime as discussed in more detail below. Once the signal has been estimated, a state of the signal at a past, present or future time can be determined, e.g., to provide user composition information for use in connection with an asset targeting system.
In accordance with a still further aspect of the present invention, a system generates substantially real time estimates of a signal state based on an observation model. In this regard, a non-linear filter system can be used to provide an estimate of the signal based on the observation model. The non-linear filter system may involve a non-linear filter model and an approximation filter for approximating an optimal non-linear filter solution. For example, the approximation filter may include a particle filter or a discrete state filter for enabling substantially real time estimates of the signal based on the observation model. In the DSTB example, the non-linear filter system allows for identifying user compositions including more than one viewer and adapting to changes in the potential audience, e.g., additions of previously unknown persons or departures of prior users with respect to the potential audience.
In accordance with a further aspect of the present invention, a system uses a signal obtained by applying a filter to an observation model to obtain information of interest with respect to the observation model. Specifically, information for a past, present or future time can be obtained based on an estimated state of the signal at the time of interest. In the case of analyzing usage of a DSTB, the identity and/or demographics of a user or users of the DSTB
at a particular time can be determined from the signal state. This information may be used, for example, to "vote" or identify appropriate assets for an upcoming commercial or programming spot, to select an asset from among asset options for delivery at the DSTB
and/or to determine or report a goodness of fit of a delivered asset with respect to the user or users who received the asset.
The above noted aspects of the invention can be provided in any suitable combination. Moreover, any or all of the above noted aspects can be implemented in connection with a targeted asset delivery system.
In one embodiment of the present invention, a system is provided for use in targeting assets to users of user equipment devices in a communications network, for example, a cable television network. The system involves: developing an observation model based on inputs by one or more users with respect to a user equipment device; modeling the observation model as a signal reflective of at least a user composition of one or more users of said user equipment device with respect to time; determining the user composition at a time of interest as a state of the signal; and using the determined user composition in targeting an asset with respect to the user equipment device. In this manner, filtering theory is applied with respect to inputs, such as a click stream, of a user equipment device so as to yield a signal indicative of user composition.
The inputs can be modeled as a Markov chain. Moreover, a model of the signal allows for representation of the user composition as including two or more users.
Accordingly, multiple user situations can be identified for use in targeting assets and/or better evaluating audience size and composition (e.g., to improve valuation and billing for asset delivery). In addition, the signal model preferably allows for representation of a change in user composition, e.g., addition or removal of a person from a user audience.
A non-linear filter may be defined to obtain the signal based on the observation model. In this regard, the signal may represent the user composition of a household with respect to time and audience classification parameters (e.g., demographics of one or more current users) can be determined as a function of the state of the signal at a time of interest.
In order to provide a practical estimation of an optimal non-linear filter solution, an approximation filter may be provided for approximating operation of the non-linear filter.
For example, the approximation filter may include a particle filter or a discrete space filter.
Moreover, the approximation filter may implement at least one constraint with respect to one or more signal components. In this regard, the constraint may operate to treat one component of the signal as invariant with respect to a time period where a second component is allowed to vary. Moreover, the constraint may operate to treat at least one state of a first component as illegitimate or to treat some combination of states of different signal components as illegitimate. For example, in the case of a click stream of a DSTB, the occurrence of a click event indicates the presence of at least one person. Accordingly, only user compositions corresponding to the presence of at least one person is permissible at the time of a click event. Other permissible or impermissible combinations may relate incomes to locations.
The constraints may be implemented in connection with a finite space approximation filter.
For example, values incident on an illegitimate cell may be repositioned, e.g., proportionately moved to neighboring legitimate cells. In this manner, the approximation filter can quickly converge on a legitimate solution without requiring undue processing resources. Where the constraint operates to define at least one potential calculated state as illegitimate, the approximation filter may redistribute one or more counts associated therewith.
Additionally, the approximation filter may be operative to inhibit convergence on an illegitimate state. Thus, the approximation filter is designed to avoid convergence on a user composition for a DSTB that is logically impossible or unlikely (a click event when no user is present) or deemed illegitimate by rule (an income range not permitted for a given location). In one implementation, this is accomplished by adding seed counts to legitimate cells of a discrete space filter to inhibit convergence with respect to an illegitimate cell.
Preferably, the user composition information is determined at the digital set top box.
That is, user information is calculated at the digital set top box and used for voting, asset selection and/or reporting. Alternatively, click stream data may be directed to a separate platform, such as a Head End, where the user composition information can be determined, e.g., where messaging bandwidth is sufficient and DSTB processing resources are limited.
As a further altemative, the user composition information (as opposed to, e.g., asset vote information) may be transmitted to a Head End or other platform for use in selecting content for insertion.
The determined user composition information may be used by an asset targeting system. For example, the information may be provided to a network platform such as a Head End that is operative to insert assets into a content stream of the network.
In this regard, the platform may utilize inputs from multiple DSTBs to select assets for insertion into available network bandwidth. Additional information, such as information reflecting the per user value of asset delivery, may be utilized in this regard. The platform may process information from multiple user equipment devices as an observation model and apply an appropriately configured filter with respect to the observation model to estimate an overall composition of a network audience at a time of interest.
In accordance with another aspect of the present invention, stochastic control theory is applied to the problem of targeted asset delivery, e.g., dynamic viewer classification and/or television ad selection. Traditionally, stochastic control theory has been applied in contexts where a signal or function cannot be computed directly but only estimated based on observations that may be noisy or incomplete. In the present context, measurements from a measurement device can be processed according to stochastic control theory to estimate a signal from which state information can be determined. For example, measurements from an input device such as a click stream from a remote control are taken as noisy observations and processed using stochastic control to estimate a signal, which represents a household or viewing audience and a behavioral regime in relation to entry of the inputs.
Stochastic control allows tracking of the signal such that the state of the signal at a particular time reflects the viewer composition and regime at that time. This information can be used to select targeted ads for delivery, e.g., by matching classification parameters of the viewing audience to targeting parameters of available ads.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and further advantages thereof, reference is now made to the following detailed description, taken in conjunction with the drawings in which:
Fig. 1 is a schematic diagram of a targeted advertising system in accordance with the present invention;
Fig. 2 illustrates the REST structure in accordance with the present invention;
Fig. 3 illustrates a cell structure for a cell of filter in accordance with the present invention;
Fig. 4 is a flowchart illustrating a filter evolution process in accordance with the present invention; and Fig. 5 is a block diagram illustrating a process for simulating events in accordance with the present invention.
DETAILED DESCRIPTION
In the following description, the invention is set forth in the context of a targeted asset delivery (e.g., targeted advertising) system for a cable television network, and the invention provides particular advantages in this context as described herein. However, it will be appreciated that various aspects of this invention are not limited to this context. Rather, the scope of the invention is defined by the claims set forth below.
AUDIENCE ESTIMATION AND COMMERCIAL SELECTION
SUITABLE FOR TARGETED ADVERTISING
CROSS-REFERENCE TO RELATED APPLICATION
This application claims priority under 35 U.S.C. 119 to U.S. Provisional Application No.
60/746,244, entitled: "METHOD AND APPARATUS TO PERFORM REAL-TIME
ESTIMATION AND COMMERCIAL SELECTION SUITABLE FOR TARGETED
ADVERTISING," filed on May 2, 2006. This application also claims priority from U.S.
Patent Application No. 11/331,835, entitled: "TARGETED IMPRESSION MODEL FOR
BROADCAST NETWORK ASSET DELIVERY," filed January 12, 2006. The contents of both of these applications are incorporated herein as if set forth in full.
FIELD OF INVENTION
The present invention relates to innovations in nonlinear filtering wherein the observation process is modeled as a Markov chain, as well as utilizing an embodiment of the invention to estimate the user composition of a user equipment device in a communications network, e.g., the number and demographics of television viewers in a digital set top box (DSTB) environment. Furthermore, the present invention provides methods to optimally determine which set of assets, e.g., commercials, to insert into available network bandwidth based on a sampling of optimal conditional estimates of the current network usage (e.g., viewership).
BACKGROUND OF THE INVENTION
By and large, delivery of commercials to television audiences has changed relatively little over the past fifty years. Marketing firms and advertisers attempt to determine what their target audience watches using historical NielsonTM rating information.
This data provides an estimate of the number of households who watched a particular episode of a television show at a particular time, as well as a demographic breakdown (usually based on age, gender, income and ethnicity). Such data (an other rating data) is currently gathered using `people meter' data, which automatically monitors what shows are being watched once a user indicates they are watching television. These samples are relatively small - currently, only approximately 8,000 households are used to estimate the entire viewership across the United States. As the number of available television channels has increased, along with the shift in audience viewership from broadcast to cable television and coupled with the increasing number of television sets within a single household, it is increasingly difficult to accurately estimate the actual audiences of television shows based on such a small sample.
As a result, smaller share cable channels are unable to properly estimate their viewership and consequently advertisers are unable to properly capture lucrative target demographics.
As DSTB penetration continues due to the growing demand for digital cable offerings, more precise information for individual households can theoretically be obtained.
That is, set top boxes have access to information about what channel is being watched, how long the channel has been watched, and so on. This wealth of information, if properly processed, could provide insight into the behavior of a household. However, none of this information can directly provide the type of information that advertisers wish - what types of people are watching at a particular time. Advertisers wish to have their ads displayed to their target audiences with maximum precision, in order to reduce the cost of marketing and increase its effectiveness. Moreover, they wish to avoid the negative publicity cost associated with playing a commercial to inappropriate audiences. The key to providing advertisers with the power to maximize their investment is to change the way viewership is counted, which "potentially [changes] the comparative value of entire genres as well as entire demographic segments" (Gertner, J; Our Ratings, Ourselves; New York Times;
April 10, 2005).
Various systems have been proposed or implemented for identifying current viewers or their demographics. Some of these systems have been intrusive, requiring users to explicitly enter identification or demographic information. Other systems have attempted to develop behavioral profiles of viewers based on information from a variety of sources.
However, these systems have generally suffered from one or more of the following drawbacks: 1) they focus on who is in the household rather than who is watching now; 2) they may only provide coarse information about a subset of the household; 3) they require user participation, which is undesirable for certain users and may entail error; 4) they do not provide a framework for determining when there are multiple viewers or for accurately defining demographics in multiple viewer scenarios; 5) they are fairly static in their assumptions and do not properly handle changing household compositions and demographics; and/or 6) they employ sub-optimal technologies, require extensive training, require excessive resources or otherwise have limited practical application.
SUMMARY OF THE INVENTION
The present invention relates to analyzing observations obtained from a measurement device to obtain information about a signal of interest. In one application, the invention relates to analyzing user inputs with respect to a user equipment device of a communications network (e.g., a user input click stream entered with respect to a digital set top box (DSTB) of a cable television network) to determine information regarding the users of the user equipment device (e.g., audience classification parameters of the user or users). Certain aspects of the invention relate to processing corrupted, distorted and/or partial data observations received from the measurement device to infer information about the signal and providing a filter system for yielding a substantially real time estimate of a state of the signal at a time of interest. In particular, such a filter system can provide practical approximations of optimized non-linear filter solutions based on certain constraints on allowable states or combinations therefore inferred from the observation environment.
In accordance with one aspect of the present invention, a method and apparatus ("system") is provided for developing an observation model with respect to data or measurements obtained from the device under analysis. In particular, the system models the input measurements as a Markov chain, whose transitions depend upon the signal. The observation model may take into account exogenous information or information external to (though not necessarily independent of) the input measurements. In one implementation, the input measurements reflect a click stream of DSTB. The click stream may reflect channel selection events and/or other inputs, e.g., related to volume control. In this case, the observation model may further involve programming information (e.g., downloaded from a network platform such as a Head End) associated with selected channels. Thus, click stream information is processed as a Markov chain.
Desired information related to the device can then be obtained by estimating the state of the signal at a time of interest. In the example of analyzing a click stream of a DSTB, the signal may represent a user composition (involving one or more users and/or associated demographics) and an additional factor affecting the click stream such as a channel changing regime as discussed in more detail below. Once the signal has been estimated, a state of the signal at a past, present or future time can be determined, e.g., to provide user composition information for use in connection with an asset targeting system.
In accordance with a still further aspect of the present invention, a system generates substantially real time estimates of a signal state based on an observation model. In this regard, a non-linear filter system can be used to provide an estimate of the signal based on the observation model. The non-linear filter system may involve a non-linear filter model and an approximation filter for approximating an optimal non-linear filter solution. For example, the approximation filter may include a particle filter or a discrete state filter for enabling substantially real time estimates of the signal based on the observation model. In the DSTB example, the non-linear filter system allows for identifying user compositions including more than one viewer and adapting to changes in the potential audience, e.g., additions of previously unknown persons or departures of prior users with respect to the potential audience.
In accordance with a further aspect of the present invention, a system uses a signal obtained by applying a filter to an observation model to obtain information of interest with respect to the observation model. Specifically, information for a past, present or future time can be obtained based on an estimated state of the signal at the time of interest. In the case of analyzing usage of a DSTB, the identity and/or demographics of a user or users of the DSTB
at a particular time can be determined from the signal state. This information may be used, for example, to "vote" or identify appropriate assets for an upcoming commercial or programming spot, to select an asset from among asset options for delivery at the DSTB
and/or to determine or report a goodness of fit of a delivered asset with respect to the user or users who received the asset.
The above noted aspects of the invention can be provided in any suitable combination. Moreover, any or all of the above noted aspects can be implemented in connection with a targeted asset delivery system.
In one embodiment of the present invention, a system is provided for use in targeting assets to users of user equipment devices in a communications network, for example, a cable television network. The system involves: developing an observation model based on inputs by one or more users with respect to a user equipment device; modeling the observation model as a signal reflective of at least a user composition of one or more users of said user equipment device with respect to time; determining the user composition at a time of interest as a state of the signal; and using the determined user composition in targeting an asset with respect to the user equipment device. In this manner, filtering theory is applied with respect to inputs, such as a click stream, of a user equipment device so as to yield a signal indicative of user composition.
The inputs can be modeled as a Markov chain. Moreover, a model of the signal allows for representation of the user composition as including two or more users.
Accordingly, multiple user situations can be identified for use in targeting assets and/or better evaluating audience size and composition (e.g., to improve valuation and billing for asset delivery). In addition, the signal model preferably allows for representation of a change in user composition, e.g., addition or removal of a person from a user audience.
A non-linear filter may be defined to obtain the signal based on the observation model. In this regard, the signal may represent the user composition of a household with respect to time and audience classification parameters (e.g., demographics of one or more current users) can be determined as a function of the state of the signal at a time of interest.
In order to provide a practical estimation of an optimal non-linear filter solution, an approximation filter may be provided for approximating operation of the non-linear filter.
For example, the approximation filter may include a particle filter or a discrete space filter.
Moreover, the approximation filter may implement at least one constraint with respect to one or more signal components. In this regard, the constraint may operate to treat one component of the signal as invariant with respect to a time period where a second component is allowed to vary. Moreover, the constraint may operate to treat at least one state of a first component as illegitimate or to treat some combination of states of different signal components as illegitimate. For example, in the case of a click stream of a DSTB, the occurrence of a click event indicates the presence of at least one person. Accordingly, only user compositions corresponding to the presence of at least one person is permissible at the time of a click event. Other permissible or impermissible combinations may relate incomes to locations.
The constraints may be implemented in connection with a finite space approximation filter.
For example, values incident on an illegitimate cell may be repositioned, e.g., proportionately moved to neighboring legitimate cells. In this manner, the approximation filter can quickly converge on a legitimate solution without requiring undue processing resources. Where the constraint operates to define at least one potential calculated state as illegitimate, the approximation filter may redistribute one or more counts associated therewith.
Additionally, the approximation filter may be operative to inhibit convergence on an illegitimate state. Thus, the approximation filter is designed to avoid convergence on a user composition for a DSTB that is logically impossible or unlikely (a click event when no user is present) or deemed illegitimate by rule (an income range not permitted for a given location). In one implementation, this is accomplished by adding seed counts to legitimate cells of a discrete space filter to inhibit convergence with respect to an illegitimate cell.
Preferably, the user composition information is determined at the digital set top box.
That is, user information is calculated at the digital set top box and used for voting, asset selection and/or reporting. Alternatively, click stream data may be directed to a separate platform, such as a Head End, where the user composition information can be determined, e.g., where messaging bandwidth is sufficient and DSTB processing resources are limited.
As a further altemative, the user composition information (as opposed to, e.g., asset vote information) may be transmitted to a Head End or other platform for use in selecting content for insertion.
The determined user composition information may be used by an asset targeting system. For example, the information may be provided to a network platform such as a Head End that is operative to insert assets into a content stream of the network.
In this regard, the platform may utilize inputs from multiple DSTBs to select assets for insertion into available network bandwidth. Additional information, such as information reflecting the per user value of asset delivery, may be utilized in this regard. The platform may process information from multiple user equipment devices as an observation model and apply an appropriately configured filter with respect to the observation model to estimate an overall composition of a network audience at a time of interest.
In accordance with another aspect of the present invention, stochastic control theory is applied to the problem of targeted asset delivery, e.g., dynamic viewer classification and/or television ad selection. Traditionally, stochastic control theory has been applied in contexts where a signal or function cannot be computed directly but only estimated based on observations that may be noisy or incomplete. In the present context, measurements from a measurement device can be processed according to stochastic control theory to estimate a signal from which state information can be determined. For example, measurements from an input device such as a click stream from a remote control are taken as noisy observations and processed using stochastic control to estimate a signal, which represents a household or viewing audience and a behavioral regime in relation to entry of the inputs.
Stochastic control allows tracking of the signal such that the state of the signal at a particular time reflects the viewer composition and regime at that time. This information can be used to select targeted ads for delivery, e.g., by matching classification parameters of the viewing audience to targeting parameters of available ads.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and further advantages thereof, reference is now made to the following detailed description, taken in conjunction with the drawings in which:
Fig. 1 is a schematic diagram of a targeted advertising system in accordance with the present invention;
Fig. 2 illustrates the REST structure in accordance with the present invention;
Fig. 3 illustrates a cell structure for a cell of filter in accordance with the present invention;
Fig. 4 is a flowchart illustrating a filter evolution process in accordance with the present invention; and Fig. 5 is a block diagram illustrating a process for simulating events in accordance with the present invention.
DETAILED DESCRIPTION
In the following description, the invention is set forth in the context of a targeted asset delivery (e.g., targeted advertising) system for a cable television network, and the invention provides particular advantages in this context as described herein. However, it will be appreciated that various aspects of this invention are not limited to this context. Rather, the scope of the invention is defined by the claims set forth below.
Various targeted advertising systems for cable television networks have been proposed or implemented. These systems are generally predicated on understanding the current audience composition so that commercials can be matched to the audience so as to maximize the value of the commercials. It will be appreciated that a variety of such systems could benefit from the structure and functionality of the present invention for identifying classification parameters (e.g., demographics) of current viewers.
Accordingly, although a particular targeted asset delivery system is referenced below for purposes of illustration, it will be appreciated that the invention is more broadly applicable.
One targeted asset delivery system, in connection with which the present invention may be employed, is described in the above-noted U.S. Patent Application No.
11/331,835, filed January 12, 2006. In the interest of brevity, the full detail of that system is not repeated herein. Generally, in that system, multiple asset options are provided for a given time spot on a given programming channel. Although various types of assets can be targeted in this regard as set forth in that description, targeted advertising (e.g., targeting of commercials) is an illustrative application and is used as a convenient shorthand reference herein. Thus, a given programming channel may be supported by multiple asset (e.g., ad) channels that provide ad options for one or more ad spots of a commercial break. A DSTB
operates to invisibly (from the perspective of the viewer) switch to appropriate ad channels during a commercial break to provide targeted advertising to the current viewer(s).
The viewer identification structure and functionality of the present invention can be used in the noted targeted asset delivery system in a variety of ways. In the noted system, an ad list including targeting parameters is sent to DSTBs in advance of a commercial break.
The DSTB determines classification parameters for a current viewer or viewers, matches those classification parameters to the targeting parameters for each ad on the list and transmits a "vote" for one or more ads to the Head End. The Head End aggregates votes from multiple DSTB and assembles an optimized flotilla of ads into the available bandwidth (which may include the programming channel and multiple ad channels). At the time of the commercial break, the DSTB selects a "path" through the flotilla to deliver appropriate ads.
The DSTB can then report what ads were delivered together with goodness of fit information indicating how well the actual audience matched the targeting parameters.
The present invention can be directly implemented in the noted targeted asset delivery system. That is, using the technology described herein, the audience classification parameters for the current viewer(s) can be determined at the DSTB. This information can be used for voting, ad selection and/or goodness of fit determinations as described in the noted pending application. Alternatively, the description below describes a filter theory based Head End ad selection system that is an alternative to noted voting processes. As a still further alternative, click stream information can be provided to the Head End, or another network platform, where the audience classification parameters may be calculated. Thus, the audience classification parameter, ad selection and other functionality can be varied and may be distributed in various ways between the DSTBs, Head End or other platforms.
The following section is broken into several parts. In the first part, some background discussion of the relevant non-linear filter theory is provided. In the second part, the architecture and model classes are discussed.
1.1 Nonlinear Filtering To properly solve the targeted advertisement viewership (potential and current) problem, one may look to the mathematically optimal field of filtering.
1.1.1 Traditional Nonlinear Filtering Overview Nonlinear filtering deals with the optimal estimation of the past, present and/or future state of some nonlinear random dynamic process (typically called `the signal') in real-time based on corrupted, distorted or partial data observations of the signal. In general, the X, is regarded as Markov process defined on some probability space (fl4 U, P) and is the solution to some Martingale problem. The observations typically occur at discrete times tand are dependent upon the signal in some stochastic manner using a sensor function ~~
-Nx:.~-'t:.
Indeed, the traditional theory and methods are built around this type of observations, where the measurements are distorted (by nonlinear function h), corrupted (by noise V), partial (by the possible dependence of h on only part of the signal's state) samples of the signal. The optimal filter provides the conditional distribution of the state of the signal given the observations available up until the current time:
Accordingly, although a particular targeted asset delivery system is referenced below for purposes of illustration, it will be appreciated that the invention is more broadly applicable.
One targeted asset delivery system, in connection with which the present invention may be employed, is described in the above-noted U.S. Patent Application No.
11/331,835, filed January 12, 2006. In the interest of brevity, the full detail of that system is not repeated herein. Generally, in that system, multiple asset options are provided for a given time spot on a given programming channel. Although various types of assets can be targeted in this regard as set forth in that description, targeted advertising (e.g., targeting of commercials) is an illustrative application and is used as a convenient shorthand reference herein. Thus, a given programming channel may be supported by multiple asset (e.g., ad) channels that provide ad options for one or more ad spots of a commercial break. A DSTB
operates to invisibly (from the perspective of the viewer) switch to appropriate ad channels during a commercial break to provide targeted advertising to the current viewer(s).
The viewer identification structure and functionality of the present invention can be used in the noted targeted asset delivery system in a variety of ways. In the noted system, an ad list including targeting parameters is sent to DSTBs in advance of a commercial break.
The DSTB determines classification parameters for a current viewer or viewers, matches those classification parameters to the targeting parameters for each ad on the list and transmits a "vote" for one or more ads to the Head End. The Head End aggregates votes from multiple DSTB and assembles an optimized flotilla of ads into the available bandwidth (which may include the programming channel and multiple ad channels). At the time of the commercial break, the DSTB selects a "path" through the flotilla to deliver appropriate ads.
The DSTB can then report what ads were delivered together with goodness of fit information indicating how well the actual audience matched the targeting parameters.
The present invention can be directly implemented in the noted targeted asset delivery system. That is, using the technology described herein, the audience classification parameters for the current viewer(s) can be determined at the DSTB. This information can be used for voting, ad selection and/or goodness of fit determinations as described in the noted pending application. Alternatively, the description below describes a filter theory based Head End ad selection system that is an alternative to noted voting processes. As a still further alternative, click stream information can be provided to the Head End, or another network platform, where the audience classification parameters may be calculated. Thus, the audience classification parameter, ad selection and other functionality can be varied and may be distributed in various ways between the DSTBs, Head End or other platforms.
The following section is broken into several parts. In the first part, some background discussion of the relevant non-linear filter theory is provided. In the second part, the architecture and model classes are discussed.
1.1 Nonlinear Filtering To properly solve the targeted advertisement viewership (potential and current) problem, one may look to the mathematically optimal field of filtering.
1.1.1 Traditional Nonlinear Filtering Overview Nonlinear filtering deals with the optimal estimation of the past, present and/or future state of some nonlinear random dynamic process (typically called `the signal') in real-time based on corrupted, distorted or partial data observations of the signal. In general, the X, is regarded as Markov process defined on some probability space (fl4 U, P) and is the solution to some Martingale problem. The observations typically occur at discrete times tand are dependent upon the signal in some stochastic manner using a sensor function ~~
-Nx:.~-'t:.
Indeed, the traditional theory and methods are built around this type of observations, where the measurements are distorted (by nonlinear function h), corrupted (by noise V), partial (by the possible dependence of h on only part of the signal's state) samples of the signal. The optimal filter provides the conditional distribution of the state of the signal given the observations available up until the current time:
P(,~~ ~ dz- t5 (Yh, 0 ~5 tk !-- tl) The filter can provide optimal estimates for not only the current states of the signal but for previous and future states, as well as the entire path of the signal:
~(X-~~r dz rr ( 2,:4 , C, < tk :5 tl) where 0 ~5 4, 5 In certain linear circumstances, an effective optimal recursive formula is available.
Suppose the signal follows an Ito stochastic differential equation ~+ ">'~ '~' , with A being the linear and B being constant. Furthermore, the observation function takes the form of Yk - 11Mk) +t4 "hem (t'k=a are independent Gaussian random variables.
This formula is known as the Kalman filter. While the Kalman filter is very efficient in performing its estimates, its use in applications is inherently limited due to the strict description of the signal an observation processes. In the case where the dynamics of the signal are nonlinear, or the observations have non-additive and/or correlated noise, the Kalman filter provides sub-optimal estimates. As a result, other methods are sought out to provide optimal estimates in these more common scenarios.
While equations for optimal nonlinear estimation have been available for several decades, until recently they were found to be of little use. The optimal equations were unimplementable on a computer, requiring infinite memory and computational resources to be used. However, in the past decade, approximations to the optimal filtering equations have been created to overcome this problem. These approximations are typically asymptotically optimal, meaning that as an increasing amount of resources are used in their computation they converge to the optimal solution. The two most prevalent types of such methods are particle methods and discrete space methods.
1.1.2 Particle Filters Particle filtering methods involve creating independent copies of the signal (called `particles') denoted as Vwhere Nt is the number of particles being used at time t. These particles are evolved over time according to the signal's stochastic law. Each particle is then assigned a weight value I ~ to effectively incorporate the information form the sequence of observations (YI, ..., Y,,,). This can be done in such a way that the weight after m observations is the weight after m - 1 multiplied by a factor on dependent upon the mci' observation Y,,,. However, these weights invariably become extremely uneven meaning that many particles (those with relatively low weights) become unimportant and do little other than consume computer cycles. Rather, removing these particles and reducing calculation to an ever-decreasing number of particles, one resamples the particles, which means the particles positions and weights are both adjusted to ensure that all particles contribute to conditional distribution calculation in a meaningful way while ensuring that no statistical bias is introduced in this adjustment. Early particle methods tended to do far too much resampling introducing excessive resampling noise into the system of particles and degrading estimates. Suppose that after resampling the weights of the particles after m observations are denoted as f,t. Then, the particle filter's approximation to the optimal filter's conditional distribution is:
~A`~ I4~
P(X~~
t c A~Yii ...,,~) ~..
As ~~ - oc, the particle-filtering estimate yields the optimal nonlinear filter estimate.
In U.S. Patent application 2002/0198681, entitled, "Flexible Efficient Branching Particle Tracking Algorithms," which is incorporated herein by reference, particles are duplicated, destroyed or left unchanged probabilistically at each time step.
Based on the weight calculated for the current time step only (W,,,(e)), particles are modified according to the following routine:
1. If W: ' i?0, make copies of particle e and make one additional copy with probability 2. If w-W) < o, then eliminate the particle with probability 1-WmW).
3. Perform an unbiased control algorithm to return the number of particles to the amount that existed prior to resampling.
This `cautious' approach was an improvement over the previous known particle filters and this filing also included a system to efficiently implement the algorithm as well as historical variants, where on wants to estimate the path of X up until time t instead of merely its current state. A further improvement that introduced even less performance degradation and improved computational efficiency was introduced in U.S. Patent No.
7,058,550, entitled, "Selectively Resampling Particle Filter," which is incorporated herein by reference.
This method performed pair wise resampling as follows:
1. While < P''I-W) for the highest weighted particle j and the lowest weighted particle i, then:
kti, ,t;'l _,_, =..
2. Set the state of particle i to j with probability ~'~.=.[~')~~~'~...t~`) and set the 4q' ..,',¾"1 ~ .:, .
state of particle j to i with probability +til m 3. Reset the weight of particles i and j to ~1,~~'~ W''~ ~~
In this method, a control parameter p is introduced to appropriately moderate the amount of resampling performed. As described in application 2005/0049830, this value can be dynamic over time in order to adapt to the current state of the filter as well as the particular application. This filing also included efficient systems to store and compute the quantities required in this algorithm on a computer.
1.1.3 Discrete Space Filters When the state space of the signal is on some bounded finite dimensional space, then a discrete space and amplitude approximation can be used. A discrete space filter is described in detail in U.S. Patent No. 7,188,048, entitled "Refining Stochastic Grid Filter"
(REST Filter), which is incorporated herein by reference. In this form, the state space D is partitioned into discrete cells nc. For instance, this space could be a d-dimensional Euclidean space or some counting measure space. Each cell yields a discretized amplitude known as a `particle count' (denoted as -,,), which is used to form the conditional distribution of the discrete space filter:
~'`xt E Aly1 ..., ~"M) ~~c ~~ ~~
EC Oc The particle counts of each state cell are altered according to the signal's operator as well as the observation data that is processed. As the number of cells becomes infinite, then the REST filter's estimate converges to the optimal filter. To be clear, this filing considers directly discretizing filtering equations rather than discretizing the signal and working out an implementable filtering equation for the disretize signal.
In application 2005/0071123, the invention utilized a dynamic interleaved binary index tree to organize the cells with data structures in order to efficiently recursively compute the filter's conditional estimate based on the real-time processing of observations. While this structure was amenable to certain applications, in scenarios where the dimensional complexity of the state space is small, the data structure's overhead can reduce the method's utility.
1.2 Stochastic Control To properly solve the targeted commercial selection problem, one should look to the mathematically optimal field of stochastic control.
Conceptually, one could invent particle methods of direct discretization methods to solve a stochastic control problem approximately on a computer. However, these have not yet been done or at least gained widespread recognition. Instead, implementation methods usually discretize the whole problem and then solve the discretized problem.
2.1 Targeted Advertising System Architecture Fig. 1 depicts the overall targeted advertising system. The system is composed of a Head End 100, which controls one or more Digital Set Top Boxes 200. The DSTBs 200 are attempting to estimate the conditional probability of the state of potential viewers in household 205, including the current member(s) of the household watching television, using the DSTB filter 202. The DSTB filter 202 uses a pair of models 201 describing the signal (household) and the observations (the click stream data 206). The DSTB filter 202 is initialized via the setting 302 downloaded from the Head End 100. To estimate the state of the household the DSTB filter 202 also uses program information 207 (which may be current, or in the recent past or future), which is available from a store of program information 208.
The DSTB filter 202 passes its conditional distribution or estimates derived thereof to a commercial selection algorithm 203, which then determines which commercials 204 to display to the current viewers based on the filter's output, the downloaded commercials 301, and any rules 302 that govern what commercials are permissible given the viewer estimates.
The commercials displayed to the viewers are recorded and stored.
The DSTB filter 202 estimates as well as commercial delivery statistics and other information may be randomly sampled 303 and aggregated 304 to provide information to the Head End 100. This information is used by a Head End filter 102, which computes (subject to its available resources) the conditional distribution for the aggregate potential and actual viewership for the set of DSTBs with which it is associated. The Head End filter 101 uses an aggregate household and DSTB feedback model 101 to provide its estimates.
These estimates are used by the Head End commercial selection system 103 to determine which commercials should be passed to the set of DSTBs controlled by the Head End 100. The commercial selection system 103 also takes into account any market information available concerning the current commercial contracts and economics of those contracts.
The resulting commercials selected 301 are subsequently downloaded to the DSTBs 100. The commercials selected for downloading affect the level settings 104, which provide constraints on certain commercials being shown to certain types of individuals.
The following two sections describe certain detail elements of this system.
2.2 Household Signal and Observation Model Description In this section, the general signal and observation model description are given as well as examples of possible embodiment of this model.
2.2.1 Signal Model Description In general, the signal of a household is modeled as a collection of individuals and a household regime. In one preferred embodiment, this household represents the people who could potentially watch a particular television that uses a DSTB. Each individual (denoted as X`) at a given point in time t has a state from the state space s E S, where S
represents the set of characteristics that one wishes to determine for each person within a household. For example, in one embodiment one may wish to classify the age, gender, income, and watching status of each individual. Age and income may be considered as real values, or as a discrete range. In this example, the state space would be defined as:
S={0 -12, 12 -18, 18 - 24, 24 - 38, 38+} X{Mate, Femate} X{0 -$50, 000, $50, 000+} X{Yes, No) oc U Sk The state space of the household member is then k=o , where k denotes the number of individuals and S denotes the single state with no individuals. The household members Xt =(Xt , .= =, X~ `) have a time-varying random number of members, where nt is the number of members at time t. Since the order of members within this collection is immaterial to the problem, we use the empirical measure of the members 6Xi to represent the household.
The household regime depicts a current viewing 'mindset' of the household that can materially influence the generation of click stream data. The household's current regime rt is a value from the state space R. In one embodiment of the invention, the regimes can consist of values such as 'normal', 'channel flipping', 'status checking', and 'favorite surfing'.
Thus, the complete signal is composed of the household members and the regime:
~t = (Xt, Rt).
The state of the signal evolves over time via rate functions a,, which probalistically govern the changes in signal state. The probability of a state change from state i to j after some time t is then:
t RT P(T > t) = exp AT(s)ds There are separate rate functions for the evolution of each individual, the household membership itself, and the household's regime. In one embodiment of the invention, the rate functions for individual i may depend only on the given individual, the empirical measure of the signal, the current time, and some external environmental variables A(t, xti, x > et).
The number of individuals within the household nt varies over time via birth and death rates. Birth and death rates do not merely indicate new beings being born or existing beings dying - they can represent events that cause one or more individuals to enter and exit the household. These rates are calculated based on the current state of all individuals within the household. For example, in one embodiment of the invention a rate function describing the likelihood of a bachelor to have either a roommate or spouse enter the household may be calculated.
In one embodiment of the invention, these rate functions can be formulated as mathematical equations with parameters empirically determined by matching the estimated probability and expected value of state changes from available demographic, macroeconomic, and viewing behavior data. In another embodiment, age can be evolved deterministically in continuous state space [0, 120].
2.2.2 Observation Model Description In general, the observation model is comprised of click stream information that is generated by one or more individuals' interaction with a DSTB. In one preferred embodiment of the invention, only current and past channel change information is represented in the observation model. Given a universe of M channels, we have a channel change queue at time tk of ~k ~-- (yk fi- =- r yk-B-+-1) channels that were watched in the past B
discrete time steps. In one preferred embodiment of the invention, only the times when a channel change occurs as well as the channel that was changed to are recorded to reduce overhead.
In the more general case, a viewing queue contains this current and past channels as well as such things as volume history. In the aforementioned case, the viewing queue degenerates to the channel change queue.
The probability of the viewing queue changing from state i to state j at time t based on the state of the signal and some downloadable content Dt (denoted as pi.;
(D,,X,)) is then determined. In one preferred embodiment, this downloadable content contains, among other things, some program information detailing a qualitative category description of the shows that are currently available, for instance, for each show, whether the show is an "Action Movie" or a "Sitcom", as well as the duration of the show, the start time of the show, the channel the show is being played on, etc.
In an absence of a special regime, an empirical method has been created to calculate the Markov chain transition probabilities. These probabilities are dependent on the current state of all members of the household and the available programs. This method is validated using observed watching behavior and Varadarajan's law of large numbers.
Suppose that P is a discrete probability measure, assigning probabilities to {i'''1~ =~WiT4'}
and we have N
independent copies of the experiment of selecting an element. Then, the law of large number says that 4ah=aj' =;~ p1 4=1 k=1 where cv' is the i`h random outcome of drawing an element from Q.
In one embodiment of the invention, this method focuses on calculating the probabilities for a channel queue of size 1(i.e., Yk = yk). The observation probabilities, that is, the probabilities of switching between two viewing queues over the next discrete step, can be first calculated by determining the probability of switching categories of the programs and then finding the probability of switching into a particular channel within that category. The first step is to calculate, often in a offline manner, the relative proportion of category changes that occur due to channel changes and/or changes in programs on the same channel. In order to perform this calculation, a mapping of all possible member states X, are mapped into a discrete state space H such that f(X,) =7t, for some ~~ E 11= for all possible X, We suppose there are a fixed number of categories cC {Cl+ ~~, -+ CK}. Furthermore, let there be Nv viewer records, with each viewer record representing a constant period of time At, and with each three-tuple viewing record V (i`) "(jr4 Cl,C2), k= 1, 2, ..., Nv containing information about the discretized state of the household (r) and the category on the beginning (Cl) and the end of the time period (C). Then, for each r e- II and bCr, C.1 E C, we calculate:
Nv N(r .'~~, Cj) -= E Iv(k,cx,c2)= (r,Cjcj).
k=1 When the optimal estimation system is running the real-time, the probabilities for the category transition from C, to Cj that occurs at a given time step are calculated first by calculating the probability of category changes given the currently available programs:
, ~ (~, ~`f , Cj) ~~~-'~~1~~ ~~(7r}AIr~42) A
where A runs over all possible valid category switches based on the current programs available. Then, this probability is converted into the needed channel transition probability by:
~C, , C, nt (J) where nt(J) is the number of channels that have shows that fall in category J
at the end of the current time step.
An alternative probability measure to use is to calculate the 'popularity' of channels instead of the transition between channels at each discrete time step. This above method can be used to provide this form by simply summing over the transition probabilities for a given category:
K
Pc~ (ir) ~ Pc."C.~ (ir) =
a=l .
Again, this probability is converted into the needed channel transition probability by using an instance of multiplication rule:
~=-i (T,) ~~~
nt(j) where nt(J) is the number of channels that have shows that fall into category J at the end of the current time step.
In one embodiment of the invention, several or all of the categories will be programs themselves, given the finest level of granularity. In other instances, it is preferable to have broad categories to keep the number of probabilities that need to be stored down.
2.3 Optimal Estimation with Markov Chain Observations In the traditional filtering theory summarized above, one has that the observations are a distorted, corrupted partial measurement of the signal, according to a formula like Yk = h(Xtk I Vk) f where tk is the observation time for the kth observation and {Vk "0 k-1 is some driving noise process, or some continuous time variant. However, for the DSTB model that we described in the immediately previous subsections, we have that Y is a discrete time Markov chain whose transition probabilities depend upon the signal. In this case, the new state Yk can depend upon the previous state, rendering the standard theory discussed above invalid. In this section, a new, analogous theory and system is presented for solving problems where the observations are a Markov chain. One noticeable generality of the system is that Markov chain observations may only be allowed to transition to a subset of all the states that depends upon the state that it is currently in. This is a useful feature in the targeted advertising application, since much of the viewing queue's previous data may remain in the viewing queue after an observation and the insertion of some new data. For assimilation ease, this is described in the context of targeted advertisement even though it clearly applies in general.
Suppose that we have a Markov signal Xt with generator Z and with an initial distribution v. To be precise, the signal is defined to be the unique DE[0, d ) process that satisfies the {L* u,-martingale problem:
P(X0 , E, =~ - ~r~=~
and t :~~~ ~~~ ~~~) - ~(X~ ) - Z~P(.~~ )ds ~
is a martingale of all `P E D(L).
We wish to estimate the conditional distribution of Xa based upon { 1,2,..., M}-valued discrete-time Markov chain observation that depends upon Xa as well as some exogenous information D. To make things manifest, suppose that is a sequence of independent random variables that are independent of the signal and observation such that P(vk = ~} = ~s for i ~ 1= ry= =~ ~ '~ C Z., the observation gk occurs at time tk with finite state space 11, ..., M} of events available and Yk where j pk yk z,* k - 0, -1, -2, ...
transitions between values in 11, ..., M}B with homogeneous transition probabilities pi-*x (Di, Xt) of going from state i to state j at time t. Here, Dt and Xt are the current states of the pertinent exogenous information and signal states at the time of the possible state change.
To ease notation, we define Dh Dtk I Xk - Xeh and set V). - (11kI Vk-1t.~vA,-13+1)~ fol'k = 1,2,...
Il=
zi ~ (k-'(XL.) forj ~ 1,2,...
~ for,j .:~ 0, -1, -420) ...
and Z(t) Zj f(yr t c- it3 I tj,t"i):
where Ck (Xk) == M x prk-,-~Yi (Dk, Xk) As a notational convenience, define Zo=1. Then, some mathematical calculations show that E[f(Xt)I Yj 11 = El.f (Xt) ~~~~~)-, iaIYI,. . . , Yj 11 for t' < T, where f:E , ?R artd P(A) =E(L1AZ(T')J aAEcr((.Xt, Yg), t E T'}.
Letting 77(t) Z(t)' and noting the denominator and numerator of (6) are both calculated from 2[9~~~ )In (t) I-Ft l.
with g = 1 and g =f respectively, where ,Tty -!. tTlY'i, . . . , Y'.i l for t E rt, ty+I), we just need an equation for ptf El,f(Xt)n(t) I.~ ~
for a rich enough class of functions f - ER.
More mathematics establishes that Pt (dx) P(l x;~~,77(t)I -Ti ) satisfies t ni jut(~) Ao(~O) = Jul (,CW)ds + E Pt, (~Ck) 10 k-1 for all t E 10, 00) and ~o E DW, where 1 - t1r= and nS = maxfk : tk C a}
2.4 Filtering Approximations In order to use the above derivation in a real-time computer system, approximations must be made so that the resulting equations can be implemented on the computer architecture. Different approximations must be made in order to use a particle filter or a discrete space filter. These approximations are highlighted in the sections below.
2.4.1 Particle Filter Approximation By equation (6) we only need to approximate 1~~(dx) ,x, Ejit(t)i 1:
where lt1 LtJ
77(tj -- ~ M x py-..Y (Dk, .Xk) = ~ M x .~Y~-I -+Yi, ~Dj? Xtk) is the weighting functions. Now, suppose that we introduce independent signal particles {Ct, t> 0}90 1 each with the same law as the historical signal and define the weights LtJ
77 (t) = UJIf x py, - I y, (Dk, ~-~
Then, it follows by deFinnetti's theorem and the law of large numbers that N
774 (t)6t; (d~) =--e Fit (dx)=
2.4.2 Discrete Space Approximation If we set the state space of Xt to be E, then for each N E Nt, we let lN and MN satisfy IN / 00 and MN / 00 as N / Oc. For DN i {1, - - -, dJV~ C K, we suppose that {C~ , k E D~, } is a partition of E such that m~k diQm(C~ )~=-~ 0, and that all the discrete states are in different cells, i.e., it is only expanding and contracting on age amounting to letting a -aN -1' Q. Then, we take vk ECk and define J^' ~{o' 1' "'' M"}dre and do the following intuitive justification:
Taking '~~C"~ to mean 1(CN) = 3i for all i EDN and 71 E ~u~ and substituting the test functions 9('7*r) --= In(C`")=j into (10), we get t ni _ At(7l(') = 1) = A0 (~1(') = 7) + (~ 1~ds + E tk iC^'--';~~~
f k=l where L -'L11N
Then, it follows that At(rl(C) j) =z;, ftt(dx)=
2.5 Refining Stochastic Grid Filter with Discrete Finite State Spaces In U.S. Patent No. 7,188,048, a general form of the REST filter was detailed.
This method and system has demonstrated to be of use in several applications, particularly in Euclidean space tracking problems as well as discrete counting measure problems. However, several improvements upon this method have been discovered, which provide dramatic reductions in the memory and computational requirements for an embodiment of the invention. A new method and system for the REST filter is described herein where the signal can be modeled with a discrete and finite state space. Examples using the targeted advertising model are provided for clarity, but this method can be used with any problem that features the environment discussed below.
2.5.1 Environment Description :
In certain problems, the signal is composed of zero or more targets Xt and zero or more regimes 4. For example, in targeted advertising one embodiment of the signal model is in the form X, =(X,, R,), where Xt is the empirical measure of the targets (or, more specifically, the household members) and there is only one regime.
Furthermore, each target and regime have only a discrete and finite number of states, and there are a finite number of targets and regimes (and consequently a finite number of possible combinations of targets and regimes). The finite number of combinations need not be all possible combinations -only a finite number of legitimate combinations are required. For instance, a finite possible types of households (meaning households with particular demographics within) can be derived from geography-dependent census information at relatively granular levels. Instead of having all potential combinations of individuals (up to some maximum household membership nAlAx), only those combinations which can be possibly found within a given geographic region need to be considered legitimate and contained within the state space.
In these restricted problems, some of the state of the target(s) and/or regime(s) may be invariant over short-term during which the optimal estimation is occurring.
In these cases, such state information is held to be constant, while other portions of the state information remain variant. In one embodiment of the household signal model, the age, gender, income, and education levels of each individual within the household may be considered to be constant, as these values change over longer periods of time and the DSTB
estimation occurs over a period of a few weeks. However, the current watching status of the household regime information change over relatively short time frames, and as a result these states are left to vary in the estimation problem. We shall denote the invariant portion of the signal as X and the variant portion of the signal as X. There are N possible invariant states (the i`h such state donated by x9 and Mi possible variant states for the i`h invariant state (the j`h state denoted by 2.5.2 REST Finite State Space System Overview Fig. 2 depicts one preferred embodiment of the REST filter in a finite state space environment. REST is composed of a collection of invariant state cells, each of which represents one possible collection of targets and regimes for the signal along with their invariant state properties. Each invariant cell contains a collection of variant state cells, each representing the possible time-variant states of the given invariant cell.
Implicitly, the variant cells contain the invariant state information of their parent invariant cell, meaning each variant cell represents a particular potential state of the signal. The invariant cells themselves represent an aggregate container object only and are used for convenience purposes. The collections of variant and invariant cells may be stored on a computer medium in the form of arrays, vectors, list or queues. Cells which have no particle count at a given time t may be removed from such containers to reduce space and computational requirements, although a mechanism is reinsert such cells at a later date is then necessary.
As shown in Fig. 3, each variant state sell contains a particle count n=''.
This particle count represents the discretized amplitude of that cell. As noted previously, this amplitude is used to calculate the conditional probability of a given state. Each variant state cell also contains a set of imaginary clocks ~`c''`~. These imaginary clocks represent the possible state changes from the given state cell. For each variant state cell there are Qij possible state transitions. In this environment, all valid state transactions occur within the same invariant state cell. To account for simultaneous changes in the conditional distribution of the REST
filter, temporary counter entitled particle count entitled particle count delta A~'~ is used to store the number of particles that will be added or removed from the give variant state cell once the sequential processing of all cells is completed. Cells which have a valid state transition from the variant state cell with state jPt'' are said to be neighbors of that cell.
As mentioned above, the invariant state cells are containers used to simplify the processing of information. Each invariant state cell's particle count t is an aggregate to its child variant state cell particle counts. Similarly the invariant state cell's imaginary time clock is an aggregation of all clocks from the variant cells. This aggregation facilitates the filter's evolution, as invariant states which have no current particle count can be skipped at various stages of processing.
2.5.3 REST Filter Evolution Fig. 4 depicts the typical evolution of the REST filter. This evolution method updates the conditional distribution of the filter over some time period dt by transferring particles between neighboring cells using the imaginary clock values. The movement of a particle between neighboring cells is know as an event. (Well, we often replace the movement of particles with extra births and deaths to allow more rate cancellation to occur.) Such events are simulated en masse to reduce the computational overhead of the evolution.
The number of events to simulate is based on the total imaginary clock sum At for all cells. Fig. 5 shows the method that determines how may particles move to each neighbor. When the simulation of events is complete, the particle counts can be update and the imaginary clocks are sealed back to represent the change in the state of the filter.
Compared to the previous method described in U.S. Patent No. 7,188,048, additional steps have been added to improve the effectiveness of the filter.
Specifically, an adjustment to the cell particle counts now occurs prior to the push down observations method, and a draft back routine has been added prior to particle control. In certain problems, some states may have no possibility of being the current signal state based on observation information.
For instance, a household must have a least one member current watching if a channel change is recorded. In these circumstances, the particles in all invalid states must be invuTid redistributed to proportionately to valid states. Thus, if there are nt particles to irtvalid L tiI J
E In, redistribute, then all valid variant state cells will receive +J particles, and will -i "I
receive an additional particle with probability ~ n ~ n` . When this type of observation-based adjustment is used, it is likely that the rates governing the evolution of the signal must be appropriately altered to coincide with the use of observation data in this manner.
To improve the robustness of the REST filter, a drift back method has been added.
This method uses some function f (~ '3fit) to add ~~~ ~ particles to variant state cells based on the initial distribution v of the signal. The number of particles to add to each cell depends on time, the given cell, and the overall state of the filter. This method ensures that the filter does not converge to one or more invariant states without the ability to recover from an incorrect localization.
2.6 Head End Estimations In order to maximize the profitability of multiple service operators' advertising operations, the determination of which commercials to distribute to a collections DSTBS is critical. As more information is available about the actual viewership of commercials based on the conditional distributions (or conditional estimates derived thereof) of a DSTB-based asymptotically optimal nonlinear filter, the pricing of specific commercial slots can be more dynamix, thus improving overall profits.
To capitalize upon this potential, an estimation of the aggregate households that includes such things as the number of people within each demographics) is performed at the Head End based on a random sampling of conditional DSTB estimates. The following model contains a prefer embodiment of the 2.6.1 Head End Signal Model The Head End signal model consists of pertinent trait information of potential and current television viewers that have DSTB boxes connected to a particular Head End. A state space S is defined that represents such a collection of traits for a single individual. In one embodiment of the invention, this space could be made up of age ranges, gender, and recent viewing history for an individual. To keep track of individuals, we let Co -0 be the household type of no individuals and C' be the collection of household types with n individuals Cn {((sl, nl)e =..fi (sf, n,)) : ~~ E S and disttrct, n, + n2 + .... + n,. =
n } .
~+n The collection of households would then be the union ~ of the households with n people in them. Realistically, there would be a largest household N that we could handle and N
ft we set the household state space to be ~"=0 ~ , where N is some large number.
To process the estimate transferred back from the DSTBs through the random sample mechanism, we also want to track the current channel for each DSTB. This means that each DSTB state; including potential household viewership, watching status, and current channel;
is taken from D : E x f 1, 2, .,.,M}, where there is M possible channels that the DSTB could be turned to.
We are not worried about a single DSTB nor even which DSTBS are in a particular state but rather with how many DSTBs are in state d E D. Therefore, we let the signal X
to be tracked to a finite counting measure, counting the number of DSTBs in each category dE D.
In an embodiment of the invention, it is possible to track an aggregate the possible number of DSTBs in each category to minimize the computational requirements.
In such a case, atoms of size o are used so that the total will still sum to the maximum number of DSTBs. For example, suppose that there are 1 million DSTBs. Then, we would have 100,000 atoms (consisting of a= 10 DSTBs each) distributed over D. Suppose M(D) denotes the counting measure on D andM(D) denotes the subset of M(D) that has exactly 100,000 atoms. The signal will evolve mathematically according to a martingale problem t ,~(~`t) = f (,~~) + L,'(.~s)ds -~-.ft(f), fo where t is a martingale for each continuous, bounded functional f on ilt(D) and L is some operator that would be determined largely from the DSTB rates and the natural assumption that the household act independently.
Any household that provide their demographics in exposed mode are not considered to be part of the signal.
2.6.2 Head End Observation Models Herein we describe two observation models: one for the random sampling of DSTBs and one for delivery statistics.
For the random sample observation model, we consider the channel and viewership by letting X be our signal as in the previous section, and let Vk denote the random selection at time tk in the sampling process. To be precise, suppose that there are M DSTBs for a particular Head End and recall that a DSTB that believes at least one person is currently watching will supply a sample with a fixed probability of five percent. Then, Vk would be a matrix with a random number of rows, each row consisting of M entries with exactly one nonzero entry corresponding to the index of the particular DSTB, which has provided a sample. The number rows would be the number of DSTBs providing a sample. The locations of the nonzero entries are naturally distinct over the rows and would be chosen uniformly over the possible permutations to reflect the actual sampling taken.
Now, we let ( t" U'`) be the (column) vectors of the M DSTB's conditional distribution viewership estimates and corresponding channel both at time tk.
Then, this observation process would be ol ~ ~ h4vk - (Pk, Uk. ).
Here, the Vk would do the random selection and the h would be a function providing the information that is chosen to be fed back.
For the aggregated ad delivery statistics model, we have time-indexed sequences of functions Hkj that provide a count of the various ads delivered previously at time tk - tj.
There would be a small amount of noise Wkj due to the fact that some DSTBs may not return any information due to temporary malfunction (i.e. a`missed observation'), and due to the fact that the estimated viewership used to determine a successful delivery is not guaranteed to be correct.
The second observation information from the aggregated delivery statistics would be .., t = Hk4] (~t,tx 1 Wkj)' ~~
Here, j ranges back over the spot segments in the reporting periods and tk is the reporting period time.
2.6.3 Head End Filter The signal for the Head End becomes the probability distributions from the DSTB's.
2.7 Head End Commercial Selection In certain embodiments of the invention, other information may be available which also can be used to perform the aggregate viewership estimation. For example, aggregate (and possibly delayed) ad delivery statistics can also provide inferences in the estimated viewership of DSTBs, as well as any 'exposed mode' information whereby households opt to provide their state information (demographics, psychographics, etc.) in exchange for some compensation.
In this setting, commercial contract is modeled as a graph of incremental profit in terms of the contract details, available resources and future signal state. We call these graphs contract graphs which arrive with rates that depend upon the contract details, signal state and economic environments. Some of the contract details include:
Number of times commercial is to be shown (could contain minimum and maximum thresholds), likely in thousands;
Time range for time of day/week that commercial is to be shown;
The Target demographic(s) for the commercial;
Particular channels or programs that the commercial is to be shown on;
Customer that wrote the contract, some of which may be optional.
The random arrival of the contract graphs is denoted as the contract graph process.
Furthermore, an allotment of resources (that need not be maximum allotable to any contract) to a contract graph process is called a feasible selection if, given the state (present and future) and the environment, the allotted resources do not exceed the available resources, i.e. the available commercial spots over the various categories. Now, due to the fact that these limited resource become depleted as one accepts contracts, current versus future potential profits a modeled through a utility function. This utility function takes the stream of contract graphs available (both presently and with future random arrivals) and returns a number indicating profit in terms of dollar or some other form to satisfaction. Due to the random future behavior of contract graphs, the utility function cannot simply provide maximum profits without taking into account deviation from the expected profit to ensure the maximization does not allow significant risk of poor profit.
To perform optimal commercial selection, the following models need to be defined described: Head End signal model, Head End observation model, contract generation model, and utility (profit) model.
2.7.1 Contract Model The commercial contracts that arise are modeled as a marked point process over the contract graphs. The rate of arrival for the contracts depends upon the previous contracts executed as well as external factors such as economic conditions..
Suppose that e denotes Lesbegue measure. Then, we let C denote the space of possible contract graphs with some topology on it, Ot, t 2' 01 denote the counting measure stochastic process for the arrival of contract graphs up until time t and ~
denote a Poisson measure over '~ x A 00) x 10' 00) with some mean measure u xt xt. Furthermore, we let A(G?`1t0,-0, t) be the rate (with respect to v) that a new contract will come with contract graph c (E C at time t when 77104 the records the arrival of contract graphs from time 0 up to but not including time t. Then, we model by the following stochastic differential equation ~lc(~) =nn (A) + f (~')(de ~c ~'v ~e d) for a1l A E ,~(C).
x(0,ca0) x ([-,c}
It is possible that the contract details noted above may be altered upon acceptance of a contract. As a result, the contract details are modeled to depend on extern.al environment which can evolve over time.
2.7.2 Utility Function Description To case notation, we let R(Ds) be the available resources, now and in the future, based upon the downloadable program information Ds at time s.
We will not be able to accept all contracts that arise and we have to make the decision whether to accept or reject a contract without looking into the future. We denote an admissible selection as a feasible selection such that each resource allocation decision does not use future contract or future observation information. In terms of the notation of the previous section, we suppose that nt represents the number of contracts that have arrived of the various types up to and including time t and take ~l, ~~~ , q)77(ds x dc)dq for each t > 07 fj~ f 0.t]
where Q represents the set of all potential customers and {l=, 01 is a selection process, i.e., allocates resources to each contract c. Then, is an admissible selection if I= "~ _R(I~&) for each s? 0 and ls does not use future contract nor observation information, i.e., is measurable with respect to a~~~,~, ~< sl, 1B~t } 6~~ , jC_ N. tk e s}} for each 0.
Now, 'yt-(') represents the profit obtained up to time t through admissible selection 1. To ease notation, we let A be the set of all such admissible selections.
The utility function J balances current profit with future profit and the change of obtaining very high profits on a particular contract with the risk of no or low profit. In order to ensure that we start off reasonably, we will deweight future profit in an exponential manner. Moreover, in order that we are not overly aggressive we will include a variance-like condition. One embodiment of the resulting utility function is J(X, 1) ...~ a-At [y~(I) - ~ (_Y, (1)) 2 dt}
for small constants Ar d> =0. Then, the goal of the commercial selection process is to maximize E IJ(X, i)J' over the I e A. Such a goal can be solved using one or more asymptotically optimal filters.
The foregoing description of the present invention has been presented for purposes of illustration and description. Furthermore, the description is not intended to limit the invention to the form disclosed herein. Consequently, variations and modifications commensurate with the above teachings, and skill and knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain best modes known of practicing the invention and to enable others skilled in the art to utilize the invention in such, or other embodiments and with various modifications required by the particular application(s) or use(s) of the present invention. It is intended that the appended claims be construed to include alternative embodiments to the extent permitted by the prior art.
~(X-~~r dz rr ( 2,:4 , C, < tk :5 tl) where 0 ~5 4, 5 In certain linear circumstances, an effective optimal recursive formula is available.
Suppose the signal follows an Ito stochastic differential equation ~+ ">'~ '~' , with A being the linear and B being constant. Furthermore, the observation function takes the form of Yk - 11Mk) +t4 "hem (t'k=a are independent Gaussian random variables.
This formula is known as the Kalman filter. While the Kalman filter is very efficient in performing its estimates, its use in applications is inherently limited due to the strict description of the signal an observation processes. In the case where the dynamics of the signal are nonlinear, or the observations have non-additive and/or correlated noise, the Kalman filter provides sub-optimal estimates. As a result, other methods are sought out to provide optimal estimates in these more common scenarios.
While equations for optimal nonlinear estimation have been available for several decades, until recently they were found to be of little use. The optimal equations were unimplementable on a computer, requiring infinite memory and computational resources to be used. However, in the past decade, approximations to the optimal filtering equations have been created to overcome this problem. These approximations are typically asymptotically optimal, meaning that as an increasing amount of resources are used in their computation they converge to the optimal solution. The two most prevalent types of such methods are particle methods and discrete space methods.
1.1.2 Particle Filters Particle filtering methods involve creating independent copies of the signal (called `particles') denoted as Vwhere Nt is the number of particles being used at time t. These particles are evolved over time according to the signal's stochastic law. Each particle is then assigned a weight value I ~ to effectively incorporate the information form the sequence of observations (YI, ..., Y,,,). This can be done in such a way that the weight after m observations is the weight after m - 1 multiplied by a factor on dependent upon the mci' observation Y,,,. However, these weights invariably become extremely uneven meaning that many particles (those with relatively low weights) become unimportant and do little other than consume computer cycles. Rather, removing these particles and reducing calculation to an ever-decreasing number of particles, one resamples the particles, which means the particles positions and weights are both adjusted to ensure that all particles contribute to conditional distribution calculation in a meaningful way while ensuring that no statistical bias is introduced in this adjustment. Early particle methods tended to do far too much resampling introducing excessive resampling noise into the system of particles and degrading estimates. Suppose that after resampling the weights of the particles after m observations are denoted as f,t. Then, the particle filter's approximation to the optimal filter's conditional distribution is:
~A`~ I4~
P(X~~
t c A~Yii ...,,~) ~..
As ~~ - oc, the particle-filtering estimate yields the optimal nonlinear filter estimate.
In U.S. Patent application 2002/0198681, entitled, "Flexible Efficient Branching Particle Tracking Algorithms," which is incorporated herein by reference, particles are duplicated, destroyed or left unchanged probabilistically at each time step.
Based on the weight calculated for the current time step only (W,,,(e)), particles are modified according to the following routine:
1. If W: ' i?0, make copies of particle e and make one additional copy with probability 2. If w-W) < o, then eliminate the particle with probability 1-WmW).
3. Perform an unbiased control algorithm to return the number of particles to the amount that existed prior to resampling.
This `cautious' approach was an improvement over the previous known particle filters and this filing also included a system to efficiently implement the algorithm as well as historical variants, where on wants to estimate the path of X up until time t instead of merely its current state. A further improvement that introduced even less performance degradation and improved computational efficiency was introduced in U.S. Patent No.
7,058,550, entitled, "Selectively Resampling Particle Filter," which is incorporated herein by reference.
This method performed pair wise resampling as follows:
1. While < P''I-W) for the highest weighted particle j and the lowest weighted particle i, then:
kti, ,t;'l _,_, =..
2. Set the state of particle i to j with probability ~'~.=.[~')~~~'~...t~`) and set the 4q' ..,',¾"1 ~ .:, .
state of particle j to i with probability +til m 3. Reset the weight of particles i and j to ~1,~~'~ W''~ ~~
In this method, a control parameter p is introduced to appropriately moderate the amount of resampling performed. As described in application 2005/0049830, this value can be dynamic over time in order to adapt to the current state of the filter as well as the particular application. This filing also included efficient systems to store and compute the quantities required in this algorithm on a computer.
1.1.3 Discrete Space Filters When the state space of the signal is on some bounded finite dimensional space, then a discrete space and amplitude approximation can be used. A discrete space filter is described in detail in U.S. Patent No. 7,188,048, entitled "Refining Stochastic Grid Filter"
(REST Filter), which is incorporated herein by reference. In this form, the state space D is partitioned into discrete cells nc. For instance, this space could be a d-dimensional Euclidean space or some counting measure space. Each cell yields a discretized amplitude known as a `particle count' (denoted as -,,), which is used to form the conditional distribution of the discrete space filter:
~'`xt E Aly1 ..., ~"M) ~~c ~~ ~~
EC Oc The particle counts of each state cell are altered according to the signal's operator as well as the observation data that is processed. As the number of cells becomes infinite, then the REST filter's estimate converges to the optimal filter. To be clear, this filing considers directly discretizing filtering equations rather than discretizing the signal and working out an implementable filtering equation for the disretize signal.
In application 2005/0071123, the invention utilized a dynamic interleaved binary index tree to organize the cells with data structures in order to efficiently recursively compute the filter's conditional estimate based on the real-time processing of observations. While this structure was amenable to certain applications, in scenarios where the dimensional complexity of the state space is small, the data structure's overhead can reduce the method's utility.
1.2 Stochastic Control To properly solve the targeted commercial selection problem, one should look to the mathematically optimal field of stochastic control.
Conceptually, one could invent particle methods of direct discretization methods to solve a stochastic control problem approximately on a computer. However, these have not yet been done or at least gained widespread recognition. Instead, implementation methods usually discretize the whole problem and then solve the discretized problem.
2.1 Targeted Advertising System Architecture Fig. 1 depicts the overall targeted advertising system. The system is composed of a Head End 100, which controls one or more Digital Set Top Boxes 200. The DSTBs 200 are attempting to estimate the conditional probability of the state of potential viewers in household 205, including the current member(s) of the household watching television, using the DSTB filter 202. The DSTB filter 202 uses a pair of models 201 describing the signal (household) and the observations (the click stream data 206). The DSTB filter 202 is initialized via the setting 302 downloaded from the Head End 100. To estimate the state of the household the DSTB filter 202 also uses program information 207 (which may be current, or in the recent past or future), which is available from a store of program information 208.
The DSTB filter 202 passes its conditional distribution or estimates derived thereof to a commercial selection algorithm 203, which then determines which commercials 204 to display to the current viewers based on the filter's output, the downloaded commercials 301, and any rules 302 that govern what commercials are permissible given the viewer estimates.
The commercials displayed to the viewers are recorded and stored.
The DSTB filter 202 estimates as well as commercial delivery statistics and other information may be randomly sampled 303 and aggregated 304 to provide information to the Head End 100. This information is used by a Head End filter 102, which computes (subject to its available resources) the conditional distribution for the aggregate potential and actual viewership for the set of DSTBs with which it is associated. The Head End filter 101 uses an aggregate household and DSTB feedback model 101 to provide its estimates.
These estimates are used by the Head End commercial selection system 103 to determine which commercials should be passed to the set of DSTBs controlled by the Head End 100. The commercial selection system 103 also takes into account any market information available concerning the current commercial contracts and economics of those contracts.
The resulting commercials selected 301 are subsequently downloaded to the DSTBs 100. The commercials selected for downloading affect the level settings 104, which provide constraints on certain commercials being shown to certain types of individuals.
The following two sections describe certain detail elements of this system.
2.2 Household Signal and Observation Model Description In this section, the general signal and observation model description are given as well as examples of possible embodiment of this model.
2.2.1 Signal Model Description In general, the signal of a household is modeled as a collection of individuals and a household regime. In one preferred embodiment, this household represents the people who could potentially watch a particular television that uses a DSTB. Each individual (denoted as X`) at a given point in time t has a state from the state space s E S, where S
represents the set of characteristics that one wishes to determine for each person within a household. For example, in one embodiment one may wish to classify the age, gender, income, and watching status of each individual. Age and income may be considered as real values, or as a discrete range. In this example, the state space would be defined as:
S={0 -12, 12 -18, 18 - 24, 24 - 38, 38+} X{Mate, Femate} X{0 -$50, 000, $50, 000+} X{Yes, No) oc U Sk The state space of the household member is then k=o , where k denotes the number of individuals and S denotes the single state with no individuals. The household members Xt =(Xt , .= =, X~ `) have a time-varying random number of members, where nt is the number of members at time t. Since the order of members within this collection is immaterial to the problem, we use the empirical measure of the members 6Xi to represent the household.
The household regime depicts a current viewing 'mindset' of the household that can materially influence the generation of click stream data. The household's current regime rt is a value from the state space R. In one embodiment of the invention, the regimes can consist of values such as 'normal', 'channel flipping', 'status checking', and 'favorite surfing'.
Thus, the complete signal is composed of the household members and the regime:
~t = (Xt, Rt).
The state of the signal evolves over time via rate functions a,, which probalistically govern the changes in signal state. The probability of a state change from state i to j after some time t is then:
t RT P(T > t) = exp AT(s)ds There are separate rate functions for the evolution of each individual, the household membership itself, and the household's regime. In one embodiment of the invention, the rate functions for individual i may depend only on the given individual, the empirical measure of the signal, the current time, and some external environmental variables A(t, xti, x > et).
The number of individuals within the household nt varies over time via birth and death rates. Birth and death rates do not merely indicate new beings being born or existing beings dying - they can represent events that cause one or more individuals to enter and exit the household. These rates are calculated based on the current state of all individuals within the household. For example, in one embodiment of the invention a rate function describing the likelihood of a bachelor to have either a roommate or spouse enter the household may be calculated.
In one embodiment of the invention, these rate functions can be formulated as mathematical equations with parameters empirically determined by matching the estimated probability and expected value of state changes from available demographic, macroeconomic, and viewing behavior data. In another embodiment, age can be evolved deterministically in continuous state space [0, 120].
2.2.2 Observation Model Description In general, the observation model is comprised of click stream information that is generated by one or more individuals' interaction with a DSTB. In one preferred embodiment of the invention, only current and past channel change information is represented in the observation model. Given a universe of M channels, we have a channel change queue at time tk of ~k ~-- (yk fi- =- r yk-B-+-1) channels that were watched in the past B
discrete time steps. In one preferred embodiment of the invention, only the times when a channel change occurs as well as the channel that was changed to are recorded to reduce overhead.
In the more general case, a viewing queue contains this current and past channels as well as such things as volume history. In the aforementioned case, the viewing queue degenerates to the channel change queue.
The probability of the viewing queue changing from state i to state j at time t based on the state of the signal and some downloadable content Dt (denoted as pi.;
(D,,X,)) is then determined. In one preferred embodiment, this downloadable content contains, among other things, some program information detailing a qualitative category description of the shows that are currently available, for instance, for each show, whether the show is an "Action Movie" or a "Sitcom", as well as the duration of the show, the start time of the show, the channel the show is being played on, etc.
In an absence of a special regime, an empirical method has been created to calculate the Markov chain transition probabilities. These probabilities are dependent on the current state of all members of the household and the available programs. This method is validated using observed watching behavior and Varadarajan's law of large numbers.
Suppose that P is a discrete probability measure, assigning probabilities to {i'''1~ =~WiT4'}
and we have N
independent copies of the experiment of selecting an element. Then, the law of large number says that 4ah=aj' =;~ p1 4=1 k=1 where cv' is the i`h random outcome of drawing an element from Q.
In one embodiment of the invention, this method focuses on calculating the probabilities for a channel queue of size 1(i.e., Yk = yk). The observation probabilities, that is, the probabilities of switching between two viewing queues over the next discrete step, can be first calculated by determining the probability of switching categories of the programs and then finding the probability of switching into a particular channel within that category. The first step is to calculate, often in a offline manner, the relative proportion of category changes that occur due to channel changes and/or changes in programs on the same channel. In order to perform this calculation, a mapping of all possible member states X, are mapped into a discrete state space H such that f(X,) =7t, for some ~~ E 11= for all possible X, We suppose there are a fixed number of categories cC {Cl+ ~~, -+ CK}. Furthermore, let there be Nv viewer records, with each viewer record representing a constant period of time At, and with each three-tuple viewing record V (i`) "(jr4 Cl,C2), k= 1, 2, ..., Nv containing information about the discretized state of the household (r) and the category on the beginning (Cl) and the end of the time period (C). Then, for each r e- II and bCr, C.1 E C, we calculate:
Nv N(r .'~~, Cj) -= E Iv(k,cx,c2)= (r,Cjcj).
k=1 When the optimal estimation system is running the real-time, the probabilities for the category transition from C, to Cj that occurs at a given time step are calculated first by calculating the probability of category changes given the currently available programs:
, ~ (~, ~`f , Cj) ~~~-'~~1~~ ~~(7r}AIr~42) A
where A runs over all possible valid category switches based on the current programs available. Then, this probability is converted into the needed channel transition probability by:
~C, , C, nt (J) where nt(J) is the number of channels that have shows that fall in category J
at the end of the current time step.
An alternative probability measure to use is to calculate the 'popularity' of channels instead of the transition between channels at each discrete time step. This above method can be used to provide this form by simply summing over the transition probabilities for a given category:
K
Pc~ (ir) ~ Pc."C.~ (ir) =
a=l .
Again, this probability is converted into the needed channel transition probability by using an instance of multiplication rule:
~=-i (T,) ~~~
nt(j) where nt(J) is the number of channels that have shows that fall into category J at the end of the current time step.
In one embodiment of the invention, several or all of the categories will be programs themselves, given the finest level of granularity. In other instances, it is preferable to have broad categories to keep the number of probabilities that need to be stored down.
2.3 Optimal Estimation with Markov Chain Observations In the traditional filtering theory summarized above, one has that the observations are a distorted, corrupted partial measurement of the signal, according to a formula like Yk = h(Xtk I Vk) f where tk is the observation time for the kth observation and {Vk "0 k-1 is some driving noise process, or some continuous time variant. However, for the DSTB model that we described in the immediately previous subsections, we have that Y is a discrete time Markov chain whose transition probabilities depend upon the signal. In this case, the new state Yk can depend upon the previous state, rendering the standard theory discussed above invalid. In this section, a new, analogous theory and system is presented for solving problems where the observations are a Markov chain. One noticeable generality of the system is that Markov chain observations may only be allowed to transition to a subset of all the states that depends upon the state that it is currently in. This is a useful feature in the targeted advertising application, since much of the viewing queue's previous data may remain in the viewing queue after an observation and the insertion of some new data. For assimilation ease, this is described in the context of targeted advertisement even though it clearly applies in general.
Suppose that we have a Markov signal Xt with generator Z and with an initial distribution v. To be precise, the signal is defined to be the unique DE[0, d ) process that satisfies the {L* u,-martingale problem:
P(X0 , E, =~ - ~r~=~
and t :~~~ ~~~ ~~~) - ~(X~ ) - Z~P(.~~ )ds ~
is a martingale of all `P E D(L).
We wish to estimate the conditional distribution of Xa based upon { 1,2,..., M}-valued discrete-time Markov chain observation that depends upon Xa as well as some exogenous information D. To make things manifest, suppose that is a sequence of independent random variables that are independent of the signal and observation such that P(vk = ~} = ~s for i ~ 1= ry= =~ ~ '~ C Z., the observation gk occurs at time tk with finite state space 11, ..., M} of events available and Yk where j pk yk z,* k - 0, -1, -2, ...
transitions between values in 11, ..., M}B with homogeneous transition probabilities pi-*x (Di, Xt) of going from state i to state j at time t. Here, Dt and Xt are the current states of the pertinent exogenous information and signal states at the time of the possible state change.
To ease notation, we define Dh Dtk I Xk - Xeh and set V). - (11kI Vk-1t.~vA,-13+1)~ fol'k = 1,2,...
Il=
zi ~ (k-'(XL.) forj ~ 1,2,...
~ for,j .:~ 0, -1, -420) ...
and Z(t) Zj f(yr t c- it3 I tj,t"i):
where Ck (Xk) == M x prk-,-~Yi (Dk, Xk) As a notational convenience, define Zo=1. Then, some mathematical calculations show that E[f(Xt)I Yj 11 = El.f (Xt) ~~~~~)-, iaIYI,. . . , Yj 11 for t' < T, where f:E , ?R artd P(A) =E(L1AZ(T')J aAEcr((.Xt, Yg), t E T'}.
Letting 77(t) Z(t)' and noting the denominator and numerator of (6) are both calculated from 2[9~~~ )In (t) I-Ft l.
with g = 1 and g =f respectively, where ,Tty -!. tTlY'i, . . . , Y'.i l for t E rt, ty+I), we just need an equation for ptf El,f(Xt)n(t) I.~ ~
for a rich enough class of functions f - ER.
More mathematics establishes that Pt (dx) P(l x;~~,77(t)I -Ti ) satisfies t ni jut(~) Ao(~O) = Jul (,CW)ds + E Pt, (~Ck) 10 k-1 for all t E 10, 00) and ~o E DW, where 1 - t1r= and nS = maxfk : tk C a}
2.4 Filtering Approximations In order to use the above derivation in a real-time computer system, approximations must be made so that the resulting equations can be implemented on the computer architecture. Different approximations must be made in order to use a particle filter or a discrete space filter. These approximations are highlighted in the sections below.
2.4.1 Particle Filter Approximation By equation (6) we only need to approximate 1~~(dx) ,x, Ejit(t)i 1:
where lt1 LtJ
77(tj -- ~ M x py-..Y (Dk, .Xk) = ~ M x .~Y~-I -+Yi, ~Dj? Xtk) is the weighting functions. Now, suppose that we introduce independent signal particles {Ct, t> 0}90 1 each with the same law as the historical signal and define the weights LtJ
77 (t) = UJIf x py, - I y, (Dk, ~-~
Then, it follows by deFinnetti's theorem and the law of large numbers that N
774 (t)6t; (d~) =--e Fit (dx)=
2.4.2 Discrete Space Approximation If we set the state space of Xt to be E, then for each N E Nt, we let lN and MN satisfy IN / 00 and MN / 00 as N / Oc. For DN i {1, - - -, dJV~ C K, we suppose that {C~ , k E D~, } is a partition of E such that m~k diQm(C~ )~=-~ 0, and that all the discrete states are in different cells, i.e., it is only expanding and contracting on age amounting to letting a -aN -1' Q. Then, we take vk ECk and define J^' ~{o' 1' "'' M"}dre and do the following intuitive justification:
Taking '~~C"~ to mean 1(CN) = 3i for all i EDN and 71 E ~u~ and substituting the test functions 9('7*r) --= In(C`")=j into (10), we get t ni _ At(7l(') = 1) = A0 (~1(') = 7) + (~ 1~ds + E tk iC^'--';~~~
f k=l where L -'L11N
Then, it follows that At(rl(C) j) =z;, ftt(dx)=
2.5 Refining Stochastic Grid Filter with Discrete Finite State Spaces In U.S. Patent No. 7,188,048, a general form of the REST filter was detailed.
This method and system has demonstrated to be of use in several applications, particularly in Euclidean space tracking problems as well as discrete counting measure problems. However, several improvements upon this method have been discovered, which provide dramatic reductions in the memory and computational requirements for an embodiment of the invention. A new method and system for the REST filter is described herein where the signal can be modeled with a discrete and finite state space. Examples using the targeted advertising model are provided for clarity, but this method can be used with any problem that features the environment discussed below.
2.5.1 Environment Description :
In certain problems, the signal is composed of zero or more targets Xt and zero or more regimes 4. For example, in targeted advertising one embodiment of the signal model is in the form X, =(X,, R,), where Xt is the empirical measure of the targets (or, more specifically, the household members) and there is only one regime.
Furthermore, each target and regime have only a discrete and finite number of states, and there are a finite number of targets and regimes (and consequently a finite number of possible combinations of targets and regimes). The finite number of combinations need not be all possible combinations -only a finite number of legitimate combinations are required. For instance, a finite possible types of households (meaning households with particular demographics within) can be derived from geography-dependent census information at relatively granular levels. Instead of having all potential combinations of individuals (up to some maximum household membership nAlAx), only those combinations which can be possibly found within a given geographic region need to be considered legitimate and contained within the state space.
In these restricted problems, some of the state of the target(s) and/or regime(s) may be invariant over short-term during which the optimal estimation is occurring.
In these cases, such state information is held to be constant, while other portions of the state information remain variant. In one embodiment of the household signal model, the age, gender, income, and education levels of each individual within the household may be considered to be constant, as these values change over longer periods of time and the DSTB
estimation occurs over a period of a few weeks. However, the current watching status of the household regime information change over relatively short time frames, and as a result these states are left to vary in the estimation problem. We shall denote the invariant portion of the signal as X and the variant portion of the signal as X. There are N possible invariant states (the i`h such state donated by x9 and Mi possible variant states for the i`h invariant state (the j`h state denoted by 2.5.2 REST Finite State Space System Overview Fig. 2 depicts one preferred embodiment of the REST filter in a finite state space environment. REST is composed of a collection of invariant state cells, each of which represents one possible collection of targets and regimes for the signal along with their invariant state properties. Each invariant cell contains a collection of variant state cells, each representing the possible time-variant states of the given invariant cell.
Implicitly, the variant cells contain the invariant state information of their parent invariant cell, meaning each variant cell represents a particular potential state of the signal. The invariant cells themselves represent an aggregate container object only and are used for convenience purposes. The collections of variant and invariant cells may be stored on a computer medium in the form of arrays, vectors, list or queues. Cells which have no particle count at a given time t may be removed from such containers to reduce space and computational requirements, although a mechanism is reinsert such cells at a later date is then necessary.
As shown in Fig. 3, each variant state sell contains a particle count n=''.
This particle count represents the discretized amplitude of that cell. As noted previously, this amplitude is used to calculate the conditional probability of a given state. Each variant state cell also contains a set of imaginary clocks ~`c''`~. These imaginary clocks represent the possible state changes from the given state cell. For each variant state cell there are Qij possible state transitions. In this environment, all valid state transactions occur within the same invariant state cell. To account for simultaneous changes in the conditional distribution of the REST
filter, temporary counter entitled particle count entitled particle count delta A~'~ is used to store the number of particles that will be added or removed from the give variant state cell once the sequential processing of all cells is completed. Cells which have a valid state transition from the variant state cell with state jPt'' are said to be neighbors of that cell.
As mentioned above, the invariant state cells are containers used to simplify the processing of information. Each invariant state cell's particle count t is an aggregate to its child variant state cell particle counts. Similarly the invariant state cell's imaginary time clock is an aggregation of all clocks from the variant cells. This aggregation facilitates the filter's evolution, as invariant states which have no current particle count can be skipped at various stages of processing.
2.5.3 REST Filter Evolution Fig. 4 depicts the typical evolution of the REST filter. This evolution method updates the conditional distribution of the filter over some time period dt by transferring particles between neighboring cells using the imaginary clock values. The movement of a particle between neighboring cells is know as an event. (Well, we often replace the movement of particles with extra births and deaths to allow more rate cancellation to occur.) Such events are simulated en masse to reduce the computational overhead of the evolution.
The number of events to simulate is based on the total imaginary clock sum At for all cells. Fig. 5 shows the method that determines how may particles move to each neighbor. When the simulation of events is complete, the particle counts can be update and the imaginary clocks are sealed back to represent the change in the state of the filter.
Compared to the previous method described in U.S. Patent No. 7,188,048, additional steps have been added to improve the effectiveness of the filter.
Specifically, an adjustment to the cell particle counts now occurs prior to the push down observations method, and a draft back routine has been added prior to particle control. In certain problems, some states may have no possibility of being the current signal state based on observation information.
For instance, a household must have a least one member current watching if a channel change is recorded. In these circumstances, the particles in all invalid states must be invuTid redistributed to proportionately to valid states. Thus, if there are nt particles to irtvalid L tiI J
E In, redistribute, then all valid variant state cells will receive +J particles, and will -i "I
receive an additional particle with probability ~ n ~ n` . When this type of observation-based adjustment is used, it is likely that the rates governing the evolution of the signal must be appropriately altered to coincide with the use of observation data in this manner.
To improve the robustness of the REST filter, a drift back method has been added.
This method uses some function f (~ '3fit) to add ~~~ ~ particles to variant state cells based on the initial distribution v of the signal. The number of particles to add to each cell depends on time, the given cell, and the overall state of the filter. This method ensures that the filter does not converge to one or more invariant states without the ability to recover from an incorrect localization.
2.6 Head End Estimations In order to maximize the profitability of multiple service operators' advertising operations, the determination of which commercials to distribute to a collections DSTBS is critical. As more information is available about the actual viewership of commercials based on the conditional distributions (or conditional estimates derived thereof) of a DSTB-based asymptotically optimal nonlinear filter, the pricing of specific commercial slots can be more dynamix, thus improving overall profits.
To capitalize upon this potential, an estimation of the aggregate households that includes such things as the number of people within each demographics) is performed at the Head End based on a random sampling of conditional DSTB estimates. The following model contains a prefer embodiment of the 2.6.1 Head End Signal Model The Head End signal model consists of pertinent trait information of potential and current television viewers that have DSTB boxes connected to a particular Head End. A state space S is defined that represents such a collection of traits for a single individual. In one embodiment of the invention, this space could be made up of age ranges, gender, and recent viewing history for an individual. To keep track of individuals, we let Co -0 be the household type of no individuals and C' be the collection of household types with n individuals Cn {((sl, nl)e =..fi (sf, n,)) : ~~ E S and disttrct, n, + n2 + .... + n,. =
n } .
~+n The collection of households would then be the union ~ of the households with n people in them. Realistically, there would be a largest household N that we could handle and N
ft we set the household state space to be ~"=0 ~ , where N is some large number.
To process the estimate transferred back from the DSTBs through the random sample mechanism, we also want to track the current channel for each DSTB. This means that each DSTB state; including potential household viewership, watching status, and current channel;
is taken from D : E x f 1, 2, .,.,M}, where there is M possible channels that the DSTB could be turned to.
We are not worried about a single DSTB nor even which DSTBS are in a particular state but rather with how many DSTBs are in state d E D. Therefore, we let the signal X
to be tracked to a finite counting measure, counting the number of DSTBs in each category dE D.
In an embodiment of the invention, it is possible to track an aggregate the possible number of DSTBs in each category to minimize the computational requirements.
In such a case, atoms of size o are used so that the total will still sum to the maximum number of DSTBs. For example, suppose that there are 1 million DSTBs. Then, we would have 100,000 atoms (consisting of a= 10 DSTBs each) distributed over D. Suppose M(D) denotes the counting measure on D andM(D) denotes the subset of M(D) that has exactly 100,000 atoms. The signal will evolve mathematically according to a martingale problem t ,~(~`t) = f (,~~) + L,'(.~s)ds -~-.ft(f), fo where t is a martingale for each continuous, bounded functional f on ilt(D) and L is some operator that would be determined largely from the DSTB rates and the natural assumption that the household act independently.
Any household that provide their demographics in exposed mode are not considered to be part of the signal.
2.6.2 Head End Observation Models Herein we describe two observation models: one for the random sampling of DSTBs and one for delivery statistics.
For the random sample observation model, we consider the channel and viewership by letting X be our signal as in the previous section, and let Vk denote the random selection at time tk in the sampling process. To be precise, suppose that there are M DSTBs for a particular Head End and recall that a DSTB that believes at least one person is currently watching will supply a sample with a fixed probability of five percent. Then, Vk would be a matrix with a random number of rows, each row consisting of M entries with exactly one nonzero entry corresponding to the index of the particular DSTB, which has provided a sample. The number rows would be the number of DSTBs providing a sample. The locations of the nonzero entries are naturally distinct over the rows and would be chosen uniformly over the possible permutations to reflect the actual sampling taken.
Now, we let ( t" U'`) be the (column) vectors of the M DSTB's conditional distribution viewership estimates and corresponding channel both at time tk.
Then, this observation process would be ol ~ ~ h4vk - (Pk, Uk. ).
Here, the Vk would do the random selection and the h would be a function providing the information that is chosen to be fed back.
For the aggregated ad delivery statistics model, we have time-indexed sequences of functions Hkj that provide a count of the various ads delivered previously at time tk - tj.
There would be a small amount of noise Wkj due to the fact that some DSTBs may not return any information due to temporary malfunction (i.e. a`missed observation'), and due to the fact that the estimated viewership used to determine a successful delivery is not guaranteed to be correct.
The second observation information from the aggregated delivery statistics would be .., t = Hk4] (~t,tx 1 Wkj)' ~~
Here, j ranges back over the spot segments in the reporting periods and tk is the reporting period time.
2.6.3 Head End Filter The signal for the Head End becomes the probability distributions from the DSTB's.
2.7 Head End Commercial Selection In certain embodiments of the invention, other information may be available which also can be used to perform the aggregate viewership estimation. For example, aggregate (and possibly delayed) ad delivery statistics can also provide inferences in the estimated viewership of DSTBs, as well as any 'exposed mode' information whereby households opt to provide their state information (demographics, psychographics, etc.) in exchange for some compensation.
In this setting, commercial contract is modeled as a graph of incremental profit in terms of the contract details, available resources and future signal state. We call these graphs contract graphs which arrive with rates that depend upon the contract details, signal state and economic environments. Some of the contract details include:
Number of times commercial is to be shown (could contain minimum and maximum thresholds), likely in thousands;
Time range for time of day/week that commercial is to be shown;
The Target demographic(s) for the commercial;
Particular channels or programs that the commercial is to be shown on;
Customer that wrote the contract, some of which may be optional.
The random arrival of the contract graphs is denoted as the contract graph process.
Furthermore, an allotment of resources (that need not be maximum allotable to any contract) to a contract graph process is called a feasible selection if, given the state (present and future) and the environment, the allotted resources do not exceed the available resources, i.e. the available commercial spots over the various categories. Now, due to the fact that these limited resource become depleted as one accepts contracts, current versus future potential profits a modeled through a utility function. This utility function takes the stream of contract graphs available (both presently and with future random arrivals) and returns a number indicating profit in terms of dollar or some other form to satisfaction. Due to the random future behavior of contract graphs, the utility function cannot simply provide maximum profits without taking into account deviation from the expected profit to ensure the maximization does not allow significant risk of poor profit.
To perform optimal commercial selection, the following models need to be defined described: Head End signal model, Head End observation model, contract generation model, and utility (profit) model.
2.7.1 Contract Model The commercial contracts that arise are modeled as a marked point process over the contract graphs. The rate of arrival for the contracts depends upon the previous contracts executed as well as external factors such as economic conditions..
Suppose that e denotes Lesbegue measure. Then, we let C denote the space of possible contract graphs with some topology on it, Ot, t 2' 01 denote the counting measure stochastic process for the arrival of contract graphs up until time t and ~
denote a Poisson measure over '~ x A 00) x 10' 00) with some mean measure u xt xt. Furthermore, we let A(G?`1t0,-0, t) be the rate (with respect to v) that a new contract will come with contract graph c (E C at time t when 77104 the records the arrival of contract graphs from time 0 up to but not including time t. Then, we model by the following stochastic differential equation ~lc(~) =nn (A) + f (~')(de ~c ~'v ~e d) for a1l A E ,~(C).
x(0,ca0) x ([-,c}
It is possible that the contract details noted above may be altered upon acceptance of a contract. As a result, the contract details are modeled to depend on extern.al environment which can evolve over time.
2.7.2 Utility Function Description To case notation, we let R(Ds) be the available resources, now and in the future, based upon the downloadable program information Ds at time s.
We will not be able to accept all contracts that arise and we have to make the decision whether to accept or reject a contract without looking into the future. We denote an admissible selection as a feasible selection such that each resource allocation decision does not use future contract or future observation information. In terms of the notation of the previous section, we suppose that nt represents the number of contracts that have arrived of the various types up to and including time t and take ~l, ~~~ , q)77(ds x dc)dq for each t > 07 fj~ f 0.t]
where Q represents the set of all potential customers and {l=, 01 is a selection process, i.e., allocates resources to each contract c. Then, is an admissible selection if I= "~ _R(I~&) for each s? 0 and ls does not use future contract nor observation information, i.e., is measurable with respect to a~~~,~, ~< sl, 1B~t } 6~~ , jC_ N. tk e s}} for each 0.
Now, 'yt-(') represents the profit obtained up to time t through admissible selection 1. To ease notation, we let A be the set of all such admissible selections.
The utility function J balances current profit with future profit and the change of obtaining very high profits on a particular contract with the risk of no or low profit. In order to ensure that we start off reasonably, we will deweight future profit in an exponential manner. Moreover, in order that we are not overly aggressive we will include a variance-like condition. One embodiment of the resulting utility function is J(X, 1) ...~ a-At [y~(I) - ~ (_Y, (1)) 2 dt}
for small constants Ar d> =0. Then, the goal of the commercial selection process is to maximize E IJ(X, i)J' over the I e A. Such a goal can be solved using one or more asymptotically optimal filters.
The foregoing description of the present invention has been presented for purposes of illustration and description. Furthermore, the description is not intended to limit the invention to the form disclosed herein. Consequently, variations and modifications commensurate with the above teachings, and skill and knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain best modes known of practicing the invention and to enable others skilled in the art to utilize the invention in such, or other embodiments and with various modifications required by the particular application(s) or use(s) of the present invention. It is intended that the appended claims be construed to include alternative embodiments to the extent permitted by the prior art.
Claims (32)
1. A method for use in targeting assets to users of user equipment devices in a communications network, comprising the steps of:
developing an observation model based on inputs by one or more users with respect to a user equipment device;
incorporating a signal reflective of at least a user composition of one or more users of said user equipment device with respect to time into said observation model;
estimating said user composition at a time of interest through an approximate conditional distribution of said signal given the measurement data; and using said estimated user composition in targeting an asset with respect to said user equipment device.
developing an observation model based on inputs by one or more users with respect to a user equipment device;
incorporating a signal reflective of at least a user composition of one or more users of said user equipment device with respect to time into said observation model;
estimating said user composition at a time of interest through an approximate conditional distribution of said signal given the measurement data; and using said estimated user composition in targeting an asset with respect to said user equipment device.
2. The method as set forth in Claim 1, wherein said inputs are a click stream of user inputs over time and said observation model models said click stream as a Markov chain.
3. The method as set forth in Claim 2, wherein said observation model takes into account programming related information for network content indicated by at least some of said inputs.
4. The method as set forth in Claim 3, further comprising the step of processing said Markov chain using a mathematical model wherein observations of said Markov chain may only transition to a subset of a full set of states, where said subset depends on a current state of said Markov chain.
5. The method as set forth in Claim 1, wherein said step of modeling comprises modeling said observation model as a Markov chain on a k step Markov chain..
6. The method as set forth in Claim 5, wherein the transition function for the observation Markov chain depends upon a position of the signal to estimate.
7. The method as set forth in Claim 1, wherein said signal is established as representing said user composition and a separate factor effecting said user inputs.
8. The method as set forth in Claim 1, wherein a model of said signal allows for representation of said user composition as including two or more users.
9. The method as set forth in Claim 1, wherein a model of said signal allows for representation of a change in said user composition.
10. The method as set forth in Claim 9, wherein said change is a change in a number of users associated with said user equipment device.
11. The method as set forth in Claim 1, wherein said step of modeling comprises defining a filter to obtain probabilistic estimates of said signal based on said observation model and measurement data.
12. The method as set forth in Claim 11, wherein said step of modeling comprises defining a non-linear filter to obtain probabilistic estimates of said signal based on said observation model.
13. The method as set forth in Claim 12, wherein said step of modeling further comprises establishing an approximation filter for approximating operation of said non-linear filter.
14. The method as set forth in Claim 13, wherein said approximation filter is a particle filter.
15. The method as set forth in Claim 13, wherein said approximation filter is a discrete space filter.
16. The method as set forth in Claim 1, wherein said step of using comprises providing information based on said user composition to a network platform operative to insert assets into a content stream of said network.
17. The method as set forth in Claim 16, wherein said information identifies demographics of one or more users of said user equipment device.
18. The method as set forth in Claim 17, wherein said platform is operative to aggregate user composition information associated with multiple user equipment devise and to select one or more assets for insertion based on said aggregated information.
19. The method as set forth in Claim 16, wherein said platform is operative to process information from multiple user equipment devices as an observation model and to apply a filter with respect to said observation model to estimate a composite composition of a network audience at said time of interest.
20. The method as set forth in Claim 17, wherein said platform is operative to select assets for insertion based on said composite composition and additional information affecting a delivery value of particular assets.
21. The method as set forth in Claim 16, wherein said information identifies one or more appropriate assets for delivery to said user equipment device based on said user composition.
22. The method as set forth in Claim 1, wherein said step of using comprises selecting, at said user equipment device, an asset for delivery to said one or more users.
23. The method as set forth in Claim 1, wherein said step of using comprises reporting a goodness of fit of an asset delivered at said user equipment device with respect to said one or more users.
24. An apparatus for use in targeting assets to users of user equipment devices in a communications network, comprising:
a port operative for receiving input information regarding inputs by one or more users with respect to a user equipment device; and a processor operative for providing an observation model based on said inputs, modeling the observation model as dependent upon a signal reflective of at least a user composition of one or more users of said user equipment device with respect to time, determining the user composition at a time of interest as a state of the signal, and using the determined user composition in targeting an asset with respect to the user equipment device.
a port operative for receiving input information regarding inputs by one or more users with respect to a user equipment device; and a processor operative for providing an observation model based on said inputs, modeling the observation model as dependent upon a signal reflective of at least a user composition of one or more users of said user equipment device with respect to time, determining the user composition at a time of interest as a state of the signal, and using the determined user composition in targeting an asset with respect to the user equipment device.
25. The apparatus as set forth in Claim 24, wherein said processor is operative for defining a non-linear filter to obtain estimates of said signal based on said observation model and measurement data.
26. The apparatus as set forth in Claim 25, wherein said processor is operative for establishing an approximation filter for approximating operation of said non-linear filter.
27. The apparatus as set forth in Claim 26, wherein said non-linear filter is one of a particle filter and a discrete space filter.
28. The apparatus as set forth in Claim 24, further comprising a port for transmitting information for use in targeting assets to a separate network platform, wherein said information is based on said determined user composition.
29. A method for use in targeting assets in a broadcast network, comprising the steps of:
collectively analyzing a stream of data corresponding to a series of user inputs; and applying logic for matching a pattern described by that stream to a characteristic associated with an audience classification of a user.
collectively analyzing a stream of data corresponding to a series of user inputs; and applying logic for matching a pattern described by that stream to a characteristic associated with an audience classification of a user.
30. The method as set forth in Claim 29, wherein said step of collectively analyzing comprises establishing an observation model wherein said series of user inputs are modeled as a Markov chain.
31. The method as set forth in Claim 29, wherein said step of applying logic comprises using a non-linear filter model to extract signal estimates and distributions from said series of user inputs and using said signal to obtain said characteristic.
32. The method as set forth in Claim 29, wherein said step of applying logic comprises executing an approximation filter to approximate operation of said non-linear filter.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74624406P | 2006-05-02 | 2006-05-02 | |
US60/746,244 | 2006-05-02 | ||
PCT/US2007/068075 WO2007131068A2 (en) | 2006-05-02 | 2007-05-02 | Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2651165A1 true CA2651165A1 (en) | 2007-11-15 |
CA2651165C CA2651165C (en) | 2014-02-04 |
Family
ID=38668530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2651165A Active CA2651165C (en) | 2006-05-02 | 2007-05-02 | Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2016766A4 (en) |
JP (1) | JP5172826B2 (en) |
CN (1) | CN101473647A (en) |
AU (1) | AU2007247995B2 (en) |
CA (1) | CA2651165C (en) |
WO (1) | WO2007131068A2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541877B (en) * | 2010-12-07 | 2014-10-22 | 腾讯科技(北京)有限公司 | Image-text information issuing method and system |
US8761658B2 (en) | 2011-01-31 | 2014-06-24 | FastTrack Technologies Inc. | System and method for a computerized learning system |
US8863166B2 (en) * | 2011-04-06 | 2014-10-14 | Rentrak Corporation | Method and system for detecting non-powered video playback devices |
WO2014031910A1 (en) * | 2012-08-22 | 2014-02-27 | Rentrak Corporation | Systems and methods for projecting viewership data |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1223757B1 (en) * | 2001-01-09 | 2006-03-22 | Metabyte Networks, Inc. | System, method, and software application for targeted advertising via behavioral model clustering, and preference programming based on behavioral model clusters |
US7424409B2 (en) * | 2001-02-20 | 2008-09-09 | Context-Based 4 Casting (C-B4) Ltd. | Stochastic modeling of time distributed sequences |
US7818206B2 (en) | 2001-10-29 | 2010-10-19 | Teradata Us, Inc. | System and method for profiling different users having a common computer identifier |
US20030126601A1 (en) * | 2001-12-31 | 2003-07-03 | Koninklijke Philips Electronics N.V. | Visualization of entertainment content |
US8245251B2 (en) * | 2002-12-06 | 2012-08-14 | General Instrument Corporation | Method and apparatus for predictive tuning in digital content receivers |
US20040172650A1 (en) * | 2003-02-28 | 2004-09-02 | Hawkins William J. | Targeted content delivery system in an interactive television network |
US7188048B2 (en) * | 2003-06-25 | 2007-03-06 | Lockheed Martin Corporation | Refining stochastic grid filter |
-
2007
- 2007-05-02 AU AU2007247995A patent/AU2007247995B2/en active Active
- 2007-05-02 CA CA2651165A patent/CA2651165C/en active Active
- 2007-05-02 JP JP2009510062A patent/JP5172826B2/en active Active
- 2007-05-02 EP EP07797322A patent/EP2016766A4/en not_active Withdrawn
- 2007-05-02 WO PCT/US2007/068075 patent/WO2007131068A2/en active Application Filing
- 2007-05-02 CN CNA200780023082XA patent/CN101473647A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2007247995A1 (en) | 2007-11-15 |
EP2016766A4 (en) | 2012-03-28 |
EP2016766A2 (en) | 2009-01-21 |
WO2007131068A2 (en) | 2007-11-15 |
WO2007131068A3 (en) | 2008-09-25 |
CN101473647A (en) | 2009-07-01 |
WO2007131068A9 (en) | 2008-02-28 |
JP2009536412A (en) | 2009-10-08 |
AU2007247995B2 (en) | 2012-03-15 |
JP5172826B2 (en) | 2013-03-27 |
CA2651165C (en) | 2014-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120204204A1 (en) | Method and Appartus to Perform Real-Time Audience Estimation and Commercial Selection Suitable for Targeted Advertising | |
US9693086B2 (en) | Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising | |
US10939166B2 (en) | Optimization of broadcast event effectiveness | |
US7698236B2 (en) | Fuzzy logic based viewer identification for targeted asset delivery system | |
CN108476334B (en) | Cross-screen optimization of advertisement placement | |
KR102193392B1 (en) | Methods and apparatus to compensate impression data for misattribution and/or non-coverage by a database proprietor | |
US20090055268A1 (en) | System and method for auctioning targeted advertisement placement for video audiences | |
EP2133836A2 (en) | Analyzing return on investment of advertising campaigns using cross-correlation of multiple data sources | |
US20130006706A1 (en) | Using consumer purchase behavior for television targeting | |
WO2013106042A2 (en) | Estimating demographic compositions of television audiences | |
CN103297814A (en) | Television viewing rate assessment method and system based on internet protocol television (IPTV) | |
Byrne | Testing models of differentiated products markets: Consolidation in the cable tv industry | |
CN111429054A (en) | Product inventory prompting method, device, equipment and storage medium | |
AU2007247995B2 (en) | Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising | |
CN111031339A (en) | Live video processing method and device | |
CN116934389B (en) | Digital television value ticket card management system based on cloud computing and cross-platform technology | |
US20230110511A1 (en) | System and method for individualized exposure estimation in linear media advertising for cross platform audience management and other applications | |
WO2022133156A1 (en) | Assessment and performance system for content distribution across multiple channels | |
CN115269999A (en) | Content recommendation method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request |