Patent Publication Number: US-2022215427-A1

Title: Systems and methods for debiasing media creative efficiency

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S) 
     This application is a continuation of, and claims a benefit of priority under 35 U.S.C. 120 of, U.S. patent application Ser. No. 16/360,456 filed Mar. 21, 2019, entitled “SYSTEMS AND METHODS FOR DEBIASING MEDIA CREATIVE EFFICIENCY,” which claims a benefit of priority under 35 U.S.C. § 119(e) from the filing date of U.S. Provisional Application No. 62/647,402, filed on Mar. 23, 2018, entitled “SYSTEMS AND METHODS FOR DEBIASING MEDIA CREATIVE EFFICIENCY,” which are hereby incorporated herein for all purposes. 
    
    
     TECHNICAL FIELD 
     This disclosure relates generally to data processing for performance analysis. More particularly, this disclosure relates to systems, methods, and computer program products for debiasing media creative efficiency. 
     BACKGROUND OF THE RELATED ART 
     With the advent of the Internet, many aspects of modern life are now digitally connected through the seemingly ubiquitous smart phones, smart televisions (TV), smart home appliances, Internet of Things (IoT) devices, websites, mobile apps, etc. Even so, many more analog aspects remain disconnected from this digital world. Linear TV is an example of an offline medium that is disconnected from the digital world. 
     “Linear TV” refers to real time (live) television services that transmit TV program schedules. Almost all broadcast TV services can be considered as linear TV. Non-linear TV covers streamlining and on-demand programming, which can be viewed at any time and is not constrained by real-time broadcast schedules. Video-on-demand (VOD) and near video-on-demand (NVOD) transmissions of pay-per-view programs over channel feeds are examples of non-linear TV. 
     Because linear TV is an offline medium, it is not possible to automatically collect information on viewers of linear TV. This creates a data gap problem. To address this data gap program, Nielsen Media Research, an American firm headquartered in New York, N.Y., U.S.A., devised a ratings system, known as the Nielsen ratings, to determine the audience size and composition of television programming in the United States. This determination is based on audience response to TV programs gathered in one of two ways—using viewer diaries or set meters attached to TVs in selected homes. The former requires a target audience self-record their viewing habits. The latter requires a special device to collect specific viewing habits on a minute to minute basis and send the collected information to Nielsen&#39;s ratings system over a phone line. Today, Nielsen&#39;s ratings system is the primary source of audience measurement information in the television industry. Television networks rely heavily on the Nielsen ratings to decide the value of television shows. 
     While Nielsen&#39;s ratings system can provide some quantified measures of audience response to TV programs, the Nielsen ratings do not measure conversion rates for TV commercials. Accordingly, a typical approach for evaluating the performance of a TV commercial is to define the efficiency (E) of that TV commercial as Response per Amount Spent where E is defined as E=100*lift/(ad spend). In this case, “lift” is a quality metric for measuring a TV commercial in the context of a particular type of campaign—in this case, for measuring how much increase (lift) per $100 ad spend. This approach is generally independent to where and when the TV commercial aired on television networks. 
     SUMMARY OF THE DISCLOSURE 
     The approach described above can be troublesome in some cases. For instance, a media creative (which refers to content created for a particular purpose or campaign) can be aired in multiple ad spots, on different television networks (hereinafter “networks”), at different times, under different cost structures. Because linear TV is an offline medium, it is not possible to build an actual rigorous test/design framework that eliminates biases based on digital evidence collected from TV viewers and TV networks. Thus, if the level of efficiency of a media creative (referred to herein as “media creative efficiency”) is calculated using the same equation as a single ad spot (i.e., using the aggregated lift and aggregated ad spends), the performance of the media creative will be influenced by the performance of network, time, cost structure, and other factors. These influences represent biases in the data which could lead to a false conclusion. 
     An object of this disclosure is to provide a solution for debiasing such biases and producing a true media creative efficiency that more objectively quantifies the relative performance of a media creative over other media creatives across multiple networks. According to embodiments, this object can be realized in a quantification system having a media creative performance analyzer configured for debiasing media creative efficiency. 
     In some embodiments, the media creative performance analyzer leverages a weighted generalized linear model (GLM) to determine the individual impacts of media creatives beyond network effects. To prepare input data for fitting the weighted GLM, the media creative performance analyzer is operable to analyze spot airing data, create a data structure for storing observations (e.g., network-media creative combinations) suitable as input to the weight GLM, and compute additional inputs needed by the weighted GLM (e.g., network spend, media creative efficiency per network-media creative combination, etc.). The weighted GLM is then fitted to obtain a set of coefficients representing the individual impacts of the media creatives. The media creative performance analyzer is further operable to adjust the previously computed media creative efficiency for each media creative utilizing the computed individual impacts. In this way, relative performance of media creatives can be objectively quantified across networks without needing digital evidence. 
     In some embodiments, a method of debiasing media creative efficiency can include retrieving spot airing data from a database, the spot airing data comprising information on media creatives and networks on which the media creatives aired; determining, based on the spot airing data, a set of media creatives with overlapping networks on which the set of media creatives aired; computing a media creative efficiency for each media creative of the set of media creatives per each network of the overlapping networks; creating a data structure, each entry in the data structure representing a network-media creative combination derived from the set of media creatives and the overlapping networks; modifying the data structure to include a network spend for the each entry; computing a media creative efficiency for the each entry in the data structure; performing a weighted GLM fitting operation over the data structure to obtain impacts of the set of media creatives beyond effects of the overlapping networks; and adjusting the media creative efficiency for the each entry in the data structure utilizing the impacts of the set of media creatives to thereby debias the media creative efficiency for the each entry in the data structure. In some embodiments, categorical values associated with the overlapping networks and/or any factor (e.g., “rotation,” “times of day”, “geolocation”, etc.) under consideration by the media creative performance analyzer are transformed into numerical values prior to performing the weighted GLM fitting operation. 
     In some embodiments, the method may further comprise determining eligible media creatives for debiasing by creating a definition of nodes representing the media creatives in the spot airing data and edges representing the networks on which the media creatives aired; creating a definition of islands, each island representing a subgraph of the nodes connected directly or indirectly through the edges; determining whether any island is present in the media creatives; and responsive to an island being present in the media creatives, returning a set of nodes associated with the island as the set of media creatives. 
     In some embodiments, the method may further comprise automatically decoupling datasets in the spot airing data into non-overlapping clusters of groups of networks and media creatives and, for each cluster, performing the weighted GLM fitting operation to obtain individual impacts of media creatives and adjusting a media creative efficiency previously computed for each media creative in the cluster to thereby debias the media creative efficiency for the each media creative in the cluster. 
     In some embodiments, the method may further comprise generating a visualization for presentation on a user device, the visualization showing the relative performance of different media creatives across the non-overlapping clusters on a per cluster basis. In some embodiments, the visualization may be generated to show the relative performance of the media creatives in only one of the non-overlapping clusters (e.g., the largest cluster). In some embodiments, the visualization may be generated to show the relative performance of all the media creatives in the same campaign across multiple networks. 
     One embodiment may comprise a system having a processor and a memory and configured to implement the method disclosed herein. One embodiment may comprise a computer program product that comprises a non-transitory computer-readable storage medium which stores computer instructions that are executable by a processor to perform the method disclosed herein. Numerous other embodiments are also possible. 
     These, and other, aspects of the disclosure will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following description, while indicating various embodiments of the disclosure and numerous specific details thereof, is given by way of illustration and not of limitation. Many substitutions, modifications, additions and/or rearrangements may be made within the scope of the disclosure without departing from the spirit thereof, and the disclosure includes all such substitutions, modifications, additions and/or rearrangements. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The drawings accompanying and forming part of this specification are included to depict certain aspects of the disclosure. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale. A more complete understanding of the disclosure and the advantages thereof may be acquired by referring to the following description, taken in conjunction with the accompanying drawings in which like reference numbers indicate like features. 
         FIG. 1  depicts a diagrammatic representation of a quantification system residing on a network server communicatively connected to a variety of data sources according to some embodiments. 
         FIG. 2  depicts a diagrammatic representation of a quantification system operating in a network environment according to some embodiments. 
         FIG. 3  is a flow chart illustrating a method for debiasing media creative efficiency according to some embodiments. 
         FIG. 4A  is a flow chart illustrating a method for preparing input data for analysis according to some embodiments. 
         FIG. 4B  is a flow chart illustrating a method for handling special cases that may occur in the input data according to some embodiments. 
         FIG. 5  is a flow chart illustrating a method for converting impacts of media creatives to adjusted efficiency for each media creative according to some embodiments. 
         FIG. 6  depicts a diagrammatic representation of an example of a visualization of debiased media creative efficiencies according to some embodiments. 
         FIG. 7  depicts a diagrammatic representation of a data processing system for implementing a system according to some embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     The disclosure and various features and advantageous details thereof are explained more fully with reference to the exemplary, and therefore non-limiting, embodiments illustrated in the accompanying drawings and detailed in the following description. It should be understood, however, that the detailed description and the specific examples, while indicating the preferred embodiments, are given by way of illustration only and not by way of limitation. Descriptions of known programming techniques, computer software, hardware, operating platforms and protocols may be omitted so as not to unnecessarily obscure the disclosure in detail. Various substitutions, modifications, additions and/or rearrangements within the spirit and/or scope of the underlying inventive concept will become apparent to those skilled in the art from this disclosure. 
     As alluded to above, while Nielsen&#39;s ratings system can provide some quantified measures of audience response to TV programs, the Nielsen ratings do not measure conversion rates for TV commercials. This is, in part, because there is a natural distinction between online data and offline data. 
     As illustrated in  FIG. 1 , online data and offline data can come from very different data sources. Further, data aggregated and/or provided by these different data sources can have very different data types. When a TV commercial (which is an example of a media creative) is presented to an audience through an online medium (e.g., a website or a mobile application acting as an advertising channel), the online medium can be an effective tool for a server that is programmed to compute the performance efficiency of that TV commercial. This is because the audience (i.e., potential consumers of a product or service offered by the TV commercial) is already accessing the Internet through the website or the mobile application. When a user is attracted to or interested in the product or service and visits the website or uses the mobile application to access the product or service, there is a session associated with that advertising channel. Thus, whether such a session results in a sale (or conversion) is a relatively straightforward process that can be done through tracking the session at the website or the mobile application (e.g., using a tracking pixel embedded in a page or pages that sends data to a server computer hosting the website or one that is associated with an entity offering the product or service). 
     The offline medium (e.g., linear TV), on the other hand, aims to drive potential consumers first to the Internet and then to a website or application where a product or service is offered. Unlike the online medium, there is neither session tracking nor a direct relationship between the offline medium and the desired result. Without digital evidence collected from TV viewers and TV networks, it is not possible to directly assess the performance efficiency of a media creative. This disconnect makes it extremely difficult to truly measure the performance of a media creative. 
     As discussed above, an alternative approach is to define the efficiency (E) of a media creative under evaluation as a measure of lift relative to ad spend where E=100*lift/(ad spend). However, this approach assumes that the performance efficiencies of media creatives, which aired on different television networks, at different times, under different cost structures, are not affected by how, when, or how much they may differ from one another. This assumption could lead to a false conclusion. Table 1 below illustrates this scenario. 
     
       
         
           
               
               
               
             
               
                   
                 TABLE 1 
               
             
            
               
                   
                   
               
               
                   
                   
                 Average Lift Per Airing 
               
            
           
           
               
               
               
               
            
               
                   
                 Network 
                 CA 
                 CB 
               
               
                   
                   
               
            
           
           
               
               
               
               
            
               
                   
                 NA 
                 100 
                 120 
               
               
                   
                 NB 
                 50 
                 60 
               
               
                   
                 Efficiency 
                 9.5 
                 6.6 
               
               
                   
                   
               
            
           
         
       
     
     Table 1 shows two media creatives (CA, CB) aired on two TV networks (NA, NB). As an example, a “media creative” can refer to a file (e.g., a video, an audio, a multimedia file, etc.) that was created to convey a message and/or for a particular purpose. An “ad spot” or “spot” can refer to a media creative that airs at a particular time on a particular network. In this example, each media creative aired 10 times (10 spots). However, CA aired 9 times on NA and 1 time on NB, while CB aired 1 time on NA, and 9 times on NB. Suppose both NA and NB charges $1000 per airing. Using the standard approach where E=100*lift/(ad spend), the aggregated results are as follows: 
     
       
         
           
             
               Efficiency 
               ⁢ 
               
                   
               
               ⁢ 
               
                 ( 
                 
                   C 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   A 
                 
                 ) 
               
             
             = 
             
               
                 10 
                 ⁢ 
                 
                   0 
                   ⋆ 
                 
                 ⁢ 
                 
                   total_lift 
                   / 
                   total_spend 
                 
               
               = 
               
                 
                   10 
                   ⁢ 
                   
                     0 
                     ⋆ 
                   
                   ⁢ 
                   
                     
                       ( 
                       
                         
                           1 
                           ⁢ 
                           0 
                           ⁢ 
                           
                             0 
                             ⋆ 
                           
                           ⁢ 
                           9 
                         
                         + 
                         
                           5 
                           ⁢ 
                           
                             0 
                             ⋆ 
                           
                           ⁢ 
                           1 
                         
                       
                       ) 
                     
                     / 
                     
                       ( 
                       
                         1 
                         ⁢ 
                         
                           0 
                           ⋆ 
                         
                         ⁢ 
                         1 
                         ⁢ 
                         0 
                         ⁢ 
                         0 
                         ⁢ 
                         0 
                       
                       ) 
                     
                   
                 
                 = 
                 9.5 
               
             
           
         
       
       
         
           
             
               Efficiency 
               ⁢ 
               
                   
               
               ⁢ 
               
                 ( 
                 
                   C 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   B 
                 
                 ) 
               
             
             = 
             
               
                 10 
                 ⁢ 
                 
                   0 
                   ⋆ 
                 
                 ⁢ 
                 
                   total_lift 
                   / 
                   total_spend 
                 
               
               = 
               
                 
                   10 
                   ⁢ 
                   
                     0 
                     ⋆ 
                   
                   ⁢ 
                   
                     
                       ( 
                       
                         
                           1 
                           ⁢ 
                           2 
                           ⁢ 
                           
                             0 
                             ⋆ 
                           
                           ⁢ 
                           1 
                         
                         + 
                         
                           6 
                           ⁢ 
                           
                             0 
                             ⋆ 
                           
                           ⁢ 
                           9 
                         
                       
                       ) 
                     
                     / 
                     
                       ( 
                       
                         1 
                         ⁢ 
                         
                           0 
                           ⋆ 
                         
                         ⁢ 
                         1 
                         ⁢ 
                         0 
                         ⁢ 
                         0 
                         ⁢ 
                         0 
                       
                       ) 
                     
                   
                 
                 = 
                 
                   6 
                   . 
                   6 
                 
               
             
           
         
       
     
     The calculated results show that CB performed worse than CA (i.e., Efficiency (CB)&lt;Efficiency (CA)). This is because CB aired 90% times on NB and NB provides an average lift per airing that is lower than NA. However, as shown in Table 1, CB actually performs better than CA across any TV network. That is, the TV networks themselves are a factor that can skew the impact of the media creatives that they air, making it extremely difficult to calculate the true performance (e.g., efficiency and effectiveness) of these media creatives. 
     For an accurate comparison among media creatives, a new solution is needed to account for these differences (e.g., different TV networks, distribution of viewers, etc.) and eliminate biases that may falsely influence TV creative performance analyses. To this end, embodiments disclosed herein provide a solution that can quantitively debias possible biases in spot airing data and compute true media creative efficiency. 
     As exemplified in  FIG. 2 , in some embodiments, this solution can be realized in quantification system  250  operating in network environment  200 . Quantification system  250  can be communicatively connected to spot airing data providers  210   a  . . .  210   n  through analog communication channels (e.g., telephones, mail, couriers, etc.). Quantification system  250  can also be communicatively connected to spot airing data providers  210   a  . . .  210   n  over network  220  (e.g., Internet). Examples of spot airing data providers  210   a  . . .  210   n  can include TV networks, media agencies, third-party data providers such as a market research firm, etc. Quantification system  250  may be implemented on one or more server machines operated by a media performance analytics service provider. The media performance analytics service provider may purchase spots from TV networks to air media creatives. This relationship may provide quantification system  250  with access to ad spend information which, in turn, enables quantification system  250  to compute efficiency for each media creative per each network. Additionally or alternatively, spot airing data providers  210   a  . . .  210   n  can provide online data and/or offline data, as exemplified in  FIG. 1 . Examples of offline data can include spot airing logs (before and after spots have aired) and rates from TV networks, spot airing data, program schedules, program demographics, etc. 
     Spot airing data generally includes what and when spots aired and on what network. Often there is not a uniform format of spot airing data received or obtained from spot airing data providers  210   a  . . .  210   n . Quantification system  250  is operable to uniquely identify and store spot airing data per each instance of a spot airing on a particular network at a particular time in spot airing data database  260 . In one embodiment, quantification system  250  is operable to perform, where necessary, data cleansing operations such as deduplication, normalization, data format conversion, etc. 
     In the example of  FIG. 2 , quantification system  250  further includes media creative performance analyzer  280  and visualizer  270 . As described below, media creative performance analyzer  280  is configured for debiasing media creative efficiency so that a more accuracy media creative efficiency can be presented on, e.g., on client devices  230   a  . . .  230   n  through a user interface (UI) generated by visualizer  270 . 
       FIG. 3  is a flow chart illustrating a method for debiasing media creative efficiency. To remove biases from potential factors that may influence or otherwise affect the efficiency among media creatives, the media creative performance analyzer (e.g., media creative performance analyzer  280 ) implements a new framework which leverages the concept of a weighted generalized linear model (GLM). In statistics, the GLM is a flexible generalization of ordinary linear regression that allows for response variables that have error distribution models other than a normal distribution. The weighted GLM requires an input format that is very different from spot airing data obtained or received by the quantification system (e.g., quantification system  250 ). Accordingly, in some embodiments, the media creative performance analyzer first prepares input data to the weighted GLM ( 301 ). This preparation is further described below with reference to  FIGS. 4A and 4B . 
     As illustrated in  FIG. 4A , preparing input data for analysis can include accessing a spot airing data database (e.g., spot airing data database  260 ) and retrieving media creative data sets from the spot airing data database ( 401 ). As discussed above, each data set can correspond to a spot of a media creative and can include an ad spot identifier (ID), a media creative ID, a time when the spot was aired, on what network the spot was aired, how much the network charged for its airing (“spend”), etc. 
     In some embodiments, the media creative performance analyzer can include a function for automatically checking and handling decoupled scenarios. In this case, “decoupled” refers to the delineation that seems to divide the media creative data sets. Table 2 below illustrates an example of a decoupled scenario. In the example of Table 2, five media creatives CA-CE aired on five networks NA-NE. These media creatives were created for the same purpose (e.g., for the same TV campaign) and are meant to convey the same message. 
     
       
         
           
               
               
               
               
               
               
               
             
               
                   
                 TABLE 2 
               
               
                   
                   
               
               
                   
                 Media Creative/ 
                   
                   
                   
                   
                   
               
               
                   
                 Network 
                 CA 
                 CB 
                 CC 
                 CD 
                 CE 
               
               
                   
                   
               
             
            
               
                   
                 NA 
                 $10K 
                 $3K 
                 0 
                 0 
                 0 
               
               
                   
                 NB 
                 0 
                 $5K 
                  $4K 
                 0 
                 0 
               
               
                   
                 NC 
                 $12K 
                 0 
                 $10K 
                 0 
                 0 
               
               
                   
                 ND 
                 0 
                 0 
                 0 
                 $11K 
                 $8K 
               
               
                   
                 NE 
                 0 
                 0 
                 0 
                  $7K 
                 $7K 
               
               
                   
                   
               
            
           
         
       
     
     From Table 2, it can be seen that not all media creatives were aired on each network. In fact, the media creatives and the networks can be generally partitioned along ad spend, as shown in Table 3 below. 

 
     As a result, a cluster of a group of media creatives (CA-CC) and a group of networks (NA-NC) seems to be separable from another cluster of a different group of media creatives (CD-CE) and a different group of networks (ND-NE). These two clusters have no overlapping networks and/or media creatives in common and thus are considered “decoupled” from one another. 
     This lack of overlapping network spend between the two decoupled clusters can affect the ability of the media creative performance analyzer to compare relative efficiencies between them. One reason is because the media creative performance analyzer focuses on identifying relative performance on overlapping networks. Accordingly, in some embodiments, the media creative performance analyzer is operable to automatically identify possible decoupled scenarios in the media creative data sets. This can entail determining media creatives that aired on overlapping networks (and thus have network spend values that can be compared) ( 403 ). If no overlapping networks could be found in the media creative data sets retrieved from the spot airing data database ( 405 ), the media creative performance analyzer may terminate the process (and/or proceed to process the next set of media creative data sets created for another TV campaign) or proceed to  FIG. 4B . 
     If media creatives with overlapping networks can be found, the media creative performance analyzer is operable to determine the efficiency (E) for each media creative per Network ( 407 ). In some embodiments, the media creative performance analyzer is operable to create a data structure for storing network-creative combinations ( 409 ). In some embodiments, this data structure, which can be created at any appropriate time, is particularly structured for input to a weighted GLM. Before describing this data structure, an example of networks and media creatives under consideration by the media creative performance analyzer at this time may be helpful. 
     In the example of Table 4, media creative CA aired on network NA once and creative CB aired once on network NA and once on network NB. Here, “network” is the only potential factor. However, it can be generalized to include any potential factors such as “rotation”, “times of day”, “geolocation”, etc. 
     
       
         
           
               
               
               
               
               
             
               
                 TABLE 4 
               
               
                   
               
               
                 Ad spot ID 
                 Creative ID 
                 Network 
                 Spend 
                 Lift 
               
               
                   
               
             
            
               
                 1 
                 CA 
                 NA 
                 100 
                  50 
               
               
                 2 
                 CB 
                 NA 
                 100 
                  40 
               
               
                 3 
                 CB 
                 NB 
                 200 
                 100 
               
               
                   
               
            
           
         
       
     
     Using the sample networks and media creatives from Table 4, an example of a new data structure can be created as shown in Table 5 below: 
     
       
         
           
               
               
               
             
               
                   
                 TABLE 5 
               
               
                   
                   
               
               
                   
                 Media Creative 
                 Network 
               
               
                   
                   
               
             
            
               
                   
                 CA 
                 NA 
               
               
                   
                 CA 
                 NB 
               
               
                   
                 CB 
                 NA 
               
               
                   
                 CB 
                 NB 
               
               
                   
                   
               
            
           
         
       
     
     In some embodiments, this new data structure is specifically created for input to the weighted GLM. In some embodiments, each entry in the data structure represents an observation that is a combination of a network (and/or any factor under consideration) and a media creative (which, in this example, is referred to as a network-media creative combination). 
     The data structure is then modified to include a column for representing the ad spend per each network-creative combination ( 411 ). This is exemplified in Table 6 below. 
     
       
         
           
               
               
               
             
               
                 TABLE 6 
               
               
                   
               
               
                 Media Creative 
                 Network 
                 Spend 
               
               
                   
               
             
            
               
                 CA 
                 NA 
                 . . . 
               
               
                 CA 
                 NB 
                 . . . 
               
               
                 CB 
                 NA 
                 . . . 
               
               
                 CB 
                 NB 
                 . . . 
               
               
                   
               
            
           
         
       
     
     Based on the ad spend per network-media creative combination, the media creative performance analyzer is operable to compute an efficiency for each network-media creative-ad spend combination ( 413 ). In some embodiments, with sufficient samples, a network-media creative combination with a “spend” value less than $250 is not considered. 
     The media creative performance analyzer is further operable to update the data structure to include the computed efficiency for each network-media creative-ad spend combination. This is exemplified in Table 7 below. 
     
       
         
           
               
               
               
               
               
             
               
                   
                 TABLE 7 
               
               
                   
                   
               
               
                   
                 Media Creative 
                 Network 
                 Efficiency 
                 Spend 
               
               
                   
                   
               
             
            
               
                   
                 CA 
                 NA 
                 . . . 
                 . . . 
               
               
                   
                 CA 
                 NB 
                 . . . 
                 . . . 
               
               
                   
                 CB 
                 NA 
                 . . . 
                 . . . 
               
               
                   
                 CB 
                 NB 
                 . . . 
                 . . . 
               
               
                   
                   
               
            
           
         
       
     
     In this example, “network” is a factor being considered by the media creative performance analyzer for debiasing. To consider such a factor, which is categorical rather than numerical, the media creative performance analyzer is operable to transform the categorical values for the network factor (and any factor under consideration) to a numerical representation ( 415 ), for instance, using one-hot-encoding. 
     A one-hot-encoding is a representation of categorical variables (e.g., “creative” and “network”) as binary vectors. As an example, the categorical values can first be mapped to integer values (e.g., from char values to integer values). Then, each integer value is represented as a binary vector that is all zero values except the index of the integer, which is marked with a  1 . This integer encoding can then be converted to a one-hot-encoding of integer encoded values. OneHotEncoder is an example of a one-hot-encoding transformer. One-hot-encoding is known to those skilled in the art and thus is not further described herein. Other categorical-to-numerical transformers may also be used. 
     Once the data structure storing the input data (e.g., Table 7) is ready for consumption by the weighted GLM, the media creative performance analyzer is operable to perform a weighted GLM fitting operation to obtain the impacts of these media creatives beyond the effects of the factors (e.g., the networks) ( 305 ). Here, an objective is to model the expected value of a continuous variable, Y, as a linear function of the continuous predictor, X. To achieve this objective, the weighted GLM is fitted for Y˜X, where X is the set of indicators (factors) for networks and creatives, and the weights w represent the dollars spent per network-media creative combination, holding everything else constant. In this way, the weighted GLM can quantify the impact of ad spend on a particular network and the impact of ad spend on a particular media creative. 
     The concept behind the weighted GLM is to solve for the parameters that minimize the errors using the Ordinary Least Squares (OLS) methodology. Typically, OLS results in equation 1.1 as follows. 
     
       
         
           
             
               
                 
                   y 
                   = 
                   
                     
                       Xβ 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       is 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       solved 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       as 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       β 
                     
                     = 
                     
                       
                         
                           ( 
                           
                             
                               X 
                               ′ 
                             
                             ⁢ 
                             X 
                           
                           ) 
                         
                         
                           - 
                           1 
                         
                       
                       ⁢ 
                       
                         X 
                         ′ 
                       
                       ⁢ 
                       y 
                     
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   [ 
                   1.1 
                   ] 
                 
               
             
           
         
       
     
     For the weighted GLM, the matrix algebra adjusts this equation and solves the OLS as follows: 
     
       
         
           
             
               
                 w 
                 ⁢ 
                 y 
               
               = 
               
                 w 
                 ⁢ 
                 X 
                 ⁢ 
                 β 
               
             
             , 
           
         
       
     
     where w is the weighting vector 
     Thus, a solution using matrix algebra provides the following: 
     
       
         
           
             
               
                 ( 
                 
                   
                     X 
                     ′ 
                   
                   ⁢ 
                   wX 
                 
                 ) 
               
               ⁢ 
               β 
             
             = 
             
               
                 
                   X 
                   ′ 
                 
                 ⁢ 
                 
                   
                     wy 
                     ⁢ 
                     
                       
 
                     
                     ( 
                     
                       
                         X 
                         ′ 
                       
                       ⁢ 
                       wX 
                     
                     ) 
                   
                   
                     - 
                     1 
                   
                 
                 ⁢ 
                 
                   ( 
                   
                     
                       X 
                       ′ 
                     
                     ⁢ 
                     wX 
                   
                   ) 
                 
                 ⁢ 
                 β 
               
               = 
               
                 
                   
                     ( 
                     
                       
                         X 
                         ′ 
                       
                       ⁢ 
                       wX 
                     
                     ) 
                   
                   
                     - 
                     1 
                   
                 
                 ⁢ 
                 
                   X 
                   ′ 
                 
                 ⁢ 
                 wy 
               
             
           
         
       
     
     and, as (X′wX) −1 (X′wX)=I, this results in equation 1.2 as follows: 
     
       
         
           
             
               
                 
                   β 
                   = 
                   
                     
                       
                         ( 
                         
                           
                             X 
                             ′ 
                           
                           ⁢ 
                           wX 
                         
                         ) 
                       
                       
                         - 
                         1 
                       
                     
                     ⁢ 
                     
                       X 
                       ′ 
                     
                     ⁢ 
                     wy 
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   [ 
                   1.2 
                   ] 
                 
               
             
           
         
       
     
     Fitting the weighted GLM over the input data prepared by the media creative performance analyzer produces coefficients on the media creatives under consideration in the form of betas (β). These coefficients reflect the impacts of the media creatives beyond network effects. 
     To debias and correct any difference caused by the “network” factor, each impact can then be utilized to adjust/correct the efficiency computed for each media creative ( 310 ). In some embodiments, with the coefficients from the weighted GLM fitting operation, each media creative&#39;s actual airing efficiency is converted into an adjusted efficiency based on a hypothetical airing of spots to ensure that the same distribution of network spend is used per media creative. In this way, the efficiencies of different media creatives will be comparable to each other. 
     In some embodiments, the media creative performance analyzer may determine how results from the media creative performance analysis should be visualized or otherwise presented on UIs ( 315 ). In some embodiments, the media creative performance analyzer may provide the results to a visualizer (e.g., visualizer  270 ) of the quantification system (e.g., quantification system  250 ) disclosed herein. In turn, the visualizer may operate to determine how the results should be presented to users. 
     For instance, as discussed above, in some cases, media creatives created for the same TV campaign may have no or not enough network overlaps ( 405 ). However, as illustrated in Table 3, it is possible that pockets or clusters of network-media creative combinations could be found in some subsets or “islands” of the media creative datasets under consideration ( 421 ). 
     In some embodiments, finding eligible media creatives for debiasing may include the following steps. First, a definition of nodes and edges is created. Nodes represent media creatives. Edges represent the networks on which the media creatives (nodes) are aired. Next, a definition of “islands” is created. In the concept of graphs, “islands” represent subgraphs where all the media creatives are connected directly or indirectly through other media creatives. Media creatives that are eligible for debiasing should belong to the same “island” (subgraph). Media creatives in different islands cannot be compared. Thus, debiasing can only be performed per island. 
     If such islands can be found, the datasets can be decoupled into non-overlapping clusters of groups of networks and media creatives ( 423 ). Within each cluster, the input data to the weighted GLM can be prepared ( 301 ), the weighted GLM can be fitted to obtain individual media creative impacts ( 305 ), and the computed media creative impacts can be utilized to adjust the media creative efficiency ( 310 ) as described above. As the number of networks increases and the number of creatives expands as well, the decoupling can be much more complex, with many different ‘islands’ of disparate network-media creative clusters. 
     These different scenarios can be visualized depending upon use case. For instance, instead of showing negative relative performance for media creatives having no or not enough network overlaps, a “not applicable” or “N/A” message can be displayed. As another example, the results can be visualized separately for each distinct cluster. An alternative embodiment might be to present results for the largest cluster (e.g., most spend). 
     Other visualization configurations may also be possible. For instance, a user may wish to utilize the media creative efficiency debiasing solution disclosed herein to make immediate, urgent decisions near real time (e.g., when a TV network has a fire sale of inventory spots). Such a user may be a representative of a media agency that produces media creatives or any entity that wishes to increase the efficiency and effectiveness of media creatives. As an example, the user may access a UI generated and provided by a visualizer (e.g., visualizer  270 ) of the quantification system (e.g., quantification system  250 ) disclosed herein. The visualizer may operate to compute the percentage of dollars spent per network over a time period.  FIG. 5  is a flow chart that illustrates this process. 
     In this example, for every network, i, there is an associated spend percentage, sp(i). Whatever time period the user has selected through the user interface on the user&#39;s device (e.g., client device  230   a ), the visualizer is operable to compute and present a distribution of network spend corresponding to that time period ( 501 ). 
     For instance, if a budget is spent on three TV networks, NA, NB, and NC, during a certain time period, the server computer is operable to compute the percentage of dollar spend for each TV network. Suppose, in this example, the distribution of network spend is as follows: sp(NA)=0.5, sp(NB)=0.32, sp(NC)=0.18. The media creative efficiency is computed under same spending distribution ( 505 ). Accordingly, the projected efficiency equation for a given time period becomes: 
     
       
         
           
             efficiency 
             = 
             
               
                 1.0 
                 × 
                 
                   β 
                   ⁡ 
                   
                     ( 
                     0 
                     ) 
                   
                 
               
               + 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   
                     N 
                     network 
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     β 
                     ⁡ 
                     
                       ( 
                       i 
                       ) 
                     
                   
                   × 
                   
                     sp 
                     ⁡ 
                     
                       ( 
                       i 
                       ) 
                     
                   
                 
               
               + 
               
                 
                   ∑ 
                   
                     j 
                     = 
                     
                       1 
                       + 
                       N 
                     
                   
                   
                     N 
                     + 
                     
                       m 
                       creative 
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     β 
                     ⁡ 
                     
                       ( 
                       j 
                       ) 
                     
                   
                   × 
                   
                     sp 
                     ⁡ 
                     
                       ( 
                       j 
                       ) 
                     
                   
                 
               
             
           
         
       
     
     Here, the spend percentage, sp(i), is plugged in for each of the networks and media creatives. Note that this is a no-interaction case for networks and media creatives only. This can be extended to additional factor(s) ( 510 ) such as rotations, with no-interaction, as follows: 
     
       
         
           
             efficiency 
             = 
             
               
                 1.0 
                 × 
                 
                   β 
                   ⁡ 
                   
                     ( 
                     0 
                     ) 
                   
                 
               
               + 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   
                     N 
                     
                       network 
                       - 
                       rotation 
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     β 
                     ⁡ 
                     
                       ( 
                       i 
                       ) 
                     
                   
                   × 
                   
                     sp 
                     ⁡ 
                     
                       ( 
                       i 
                       ) 
                     
                   
                 
               
               + 
               
                 
                   ∑ 
                   
                     j 
                     = 
                     
                       1 
                       + 
                       N 
                     
                   
                   
                     N 
                     + 
                     
                       m 
                       creative 
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     β 
                     ⁡ 
                     
                       ( 
                       j 
                       ) 
                     
                   
                   × 
                   
                     sp 
                     ⁡ 
                     
                       ( 
                       j 
                       ) 
                     
                   
                 
               
             
           
         
       
     
     In some embodiments, the methodology can be extended to rotations along with incorporation of interaction effects as follows: 
     
       
         
           
             efficiency 
             = 
             
               
                 1.0 
                 × 
                 
                   β 
                   ⁡ 
                   
                     ( 
                     0 
                     ) 
                   
                 
               
               + 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   
                     N 
                     
                       network 
                       - 
                       rotation 
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     β 
                     ⁡ 
                     
                       ( 
                       i 
                       ) 
                     
                   
                   × 
                   
                     sp 
                     ⁡ 
                     
                       ( 
                       i 
                       ) 
                     
                   
                 
               
               + 
               
                 
                   ∑ 
                   
                     j 
                     = 
                     
                       1 
                       + 
                       N 
                     
                   
                   
                     N 
                     + 
                     
                       m 
                       creative 
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     β 
                     ⁡ 
                     
                       ( 
                       j 
                       ) 
                     
                   
                   × 
                   
                     sp 
                     ⁡ 
                     
                       ( 
                       j 
                       ) 
                     
                   
                 
               
               + 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   
                     N 
                     
                       network 
                       - 
                       rotation 
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     ∑ 
                     
                       j 
                       = 
                       
                         1 
                         + 
                         N 
                       
                     
                     
                       N 
                       + 
                       
                         m 
                         creative 
                       
                     
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       β 
                       ⁡ 
                       
                         ( 
                         
                           i 
                           , 
                           j 
                         
                         ) 
                       
                     
                     × 
                     
                       sp 
                       ⁡ 
                       
                         ( 
                         
                           i 
                           , 
                           j 
                         
                         ) 
                       
                     
                   
                 
               
             
           
         
       
     
     Referring back to the no-interaction case for networks and media creatives only, the next step is to incorporate the network spend percentages in the input data and apply the weighted GLM to obtain each media creative efficiency ( 515 ). This can be done for creatives 1 . . . k where creative(k) is an indicator for the kth media creative. Thus, for two media creatives 1 and 2, their respective sp(i) can be incorporated in the weighted GLM to obtain the impact of the media creative with the computed spend distribution. 
     
       
         
           
             
               
                 
                   
                     
                       efficiency 
                       ⁡ 
                       
                         ( 
                         
                           creative 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           1 
                         
                         ) 
                       
                     
                     = 
                     
                       
                         1.0 
                         × 
                         
                           β 
                           ⁡ 
                           
                             ( 
                             0 
                             ) 
                           
                         
                       
                       + 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           
                             N 
                             network 
                           
                         
                         ⁢ 
                         
                           
                             β 
                             ⁡ 
                             
                               ( 
                               i 
                               ) 
                             
                           
                           × 
                           s 
                           ⁢ 
                           
                             p 
                             ⁡ 
                             
                               ( 
                               i 
                               ) 
                             
                           
                         
                       
                       + 
                       
                         
                           creative 
                           ⁡ 
                           
                             ( 
                             1 
                             ) 
                           
                         
                         × 
                         
                           β 
                           ⁡ 
                           
                             ( 
                             
                               N 
                               + 
                               1 
                             
                             ) 
                           
                         
                       
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       efficiency 
                       ⁡ 
                       
                         ( 
                         
                           creative 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           2 
                         
                         ) 
                       
                     
                     = 
                     
                       
                         1.0 
                         × 
                         
                           β 
                           ⁡ 
                           
                             ( 
                             0 
                             ) 
                           
                         
                       
                       + 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           
                             N 
                             network 
                           
                         
                         ⁢ 
                         
                           
                             β 
                             ⁡ 
                             
                               ( 
                               i 
                               ) 
                             
                           
                           × 
                           s 
                           ⁢ 
                           
                             p 
                             ⁡ 
                             
                               ( 
                               i 
                               ) 
                             
                           
                         
                       
                       + 
                       
                         
                           creative 
                           ⁡ 
                           
                             ( 
                             2 
                             ) 
                           
                         
                         × 
                         
                           β 
                           ⁡ 
                           
                             ( 
                             
                               N 
                               + 
                               2 
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
               
                 
                     
                 
               
             
           
         
       
     
     The above calculated media creative efficiency can then be adjusted and/or normalize to a media creative efficiency over a time period ( 520 ). Here, the total efficiency (efficiency tot ) is defined as the total lift for the time period divided by the total spend for that time period: 
     
       
         
           
             
               efficiency 
               
                 t 
                 ⁢ 
                 o 
                 ⁢ 
                 t 
               
             
             = 
             
               
                 lift 
                 
                   t 
                   ⁢ 
                   o 
                   ⁢ 
                   t 
                 
               
               / 
               
                 spend 
                 
                   t 
                   ⁢ 
                   o 
                   ⁢ 
                   t 
                 
               
             
           
         
       
     
     The overall efficiency can be calculated by summing up the weighted creative efficiencies. The percentage of network spend can then be determined for each media creative. 
     
       
         
           
             overalleffcalc 
             = 
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 
                   n 
                   creative 
                 
               
               ⁢ 
               
                 
                   efficiency 
                   ⁡ 
                   
                     ( 
                     
                       creative 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       k 
                     
                     ) 
                   
                 
                 × 
                 
                   sp 
                   ⁡ 
                   
                     ( 
                     k 
                     ) 
                   
                 
               
             
           
         
       
     
     This computation can be adjusted by the ratio of the total efficiency to the computed creative efficiency. This normalizes the value for the adjusted media creative efficiency. 
     
       
         
           
             
               
                 efficiency 
                 adj 
               
               ⁡ 
               
                 ( 
                 
                   creative 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   k 
                 
                 ) 
               
             
             = 
             
               
                 efficiency 
                 ⁡ 
                 
                   ( 
                   
                     creative 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     k 
                   
                   ) 
                 
               
               × 
               
                 ( 
                 
                   
                     efficiency 
                     tot 
                   
                   / 
                   overalleffcalc 
                 
                 ) 
               
             
           
         
       
     
     In this way, the relative performance of each media creative in the presence of differences in spend per network (and time aired or daypart) can be isolated and, in some cases, presented to users over a network. Because these computations can be performed on the fly based on a real time data feed, results from the computations can be provided to users in near real time to assist in urgent decision making processes, saving time while providing a visualization of possible outcomes from such decisions. Additionally, embodiments disclosed herein improve the granularity of offline performance analyses from the network level to the media creative level. 
       FIG. 6  depicts an example of UI  600  showing individual creative efficiencies with their relative performance indicators. In this example, each creative efficiency is represented by a numerical value that is computed by the media creative performance analyzer using the media creative debiasing methodology described above. This provides an accurate, unbiased, and quantified measure of effectiveness of each media creative in near real time, which is otherwise not possible for an offline medium. Historically, media agencies have no visibility on performance of creatives. Embodiments disclosed herein can bridge the data gap between the online world and the offline world, bringing offline processes into the real time decision making with accurate calculation. Another technical benefit provided by the detailed, creative level of performance analysis is that debiased creative efficiencies can be leveraged to optimize operations down to individual rotations of creatives based on the cost per sale for each of those. 
       FIG. 7  depicts a diagrammatic representation of a data processing system for implementing a system for processing messages. As shown in  FIG. 7 , data processing system  700  may include one or more central processing units (CPU) or processors  701  coupled to one or more user input/output (I/O) devices  702  and memory devices  703 . Examples of I/O devices  702  may include, but are not limited to, keyboards, displays, monitors, touch screens, printers, electronic pointing devices such as mice, trackballs, styluses, touch pads, or the like. Examples of memory devices  703  may include, but are not limited to, hard drives (HDs), magnetic disk drives, optical disk drives, magnetic cassettes, tape drives, flash memory cards, random access memories (RAMs), read-only memories (ROMs), smart cards, etc. Data processing system  700  can be coupled to display  706 , information device  707  and various peripheral devices (not shown), such as printers, plotters, speakers, etc. through I/O devices  702 . Data processing system  700  may also be coupled to external computers or other devices through network interface  704 , wireless transceiver  705 , or other means that is coupled to a network such as a local area network (LAN), wide area network (WAN), or the Internet. 
     Those skilled in the relevant art will appreciate that the invention can be implemented or practiced with other computer system configurations, including without limitation multi-processor systems, network devices, mini-computers, mainframe computers, data processors, and the like. The invention can be embodied in a computer or data processor that is specifically programmed, configured, or constructed to perform the functions described in detail herein. The invention can also be employed in distributed computing environments, where tasks or modules are performed by remote processing devices, which are linked through a communications network such as a LAN, WAN, and/or the Internet. In a distributed computing environment, program modules or subroutines may be located in both local and remote memory storage devices. These program modules or subroutines may, for example, be stored or distributed on computer-readable media, including magnetic and optically readable and removable computer discs, stored as firmware in chips, as well as distributed electronically over the Internet or over other networks (including wireless networks). Example chips may include Electrically Erasable Programmable Read-Only Memory (EEPROM) chips. Embodiments discussed herein can be implemented in suitable instructions that may reside on a non-transitory computer readable medium, hardware circuitry or the like, or any combination and that may be translatable by one or more server machines. Examples of a non-transitory computer readable medium are provided below in this disclosure. 
     ROM, RAM, and HD are computer memories for storing computer-executable instructions executable by the CPU or capable of being compiled or interpreted to be executable by the CPU. Suitable computer-executable instructions may reside on a computer readable medium (e.g., ROM, RAM, and/or HD), hardware circuitry or the like, or any combination thereof. Within this disclosure, the term “computer readable medium” is not limited to ROM, RAM, and HD and can include any type of data storage medium that can be read by a processor. Examples of computer-readable storage media can include, but are not limited to, volatile and non-volatile computer memories and storage devices such as random access memories, read-only memories, hard drives, data cartridges, direct access storage device arrays, magnetic tapes, floppy diskettes, flash memory drives, optical data storage devices, compact-disc read-only memories, and other appropriate computer memories and data storage devices. Thus, a computer-readable medium may refer to a data cartridge, a data backup magnetic tape, a floppy diskette, a flash memory drive, an optical data storage drive, a CD-ROM, ROM, RAM, HD, or the like. 
     The processes described herein may be implemented in suitable computer-executable instructions that may reside on a computer readable medium (for example, a disk, CD-ROM, a memory, etc.). Alternatively or additionally, the computer-executable instructions may be stored as software code components on a direct access storage device array, magnetic tape, floppy diskette, optical storage device, or other appropriate computer-readable medium or storage device. 
     Any suitable programming language can be used to implement the routines, methods, or programs of embodiments of the invention described herein, including Python. Other software/hardware/network architectures may be used. For example, the functions of the disclosed embodiments may be implemented on one computer or shared/distributed among two or more computers in or across a network. Communications between computers implementing embodiments can be accomplished using any electronic, optical, radio frequency signals, or other suitable methods and tools of communication in compliance with known network protocols. 
     Different programming techniques can be employed such as procedural or object oriented. Any particular routine can execute on a single computer processing device or multiple computer processing devices, a single computer processor or multiple computer processors. Data may be stored in a single storage medium or distributed through multiple storage mediums, and may reside in a single database or multiple databases (or other data storage techniques). Although the steps, operations, or computations may be presented in a specific order, this order may be changed in different embodiments. In some embodiments, to the extent multiple steps are shown as sequential in this specification, some combination of such steps in alternative embodiments may be performed at the same time. The sequence of operations described herein can be interrupted, suspended, or otherwise controlled by another process, such as an operating system, kernel, etc. The routines can operate in an operating system environment or as stand-alone routines. Functions, routines, methods, steps, and operations described herein can be performed in hardware, software, firmware, or any combination thereof. 
     Embodiments described herein can be implemented in the form of control logic in software or hardware or a combination of both. The control logic may be stored in an information storage medium, such as a computer-readable medium, as a plurality of instructions adapted to direct an information processing device to perform a set of steps disclosed in the various embodiments. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will appreciate other ways and/or methods to implement the invention. 
     It is also within the spirit and scope of the invention to implement in software programming or code any of the steps, operations, methods, routines or portions thereof described herein, where such software programming or code can be stored in a computer-readable medium and can be operated on by a processor to permit a computer to perform any of the steps, operations, methods, routines or portions thereof described herein. The invention may be implemented by using software programming or code in one or more digital computers, by using application specific integrated circuits, programmable logic devices, field programmable gate arrays, optical, chemical, biological, quantum or nanoengineered systems, components and mechanisms may be used. The functions of the invention can be achieved in many ways. For example, distributed or networked systems, components, and circuits can be used. In another example, communication or transfer (or otherwise moving from one place to another) of data may be wired, wireless, or by any other means. 
     A “computer-readable medium” may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, system, or device. The computer readable medium can be, by way of example only but not by limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, system, device, propagation medium, or computer memory. Such computer-readable medium shall be machine readable and include software programming or code that can be human readable (e.g., source code) or machine readable (e.g., object code). Examples of non-transitory computer-readable media can include random access memories, read-only memories, hard drives, data cartridges, magnetic tapes, floppy diskettes, flash memory drives, optical data storage devices, compact-disc read-only memories, and other appropriate computer memories and data storage devices. In an illustrative embodiment, some or all of the software components may reside on a single server computer or on any combination of separate server computers. As one skilled in the art can appreciate, a computer program product implementing an embodiment disclosed herein may comprise one or more non-transitory computer readable media storing computer instructions translatable by one or more processors in a computing environment. 
     A “processor” includes any, hardware system, mechanism or component that processes data, signals or other information. A processor can include a system with a central processing unit, multiple processing units, dedicated circuitry for achieving functionality, or other systems. Processing need not be limited to a geographic location, or have temporal limitations. For example, a processor can perform its functions in “real-time,” “offline,” in a “batch mode,” etc. Portions of processing can be performed at different times and at different locations, by different (or the same) processing systems. 
     As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, product, article, or apparatus that comprises a list of elements is not necessarily limited only those elements but may include other elements not expressly listed or inherent to such process, product, article, or apparatus. 
     Furthermore, the term “or” as used herein is generally intended to mean “and/or” unless otherwise indicated. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present). As used herein, a term preceded by “a” or “an” (and “the” when antecedent basis is “a” or “an”) includes both singular and plural of such term (i.e., that the reference “a” or “an” clearly indicates only the singular or only the plural). Also, as used in the description herein, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise. The scope of the present disclosure should be determined by the following claims and their legal equivalents.