Abstract:
Methods, systems, and articles of manufacture of the present invention may assist in planning, execution, and evaluation of advertising campaigns on the Internet. Particularly, methods, systems, and articles of manufacture of the present invention may help evaluate and/or predict traffic volume on the Internet. An exemplary method for predicting traffic may comprise receiving historical traffic data for a location, and computing a prediction of traffic volume for a particular time at the location based on a linear relationship in the historical traffic data.

Description:
BACKGROUND 
     1. Technical Field 
     The present invention generally relates to predicting traffic volume on the Internet, and more specifically to predicting traffic volume to assist in marketing, planning, execution, and evaluation of advertising campaigns for the Internet. 
     2. Related Art 
     The number of users on the Internet continues to grow at an astounding rate while businesses continue to rapidly commercialize its use. As they surf through websites, users generate a high volume of traffic over the Internet. Increasingly, businesses take advantage of this traffic by advertising their products or services on the Internet. These advertisements may appear in the form of leased advertising space on websites, which are similar to rented billboard space in highways and cities or commercials broadcasted during television/radio programs. Experience has shown that it can be difficult to plan, execute, and/or evaluate an advertising campaign conducted over the Internet. Unlike billboards and commercials, there are very few tools (e.g., Nielson ratings, etc.) to accurately measure or predict user traffic on the Internet. 
     One method for measuring exposure of advertisements posted on a website may be based on daily traffic estimates. This method allows one to control the exposure of an ad and predict the traffic volume (i.e., number of impressions, viewers, actions, website hits, mouse clicks, etc.) on a given site at daily intervals. However, there is no control over how this exposure occurs within the day itself because the method assumes a constant rate of traffic throughout the day. Experience has shown that website traffic typically exhibits strong hourly patterns. Traffic may accelerate at peak-hours, and hence, so does ad exposure. Conversely, at low traffic times, ads may be viewed at a lower rate. These daily (as opposed to hourly) estimates exhibit high intra-day errors, which result in irregular or uneven ad campaigns that are not always favored by advertisers. 
     This situation is illustrated in FIG. 1, where a pattern of under-over-under estimation is evident. Traffic volume in the hours of 12:00 am to 5:00 am, 6:00 am to 2:00 pm, and 3:00 pm to 11:00 pm are overestimated, underestimated, and overestimated, respectively. FIG. 2 shows error size for each hour relative to the traffic volume for the entire day. Note that errors tend to average out during the day. However, during times of high relative error, ad campaigns based on a daily traffic estimate tend to accelerate; while at times of low (negative) relative error, these same ad campaigns tend to dramatically decelerate. This situation yields an uneven campaign with “run-away” periods followed by “stalled” periods of exposure. 
     Campaign unevenness is a symptom of prediction errors (positive or negative). As illustrated in FIG. 2, taking the values of these hourly errors relative to a day&#39;s total traffic can give a good indication of the gravity of the campaign&#39;s failure to predict intra-day traffic patterns. By summing the absolute value of these relative hourly errors, it is clear that the hourly prediction errors can be significant. For instance, FIG. 2 shows a site with a very accurate daily estimate, but it has a 48.32% error relative to daily traffic when prediction error is accounted for on an hourly basis. A single hour&#39;s prediction error as a percentage of that hour&#39;s actual traffic can be much more dramatic. For instance, the hour starting at 9:00 am has a predicted traffic volume of 156,604, but the actual traffic volume is only 15,583, which is an error of 905% for that hour. Similarly for the hours of 1:00 am to 4:00 am, underestimation (per hour) ranges between 40 and 50 percent relative to the actual traffic volume for each respective hour. 
     Because of the dynamic nature of the Internet, it is difficult to predict the amount of time it will take before advertising goals for a particular advertisement are met. Therefore, it would be beneficial to provide a mechanism to better estimate traffic volume. 
     SUMMARY OF EXEMPLARY EMBODIMENTS 
     Methods, systems, and articles of manufacture of the present invention may assist in planning, execution, and evaluation of advertising campaigns on the Internet. Particularly, methods, systems, and articles of manufacture of the present invention may help evaluate and/or predict traffic volume on the Internet. 
     One exemplary embodiment of the invention relates to a method for predicting traffic. The method may comprise receiving historical traffic data for a location, and computing a prediction of traffic volume for a particular time at the location based on a linear relationship in the historical traffic data. 
     Additional embodiments and aspects of the invention are set forth in the detailed description which follows, and in part are obvious from the description, or may be learned by practice of methods, systems, and articles of manufacture consistent with the present invention. It is understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and together with the description, serve to explain the principles of the invention. In the drawings: 
     FIG. 1 illustrates an exemplary pattern of under-over-under estimation consistent with the prior art; 
     FIG. 2 illustrates exemplary errors in the pattern relative to a day&#39;s total traffic consistent with the prior art; 
     FIGS. 3A and 3B illustrate exemplary linear relationships in hourly traffic consistent with features and principles of the present invention; 
     FIG. 4 illustrates an exemplary predictability map consistent with features and principles of the present invention; 
     FIG. 5 illustrates an exemplary system for predicting traffic consistent with features and principles of the present invention; 
     FIG. 6 illustrates an exemplary method for predicting traffic consistent with features and principles of the present invention; and 
     FIG. 7 illustrates an exemplary method for conducting an ad campaign consistent with features and principles of the present invention. 
    
    
     DETAILED DESCRIPTION 
     Reference is now made in detail to exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used throughout the drawings to refer to the same or like parts. 
     As discussed above, one method for predicting traffic may estimate a daily traffic volume for a location and use the estimate to compute a constant traffic rate throughout the day. However, other methods (e.g., first-order approximations, N th  order approximations, etc.) described below, may also be used to compute traffic predictions using different time intervals, such as hourly predictions. Further, these methods may use intra-day relationships in hourly traffic patterns to more accurately predict traffic volume at the location. 
     According to features and principles of the present invention, an exemplary method for predicting traffic may assume a linear relationship exists between an hour k of a day i and a next hour k+1 of day i. FIG. 3A shows an example of the linear relationship. It plots the measured traffic volume at the third hour versus the fourth hour of each day in February, 2001 at a test location. The plot shows the measured traffic volumes of the third and fourth hour form a linear pattern. This pattern may be found at most locations, but the strength and form of the linear relationship varies by hour and across locations. For example, FIG. 3B shows a similar relationship five hours later at the same location for the eighth and ninth hours, but while the relationship is still fairly linear, it significantly differs in slope (the solid line represents a 45-degree line in both FIGS.  3 A and  3 B). 
     In general, for most locations, the relationship between traffic at subsequent hours is linear enough to justify using a first-order approximation of an hourly traffic pattern, although higher N th  order approximations (which may be more accurate) may also be used. As one of ordinary skill in the art can appreciate, some exemplary approximations may employ linear regression, polynomial fitting, Markov chain models, and other mathematical models. 
     In general, a first-order approximation may provide consistently accurate traffic volume predictions, but when the measured traffic volume contains structural traffic changes (e.g., outlying data), the method may “blow up” (i.e., yield extraordinarily large predictions). The traffic volume predictions may be filtered to prevent the blow ups using mathematical functions, distributions, or other criteria. For example, one embodiment of the present invention may construct a test statistic filter          f        (         x   ^     i          ,   k       )       ,                          
     such that          f        (       x   ^       i   ,   k       )       =     {           1   ;               if                     x   _     k       -       t   c            σ   ^     k         ≤       x   ^       i   ,   k       ≤         x   _     k     +       t   c            σ   k     ^                     0   ;         otherwise                                  
     where {circumflex over (x)} i,k  is a predicted traffic volume for hour k at day i, t c  is a threshold estimate, {overscore (x)} k  is an estimated mean of the measured traffic volume at hour k over n days given by            x   _     k     =       1   n            ∑     i   =   1     n                       x                  i   ,   k                                  
     and {circumflex over (σ)} k  is an estimated standard deviation of the measured traffic volume at hour k over n days given by            σ   ^     k     =         1     n   -   1            (         ∑     i   =   1     n                     (     x     i   ,   k     2     )       -     n          x   _     k         )                                
     Table 2 shows the exemplary critical values of t c  corresponding to the number of days n that may be used to compute the predicted traffic volume {circumflex over (x)} i,k . 
     The t c  values in Table 2 are based on a student-t distribution cumulative density function (c.d.f.) with a 99% cumulative probability criterion, but as one of ordinary skill in the art can appreciate, the values of t c  may be based on any other statistical/mathematical function (e.g., discrete function, continuous function, Poisson c.d.f., binomial c.d.f., etc.) with any other criterion. 
     
       
         
               
             
               
               
               
             
               
               
               
             
               
               
               
             
           
               
                 TABLE 2 
               
             
             
               
                   
               
               
                 Critical values of t c   
               
             
          
           
               
                   
                 n 
                 t c   
               
               
                   
                   
               
             
          
           
               
                   
                 &lt;20 
                 2.878 
               
               
                   
                 21 
                 2.861 
               
               
                   
                 22 
                 2.845 
               
               
                   
                 23 
                 2.831 
               
               
                   
                 24 
                 2.819 
               
               
                   
                 25 
                 2.807 
               
               
                   
                 26 
                 2.797 
               
               
                   
                 27 
                 2.787 
               
               
                   
                 28 
                 2.779 
               
               
                   
                 29 
                 2.771 
               
               
                   
                 30 
                 2.763 
               
               
                   
                 31 
                 2.756 
               
               
                   
                 32 
                 2.750 
               
             
          
           
               
                   
                 33 to 42 
                 2.704 
               
               
                   
                 43 to 62 
                 2.660 
               
               
                   
                  63 to 122 
                 2.617 
               
               
                   
                 &gt;122 
                 2.576 
               
               
                   
                   
               
             
          
         
       
     
     One exemplary embodiment of the present invention may use filter        f        (       x   ^       i   ,   k       )                            
     to measure whether {circumflex over (x)} i,k  is believable based on historical traffic data. A problem with this is that if a permanent regime or behavioral change occurs in a traffic pattern, then past traffic data may become irrelevant. In spite of this, filter        f        (       x   ^       i   ,   k       )                            
     may be used to indicate whether a location&#39;s traffic pattern is stable enough for a first-order approximation to be effective. If this is not the case, then when        f        (       x   ^       i   ,   k       )                            
     is zero, one embodiment may revert to another model that may not blow up in the face of pattern changes. 
     When modeling a traffic pattern based on historical traffic data, the standard deviation {circumflex over (σ)} k  may be useful if the historical traffic data contains extreme traffic volume values or outlying data, as defined below. It is not unusual to encounter extreme values coming from errors or by omission in historical traffic data. For instance, a chain of missing values in the historical traffic data at times where traffic is typically high for a certain location may indicate that there has been some historical data capture problem. Of course, it may also mean that the location became unpopular and that traffic for those times was indeed zero. This type of atypical data is referred to as outlying data. The criteria for deciding between what is legitimate data and what is outlying data is rather subjective. However, traffic volume prediction may be improved if these extreme values are removed or corrected. 
     In one exemplary embodiment of the present invention, a filter may be used to correct or remove outlying data from the historical data. The filter may employ a criteria that assumes a measured traffic volume at some time (e.g., at day i and at hour k) in the historical data is outlying data when the measured traffic volume at that time lies more than N d  standard deviations from the mean {overscore (x)} k  of the measured traffic volume at hour k over a history of n days. If the measured traffic volume is outlying, then the filter may replace the outlying data with the mean {overscore (x)} k . The predicted traffic volume may then be calculated using the corrected data. 
     Table 3 uses various exemplary predictability scores to compare the performance of a daily mean and an hourly N th  order approximation method in predicting traffic volume at a test location for a period from Feb. 1, 2001 to Feb. 28, 2001. 
     
       
         
               
             
               
               
               
             
               
               
               
               
             
           
               
                 TABLE 3 
               
             
             
               
                   
               
               
                 Location A from Feb 1, 2001 to Feb 28, 2001 
               
               
                 Total traffic = 92,407,331 impressions 
               
               
                 (total traffic volume) 
               
             
          
           
               
                   
                 Daily Mean 
                 Hourly Prediction 
               
               
                   
                   
               
             
          
           
               
                   
                 Mean Error 
                 3,396 
                 (347) 
               
               
                   
                 Standard Dev. 
                 89,496 
                 16,262 
               
               
                   
                 Maximum Error 
                 239,809 
                 144,192 
               
               
                   
                 Minimum Error 
                 26 
                 4 
               
               
                   
                 Normalized L1 
                 47% 
                 6% 
               
               
                   
                 Score 
               
               
                   
                   
               
             
          
         
       
     
     The predictions were computed using a 90-day sliding window of historical traffic data (i.e., when calculating the prediction for each hour of the day, only the most recent 90 days of traffic data were used). The comparison is made in terms of hourly prediction errors, where each method observed (i.e., recorded in the historical traffic data) the traffic volume for the last 90 days up to hour k of day i and computed a prediction {circumflex over (x)} i,k+1  for the next hour&#39;s traffic based on the observation. Each method continued predicting the traffic volume for the subsequent hour as the previous hour of traffic volume was observed. Then, from the prediction and the measured traffic volumes, the prediction errors e i,k  were computed, as defined by 
     
       
         
           e 
           j,k 
           =X 
           i,k 
           −{circumflex over (x)} 
           i,k 
         
       
     
     The predictability scores in Table 3 were calculated using              e   _     =       1     24      n              ∑     i   =   1     n                       ∑     k   =   0     23                       e     i   ,   k                       (     mean                 error     )               ,     
            σ   e     =       1       24      n     -   1              ∑     i   =   1     n                       ∑     k   =   0     23            (       e     i   ,   k     2     -     24                 n          e   _     2         )                     (     standard                 deviation     )               ,     
            e   max     =       max     (     i   ,   k     )                   e     i   ,   k                            (     maximum                 error     )           ,     
            e   min     =       min     (     i   ,   k     )                   e     i   ,   k                            (     minimum                 error     )           ,   and                        L1   =           ∑     i   =   1     n                       ∑     k   =   0     23               e     i   ,   k                      ∑     i   =   1     n            ∑     k   =   0     23          x     i   ,   k                          ×   100      %                   (     normalized                 L1                 score     )                              
     Although the above lists the mean error, standard deviation, maximum error, minimum error, and normalized L 1  score as possible predictability scores, other metrics (e.g., total traffic, etc.) may be used as a predictability score. From Table 3, we can see that the hourly N th  order approximation method performed better than the daily mean method. 
     Predictability scores may provide a good criterion for selecting a method (e.g., daily mean versus hourly estimation) of predicting traffic based on a desired smoothness in deployment of an ad campaign. A smoothly deployed ad campaign exposes users to advertisements at a predictable pace. Hence, a smooth ad campaign may use a method that accurately predicts traffic volume. In contrast, an unsmooth ad campaign exposes users to advertisements unpredictably or even haphazardly until the exposure reaches a predetermined level (i.e., a traffic volume level) that signifies the end of the campaign. 
     Any given predictability score may give a measure of the size of a method&#39;s prediction error for an analyzed time period. That is, it may give a measure of a location&#39;s traffic predictability and may be used to compare the predictability of different locations. This is an important criterion when seeking smooth campaigns because it provides a comparison metric across different locations. The predictability score may be used for campaign decision-making. Campaigns with a high smoothness priority may deliver ads at locations based on the knowledge that the locations with a better predictability score may be more predictable and are likely to deliver smoother campaigns. Note that a first location&#39;s predictability score may be better than a second location&#39;s predictability score if the first score is lower or higher than the second score. 
     For example, consider the normalized L 1  score in Table 4 for a second location B during the month of February. Compared with the performance results in Table 3, the location for Table 4 may be deemed less predictable because its normalized L 1  score using the point-slope model is 12%, which is higher than the score (6%) for Table 3&#39;s location. However, the second location has less total traffic (i.e., 8,962,345 impressions) than the first location (i.e., 92,407,331 impressions). In general, lower traffic locations may be less predictable, so a predictability score based on total traffic would be better if the total traffic is higher. 
     
       
         
               
             
               
               
               
             
               
               
               
               
             
           
               
                 TABLE 4 
               
             
             
               
                   
               
               
                 Location B from Feb 1, 2001 to Feb 28, 2001 
               
               
                 Total traffic = 8,962,345 impressions 
               
               
                 (total traffic volume) 
               
             
          
           
               
                   
                 Daily Mean 
                 Hourly Prediction 
               
               
                   
                   
               
             
          
           
               
                   
                 Mean Error 
                 (1,003) 
                 344 
               
               
                   
                 Standard Dev. 
                 5,851 
                 2,263 
               
               
                   
                 Maximum Error 
                 15,482 
                 8,578 
               
               
                   
                 Minimum Error 
                 1 
                 6 
               
               
                   
                 Normalized L1 
                 32% 
                 12% 
               
               
                   
                 Score 
               
               
                   
                   
               
             
          
         
       
     
     It may be better to direct smoothness-sensitive campaigns towards locations with a better predictability score. Generalizing this idea, we can form a predictability map that compares how safe (in terms of smoothness) a location is relative to other locations. FIG. 4 illustrates an exemplary predictability map consistent with features and principles of the present invention. The map plots a predictability score, such as the L 1  score, against the average daily traffic volume for three test locations. Although the predictability map in FIG. 4 is a scatter plot, one of ordinary skill in the art can appreciate that the predictability map may take the form of a contour plot, bar graph, line graph, or any other type of graph. From the map, location C appears to be a better target for a smoothness-sensitive campaign than location B because of its lower L 1  score. However, we may target a group of locations for an ad campaign. The predictability score PR G  of the group of locations may then be calculated using          PR   G     =         ∑     j   ∈   G                         T   j          PR   j             ∑     j   ∈   G                       T   j                                
     where G is a set of all locations j in the group, T j  is location j&#39;s total traffic per unit of time (i.e., day), and PR j  is the predictability score of location j. 
     For example, using the map in FIG. 4, we can advertise an ad at both locations A and C to fulfill an ad campaign with less expected prediction error than if we only advertised at location A. Further, we do not need to target a campaign equally towards each location in the group. We can use any convex combination of locations in order to meet both desired traffic volume and predictability requirements. 
     In one exemplary embodiment, the hourly traffic prediction methods described above may be used to predict the traffic volume for a location (e.g., a website) over a period of time comprising m z  hours. An hourly prediction in the time period may be used to predict a next hour&#39;s traffic volume, and this may be done recursively to predict traffic volumes for hours that are further into the future. For example, if H z  is a set of hours k+m, then the predicted traffic volume for a location during the H z  hours may be calculated by          d   ^     =       ∑       k   +   m     ∈     H   z                           x   ^       i   ,     k   +   m                                  
     which is simply the sum of the individual hourly traffic volume predictions for the time defined by H z . 
     According to features and principles of the present invention and as illustrated in FIG. 5, an exemplary system  500  for predicting traffic may include a storage device  502 , a processor  504 , a network  506 , a computer  508 , and a computer  510 . Processor  504  may be coupled to storage device  502  and network  506 . Network  506  may be coupled to computers  508  and  510 . Storage device  502  may be implemented using hard drives, floppy disks, ROM, RAM, and/or any other mechanisms for saving data. Processor  504  may be implemented using computers, application-specific integrated circuits, CPUS, and/or any other device that is capable of following instructions and/or manipulating data. Network  506  may be implemented via the Internet, wide area networks, local area networks, telephone networks, and/or any other mechanism that can facilitate remote communications. Computers  508  and  510  may be personal computers, desktops, mainframes, and/or any other computing device. 
     According to features and principles of the present invention, system  500  may be configured to implement exemplary method  600 , illustrated in FIG. 6, for predicting traffic. Processor  504  may receive historical traffic data for a location (step  602 ). The historical traffic data may be stored on storage device  502 . Historical traffic data may include any information about previous traffic volume at the location. If the location is a website on network  506 , the historical traffic data may include a number of visitors to the website via computers  508  or  510 , a number of hits at the website, a number of impressions at the website, and/or any other data about the website for various times of the day. 
     Particularly, the historical traffic data may include observations of the traffic volume x i,k  at the website at each hour k of day i for any number of days. The observations may be made by processor  504 , counters at the website, or any other mechanism. Besides websites, the location may be any other place where traffic passes through or attendance can be measured and/or observed. For example, a location may be a highway, a street, a television channel, a radio station, or any other place where traffic information is obtainable. 
     Processor  504  may compute a traffic volume prediction (step  606 ), consistent with features and principles of the present invention. The prediction may be computed using any of the methods discussed herein and it may be the predicted traffic volume for the next hour, day, time niche, or other time period. Processor  504  may then compare the prediction against actual measured traffic volume data (step  608 ). The actual traffic volume data may reflect visits, hits, etc. by users at a location (e.g., website) via computers  508  or  510 . In one embodiment, processor  504  may make the comparison by calculating e i,k . 
     Consistent with features and principles of the present invention, processor  504  may then compute a predictability score for the location (step  610 ). The predictability score may be a normalized L 1  score, a mean error, a maximum error, a minimum error, or any other metric. When e i,k  is calculated, the computed predictability score may also be based on e i,k . 
     Additionally, processor  504  may perform steps  602  to  610  to compute a predictability score of another location. System  500  may execute an ad campaign based on the predictability scores of the two locations using an exemplary method  700  illustrated in FIG.  7 . For example, processor  504  may compare the predictability scores of the two locations (step  702 ) and generate a predictability map (step  704 ). From the predictability map and/or the predictability scores, processor  504  may select one of the two locations, a group comprising the two locations, and/or a larger plurality of locations for an advertising campaign (step  706 ). Processor  504  may conduct an advertising campaign at the selected location(s) by sending or placing advertisements at the locations (step  708 ). If the locations are websites, then processor  604  may display advertisements on the websites. 
     According to features and principles of the present invention, during the life of the ad campaign, processor  504  may adjust an advertising schedule of the ad campaign (step  710 ) to compensate for differences or variances between predicted and actual traffic. The advertising schedule may include the planned times and locations where processor  504  intends to place ads, as determined in steps  702  to  706 . As an ad campaign progresses, processor  504  may predict the traffic volume at various locations for a window of W days (e.g., processor  504  may predict the traffic volume for multiple hours at a website, as previously discussed). Processor  504  may then use the predictions to adjust the advertisement delivery schedule within the time window. 
     In the foregoing description, various features are grouped together in various embodiments for purposes of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects may lie in less than all features of a single foregoing disclosed embodiment. Thus, the following claims are hereby incorporated into this description, with each claim standing on its own as a separate embodiment of the invention. Furthermore, as used herein, the words “may” and “may be” are to be interpreted in an open-ended, non-restrictive manner.