WO2001048666A1 - Systeme, procede et modele d'operation commerciale optimisant les performances de messages publicitaires ou de messages dans des media mesurables interactifs - Google Patents
Systeme, procede et modele d'operation commerciale optimisant les performances de messages publicitaires ou de messages dans des media mesurables interactifs Download PDFInfo
- Publication number
- WO2001048666A1 WO2001048666A1 PCT/US2000/035408 US0035408W WO0148666A1 WO 2001048666 A1 WO2001048666 A1 WO 2001048666A1 US 0035408 W US0035408 W US 0035408W WO 0148666 A1 WO0148666 A1 WO 0148666A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message
- stage
- performance
- state
- campaign
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- This invention relates generally to systems, methods, and operating models for optimizing the performance of advertisements and other messages or content, and more particularly to systems, methods, and operating models for optimizing the performance of advertisements, messages, and other content in an interactive measurable medium such as a global network of interconnected information devices and appliances.
- a global network is the Internet.
- This invention relates to executing and optimizing the performance of marketing campaigns in which advertisements or other messages are distributed over an interactive measurable medium such as the Internet.
- the marketing campaign involves a list of ad alternatives and a target customer population.
- the goal of the marketer is to allocate the ad alternatives to the customer population to optimize business objectives such as maximizing the number of responses received.
- banner ads on a web page.
- the users of these ad delivery or ad server systems have access to data on the performance of all the ads on all the locations. This data is updated by the delivery and tracking system on a periodic basis.
- the users are also provided with an array of parameters to configure the delivery and tracking system.
- an advertiser buys advertising space (ad space) on a number of web sites.
- the advertising space buy on each web site consists of a number of categories. Such categories may correspond to different sections within that web site, where a section is a specific web page or a set of related web pages within the site.
- a category may also correspond to keywords searched by a customer on a search engine.
- the term "zone" will be used to represent a unique site and category combination.
- a banner is either a graphic image that announces the name or identity of a site, a text link, or a rich media file.
- An impression occurs when an Internet visitor sees a banner.
- a clickthrough occurs when a visitor to a zone clicks on a banner. This redirects the visitor to the page on the advertisers web site.
- placement refers to a particular banner-zone combination.
- the fraction of impressions (relative to the total number of impressions served for the particular zone) that should be allocated to a particular banner alternative is an important placement parameter that the advertiser can select and modify, to boost the advertising campaign performance.
- impressions can occur at any time, for example, whenever someone visits the appropriate page of a web site.
- the reports are typically updated at discrete times. We will call the intermediate time between two reports as a stage. At the end of each stage, the results are available for that stage. In particular, the following information is available for each placement: (1) the number of impressions delivered during a stage, and (2) the number of clickthroughs generated during a stage.
- this information may be available separately for: (a) different time slots within a stage (e.g. hour of day, if each stage is a day); (b) different frequency levels i.e. the number of times that an ad was seen by the customer; (c) different operating systems used by the machine on which the customer is logged on; (d) different internet browsers used by the customer; and(e) different domain addresses of the computer on which the customer is logged on.
- This list is exemplary and not intended to be exhaustive.
- these reports are provided in printed form or in the electronic equivalent of printed form (for example, web-pages, spreadsheets, charts, or the like), and are manually analyzed by trained analysis personnel to derive new, improved advertisement configurations. For example, they are analyzed in an attempt to improve or optimize the clickthroughs generated by a pool of banner alternatives for a given zone, a given frequency level, and the like configuration information.
- This manual process is tedious and error-prone and has an inherent delay between the period of data collection and the time new advertisements are to be placed because of the large amount of data to be analyzed and a large number of parameters to be modified.
- optimization to provide an effective advertising campaign is in essence a multi-dimensional optimization problem, that by-and-large cannot be timely solved using conventional tools, methods, or systems. Furthermore, there are optimizations on multiple dimensions that are impractical to do manually and that will exacerbate the time delay. It is noted that these problems exist substantially independent of the type of advertisement or message, and that such issues and problems exist relative to advertisements for products and services, political campaigns, ballot measures and initiatives, media programming, lobbying, surveys, polling, news headlines, sports scores, as well as other directed marketing, promotions, surveys, news, information, other content generally, and the like.
- ad server that permits and advertiser to display different banners (or other content or messages) based on a time-of-day user web browsing profile which may include geographic location information, demographic information, or the like, as well as other user targeting information.
- Each banner can be described in terms of a set of attributes.
- An "attribute" is an important- characteristic of an advertisement alternative. For instance, in a given situation, a banner ad may be conceptualized as consisting of three attributes: banner background color, banner message, and banner picture. There may be several choices available for each attribute.
- level to represent different choices along the same attribute. For example, there may be sixteen different banner background colors, ten different banner messages, and twenty different banner pictures from which an advertiser might ideally choose or select. The value or level along each attribute may have a profound and significant impact on a users response to the ad. For example, in an advertisement for a pet store, selection of a banner picture of a cat rather than of a dog may significantly effect the success of the ad.
- one simple but frequently used optimization objective is to maximize the number of user clickthroughs from a banner or other message to the advertisers home-page or other site.
- Another objective may be to maximize the clickthroughs such that the total sales generated by all the consumers who visit the store after clicking on one of the banner alternatives is greater than a predetermined amount.
- FIG. 1 is a diagrammatic illustration showing a first embodiment of an overall system and operating model according to the invention.
- FIG. 2 is a diagrammatic illustration showing a second embodiment of an overall system and operating model according to the invention.
- FIG. 3 is a diagrammatic illustration showing another detailed embodiment of the inventive system.
- FIG. 4 is a diagrammatic illustration showing an exemplary embodiment of an Optimization Engine according to the invention.
- FIG. 5 is a diagrammatic illustration showing a flow chart of an exemplary optimization procedure according to the invention.
- FIG. 6 is a diagrammatic illustration showing another alternative embodiment of the inventive system.
- FIG. 7 is a diagrammatic illustration showing a different alternative embodiment of the inventive system.
- This invention relates to executing and improving and desirably optimizing the performance of marketing campaigns in which advertisements or other messages are distributed over an interactive measurable medium such as the Internet.
- a message (marketing) campaign involves a list of message alternatives (ad alternatives) and a target customer population.
- the marketer's goal is to allocate the message alternatives to the customer population to optimize business objectives such as maximizing the number of positive responses received.
- the inventive system and method provides an automates message targeting and allocation scheme that is dynamic and adaptive
- the invention provides a system for autonomously selecting attributes of a message to improve message performance in an interactive measurable medium.
- the system includes means for receiving message attribute configuration information and message performance information, an Optimization Engine receiving the message performance information and making decisions based on the received message performance information and predetermined rules to generate future message attribute configuration information, and a message server to deliver messages based on the future message attribute configuration information.
- the invention provides a system for autonomously selecting attributes of a message to improve message performance in an interactive measurable medium.
- the medium may be the internet.
- the system includes: a database storing message attribute configuration information, including future message attribute configuration information, and past message performance report information; an Optimization Engine receiving the past message performance information and making decisions based on the received past message performance information and predetermined rules to generate future message attribute configuration information; and a message server proxy that interacts with an external message delivery system over a communication link to configure the external system to deliver the future message based on the future message attribute configuration information.
- the predetermined rules include past message attribute configuration information associated with the past message performance information. These predetermined rules may optionally further include message campaign data and optimization preference data.
- the invention provides a method for improving the stage-to- stage performance of a message in a multi-stage message campaign in an interactive measurable medium, where the method includes the steps of: reading prior stage message state pertaining to a prior stage in a message campaign; the prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of the prior stage; reading message performance results representing message trials and message successes from the previous stage based on the prior stage state; computing a current message state on the basis of the prior stage message state and the message performance results; and generating a current message allocation based on the current message state. Additional procedures and subsystems are provided that may be used separately and/or with external processing entities, or combined and integrated in various ways to yield different system configurations and processing distributions yet encompass the inventive concept.
- This invention provides system, method, computer program, and operating model for optimizing the performance of advertisements and other messages or content, and optionally for placing, or serving the advertisement or other message or content to a target device and ultimately to the user or operator of that target device.
- the present invention provides an automated system for optimizing allocation parameters for each message placement and executes such placements on the Internet.
- the invention can also learn and optimize across the various other parameters that are available for configuration message or ad server systems.
- An optimization algorithm is implemented as a computer program in an Optimization
- ad server systems permit display of different banner ads based on the time of the day the profile of the user browsing the web site (e.g. their geographic location and other demographic information), as well as other targeting criteria.
- the inventive optimizing system and method learn and then set the appropriate parameters across multiple content and placement dimensions so as to optimize the objective specified by the message provider, such as an advertiser.
- the inventive system and method gather user input and optimize for higher-level attributes that are more relevant to the advertiser.
- a banner ad may be viewed as consisting of three attributes: background color, message and picture.
- the total number of banner ad alternatives which can be generated is equal to one hundred.
- the information about these attributes has not heretofore been available in the traditional ad server systems, which deal with the ad as an atomic unit.
- the optimizing ad server system can learn which attributes and which levels within an attribute are more effective in increasing performance of the advertising campaign. This information is also extremely useful in generating a more effective pool of banners for the next campaign and determining optimal placements.
- Better performing or out-performing ads and zones for ads may also be more readily identified so that the use and cost associated with placing ads in poorer performing zones may be terminated in favor of placing such ads in better performing zones. This can be done, for example, by first estimating the clickthrough rate on every zone (or clickthrough rate of the best performing banners on the zone) followed by choosing the zones which generate the highest clicks per unit cost. Once the poor performing zones have been found, the advertiser would like to stop showing impressions on them. However, many of these ad zone buys are long-term (for example, from a month to two or more months) in nature and contractual obligations may not allow the advertiser to stop using the zone and stop paying for the impressions already bought.
- the advertiser may swap the impressions bought with another advertiser such that the overall performance may improve for both the advertisers.
- the provision of the inventive method may therefore provide a method for interchanging ad space among advertisers or other businesses. These exchanges may be facilitated by a system and method that is automated and provides rapid analysis of performance data and rapid allocation of ads among the full pool of available ad allocation options.
- the invention is a system for the optimizing ads in an interactive medium and automating the configuration of an ad server system in a larger interactive medium, such as the internet.
- the system includes an optimizing engine and an optimization algorithm or procedure that takes as input an ad performance report and generates recommended message or ad configuration parameters for the optimal placement and targeting of ads. It loads the reports from the database and stores the parameter values into a database.
- the database stores user-configured information, Optimization Engine generated configuration information, and the performance report information from the ad server system.
- An advertising server interaction service is operative to loads performance reports from the ad server system and store them in the database as well as taking user or Optimization Engine generated settings and setting them into the ad server system.
- a user interface allows the user to enter campaign data and specifications about the optimization.
- the invention provides a business or operating model for providing advertisement, message, or other content optimization and placement.
- the operating model is applicable for business-to-business electronic commerce as well as business-to-consumer and consumer-to-consumer electronic commerce (e- commerce).
- Ad Optimization Service 102 receives data or information over the Internet 104 concerning ad alternatives and the performance results of these alternatives in trials of campaign stages so far completed. Procedures that utilize ad states and ad performance as well as any constraints on ad placement are used by optimization procedures within the Optimization Engine and service.
- the advertiser 106 or other message manager is a point of control and may receive reports as to any unusual conditions or performance results.
- the advertiser 106 is also the most likely entity pay fees for the ad optimization service and to reap the rewards of the improved ad performance.
- the advertiser is not involved in stage-to-stage allocation decisions as the process is completely automated and does not require human analysis of decision making.
- the ad target device 108 and the user of that device typically a consumer with a personal computer and a web browser such as Microsoft Internet Explorer, receives one or more targeted ads (or other messages) and either ignores them (unsuccessful trial or impression) or positively responds to it (successful trial or impression) such as by clicking through a banner ad to the linked web site corresponding to the banner ad.
- a targeted ads or other messages
- Ad content publisher 110 provides the content ad alternatives for which optimization of allocation is desired.
- a single ad content publisher may provide all of the alternatives or a plurality of different ad content publishers may provide the different alternatives.
- the primary interaction of the ad optimization service 102 is with the ad server 112.
- the ad server 112 is responsible for actually placing the ads and for collecting performance results, such as success rate or clickthrough rate, for the ads so placed. It is from the ad server service 112 that ad optimization service receives performance information and to which ad optimization service sends ad placement allocation directives or recommendations.
- the ad optimization service 102 and the ad server 112 of the FIG. 1 embodiment may be combined into a single ad server and optimization service 114 as illustrated in FIG. 2.
- the ad content publisher may also be combined with the ad server and or with the ad server and the ad optimization service. Other combinations are also possible and not enumerated here.
- the ad optimization service becomes the message optimization service
- the ad server becomes the message server, and so forth.
- the invention therefore also provides a business model and method or operating model.
- the inventive business model and method of doing business referred to as the web hosted model, the User-Interface and Message
- Optimization are on a common web server site.
- the Optimization system and service interact with the underlying ad server system and a user of the system is levied a fee for each message trial or in the context of banner ads, for each impression.
- Volume discounts for different numbers of impressions or levels of use may advantageously be implemented. Revenues may also be collected on a per campaign basis for setting up the campaign and for analyzing the performance results and recommending allocations. Additional fixed or variable fees may be levied on a per-week or per-month basis.
- the optimization system and method are provided to message agencies, such as for example, to ad agencies so that the Optimization Engine and service are integrated into a larger message or ad service system. Revenues are generated on the basis of the number of licensed installations and may be fixed, volume dependent, or charged as a percentage of revenues generated. Additional costs may be charged based on the size of system in terms of the total number of impressions delivered, size of the campaigns, size of the database, and the like factors.
- inventive business model may readily be appreciated from the description of the relationships between the Optimization Engine Service, the Database, the Message Server Interaction Service (MSIS), the Message Server, and the User or Message Control Agent. These relationships among these entities and the information and/or services interchanged between and among them may readily be accomplished on the Internet or other interconnected network of computers or information appliances.
- MSIS Message Server Interaction Service
- Message Server the Message Server
- User or Message Control Agent The high-speed interchange and measurable characteristics of the Internet as a communication medium provide technical advantages and effects that could not have been earlier achieved.
- One particularly useful benefit of the inventive system, and business operating model lie in its ability to rapidly measure the success of multiple messaging (e.g. advertising) schemes and select those scheme alternatives that outperform other schemes.
- the system and method permit poorer-performing schemes to be controllably retained (or discarded) so that in the event performance changes, they are automatically given a greater proportion of the message trials or impressions.
- Reallocation of message alternatives may be made hourly, daily, weekly, or at any other time as the system is automated and at least in some embodiments directly collects performance information and allocates messages among message alternatives directly over the internet.
- FIG. 3 shows additional detail of the User Interface, database, Optimization Engine, message server interaction service, internet, and message server.
- the User Interface (UI) 302 system gathers configuration information from the message sponsor, such as from the advertiser 106.
- the User Interface 302 may typically be a personal computer or other information device or information appliance that permits a user to enter data into the system and obtain reports to see what happened.
- the user interface is a web site.
- this configuration information includes where the message (for example the ad or email) should be displayed or otherwise presented, the different creative media that is to be displayed, information about the different attributes of the creative media, parameters about different options for the placement and instructions to the Optimization Engine 306 and optimization algorithm executing within the optimizing engine about which objectives to optimize for and other parameters, like "grace period", the period of time that the optimizing engine does not take action on the new creatives after they have been introduced.
- the grace period is an optional mechanism for the marketer to fine tune the optimization of his/her campaign.
- this configuration information includes a list of a banners, a list of sites and zones that the banners can be placed on, the different attributes of the banners such as background color, picture, message and animation, any specific placement constraints specified by the advertiser or ad agency attribute descriptions, and other optimization specifications and/or parameters.
- Message Servers e.g. Ad Servers
- the message sponsor e.g. advertiser or marketer
- the User Interface 302 system When the User Interface 302 system has gathered the above information, it schedules an Optimization Engine 306 targeted job in job scheduler 316 job table 317 of database 308 directing the engine service 306 to determine the initial set of allocations.
- This set of allocations is referred to as initial set of allocations because when new messages are placed into the system it needs to be determined where these are placed, and what fractions of the impressions for a zone that are going to be assigned to that message.
- the Optimization Engine service executing within Optimization Engine 306, on completion of the OE job writes an initial set of allocations for different placements into the database and schedules a Message Server Interaction Service 320 (e.g. an Ad Server Interaction Service) targeted job (MSIS Job) to modify the appropriate settings on the Message Server 304.
- Message Server Interaction Service 320 e.g. an Ad Server Interaction Service
- MSIS Job Message Server Interaction Service
- the Message Server Interaction Service (MSIS) 320 pulls new performance report information from the Message Server 304. These performance reports contain data on performance metrics for the messages. In the context where the message is a banner ad on an internet web site, the performance metric may be, for example, the total number of clickthroughs for a given banner ad at a given zone and the total number of impressions delivered for that ad.
- the Message Server Interaction Service 320 stores this performance information into the Database 308 and schedules an Optimization Engine targeted job tasking the Optimization Engine service to generate a new set of message allocations.
- the Optimization Engine 306 and the optimization algorithm 307 implemented by that engine provides the core piece of computer program code that implements the mathematical models to implement the optimization decisions.
- the engine service 309 wraps this Optimization Engine 306 to add the interaction with the database 308 and other parts of the system 300.
- the Optimization Engine 306 models the performance of different messages and message attribute alternatives.
- the Optimization Engine 306 uses this historical information to generate new message allocations from among the set of possible current message allocations that bias message impressions away from poor performing messages or message formats and/or attribute alternatives and toward what are or appear to be better performing messages or message formats.
- alternatives may include modifying the allocations for banner content (e.g. banner background color, banner message, and banner picture as applicable), zone (e.g. site-category combination), placement (e.g.
- banner- placement combination different targeting attributes (such as for example, different banners for time of day, different geographical locations, browser types, frequency that ad has been shown, and any other demographic information that may be available about the end-user, their employer, or their operating environment), and the like message configuration information.
- different targeting attributes such as for example, different banners for time of day, different geographical locations, browser types, frequency that ad has been shown, and any other demographic information that may be available about the end-user, their employer, or their operating environment
- One embodiment of the invention will also generate these banner ads (and other messages) automatically based on these various attribute-alternatives and deploy the banner ads (or other messages) that it learns to be most effective.
- the inventive system provides for automated autonomous message optimization, generation, and placement.
- the system and method of the present invention can also optionally provide reporting and alert functions to inform the message sponsor such as the advertiser of significant events that might require their attention. This is desirable so that there is some human review of anomalous situations. Examples of some of the events or situations for which a special report or alert might be issued include, for example: (i) no impressions were delivered even though purchased by the advertiser; (ii) a large change in the type or number of impressions delivered; (iii) a large change in click- through in a given zone; (iv) a large change in a specific banner's performance; and (v) the click-through performance achieved is below a specified contract minimum.
- a report or alert may be generated may be specified for the system.
- the situations for which special reports or alerts are generated may readily be altered in real or near-real time, such as by interactive programming.
- the system and method also desirably provide the ability to monitor ones messages using the User Interface and to create custom reports.
- the inventive system and method are inherently fault tolerant and can deal with a variety of potential failures including unavailability of the Message or Ad Server 304, and the unavailability of the most recent performance reports.
- the system user e.g. the message-sponsor
- the Optimization Engine 306 service can produce the best message allocations based on the information available in the historical data, and the time elapsed since the last report was obtained, even if all the reports, such as current performance reports which were due from the Message Server 304, but have not been received, are not available.
- a scheduling infrastructure is provided for scheduling tasks or jobs in the system, particularly for scheduling jobs to be performed by the Optimization Engine 306 and the Message Server Information Service 320.
- Job Table data structure 316 defined in the database 308 that is used for scheduling the various jobs in the system. Jobs are scheduled for both the Optimization Engine and for the Messaging Server Interaction Service.
- the data structure of the Job Table includes the following columns: Service Type, Category, Scheduled Time, Status, Start Time, and End Time. More, fewer, or different data structure columns or organization may be provided to accomplish the functionality provided by these scheduling information items.
- Service Type specifies the target system module which is expected to execute this job, for example, the Optimization Engine Service (OE), or the Message Server Interaction Service (MSIS).
- OE Optimization Engine Service
- MSIS Message Server Interaction Service
- Category specifies the type of job which the service needs to execute. For example, in one embodiment, five job type categories are supported: (i) Optimization (OP), for the optimization engine; (ii) Performance Analysis (PA), for the Optimization Engine; (iii) Download Campaign (DC), for the Ad Server Interaction Service; (iv) Get Report (GR), for the Ad Server Interaction Service; and (v) Set Allocation (SA), for the Ad Server Interaction Service.
- Optimization Optimization
- PA Performance Analysis
- DC Download Campaign
- GR Get Report
- SA Set Allocation
- “Status” specifies the current status of the job within a service.
- this field there are four possible values of this field: (i) New (N), indicating that the job has not yet been opened by the service; (ii) Work-in-Progress (W), indicating that the job is currently in progress; (iii) Success (S), indicating that the job was completed successfully; and (iv) Failure (F), indicating that the job was not completed successfully, for example, due to an exception or a system error.
- the Job Table 317 also provides time information.
- time information may be provided in a variety of ways and formats. For example, absolute or relative time may be used, and that some time parameters may be computed from other time parameters. Therefore, the particular time parameters describe relative to one embodiment are exemplary.
- the Job Table "Scheduled Time” field indicates the time at which the job is scheduled to be performed. This scheduled time may be manually entered, but is desirably determined by the system based on scheduling factors, such as for example the loading of the job target, the frequency of the jobs for a particular campaign, the expected time of availability of input data such as the availability of performance report data prior to an optimization, and the like factors.
- Scheduled Time includes date information and time of day information and is encoded in conventional format.
- the Job Table "Start Time” field indicates the actual starting time of the job. It may differ from the scheduled time. For example, if the job target has not completed a previous job or jobs or the loading on the job target is too great, the start of the job may be delayed somewhat.
- the "End Time” field indicates the time when the job was completed (successfully or unsuccessfully). Both Start Time and End Time may be considered to be optional parameters, however, in embodiments in which a service charge is levied based at least in part on the job computation time, knowledge of the actual start and end times permits computation of the elapsed computation time and provides an objective bases for service fees.
- the Engine Service of the Optimization Engine 306 polls the Job table 317 of the Database 308 at regular intervals (or according to some predetermined rules or schedule) for the list of pending jobs to process.
- the optimization engine 306 and the optimization algorithm implemented by that engine is the core piece of algorithmic and computer program code that implements the mathematical models to provide the optimization recommendations and decisions.
- the Optimization Engine 306 does not poll the database 308 and alternative mechanisms are provided to inform the Optimization Engine (or the message interactive service interface) that a job is ready for processing or execution. Therefore, either or both polling and non- polling implementations may be provided.
- the Optimization Engine 306 processes two categories of jobs: (i) Performance Analysis jobs and (ii) Optimization jobs. Normally, at least one performance analysis report is generated by a performance analysis job before an optimization job for the same message campaign is executed; however, an initialization set of performance data may be loaded in the database at the start of a new campaign so that optimization may begin.
- the initialization set of performance data may be established manually, generated by other analysis, be adopted from related campaigns, or by any other means.
- such initialization set of performance data is a neutral or unbiased data that allows all candidate message attributes an opportunity to perform. In another embodiment, this data set is biased in favor of certain message attributes.
- a performance analysis job uses the data on the current sets of allocations and placements, the historical performance of each of these and the most recent performance report of the current allocations and placements in play as inputs and generates a new set of message allocations and placements (or in particular embodiments for an advertising message, what banner ads should be turned on or off or allocated in which ratio and which placements should be added or deleted) as outputs.
- the message allocations and placements generated by the Optimization Engine 306 are stored in the Database 308.
- message allocations and placements may be cached for later use in a memory storage device of the Optimization Engine, or directly affect the message server, without intermediate storage in the database.
- An optimization job retrieves the message performance report information (or in particular embodiments directed to an advertising message, the ad performance report information) stored by the Optimization Engine in the Database and uses it as an input to generates message configuration parameters for the optimal placement and targeting of messages (or ads) as outputs, and stores them in the Database.
- an ad campaign refers to a set of media purchases over a period of time by a particular message sponsor, usually linked to a specific business objective, over which the creative messages need to be optimized It is not necessary for a campaign to have a time limit. For instance, the problem of optimizing the daily new as items at a news site is a continuous process every day, without a set termination time.
- an ad campaign is a set of sites and sections within the site that a number of impressions have been purchased to be served over a period of time.
- the email campaign is a list of email addresses and a time over which mail is to be sent to this set of addresses.
- state refers to the encapsulation of relevant cumulative knowledge/information gathered over time since a given start time of the Campaign.
- Two types of state may be used by the Optimization Engine: global campaign state and individual cell state.
- Global campaign state refers to the encapsulation of those properties/aspects of the Campaign that are relevant at the Campaign, but not at the cell level.
- a cell is a representation of a specific placement of the Campaign.
- a placement in turn is the mapping of the message (or any web content) at a given site.
- a single message (or web content) can be mapped to multiple sites, and so can result in multiple cells.
- the Campaign is thus comprised of all the cells for the placements in the Campaign.
- Individual cell state refers to the encapsulation of the cumulative knowledge/information for that individual cell.
- the Optimization Engine process executes one or more threads to accomplish processing for a given message campaign; and can kick off the processing of multiple campaigns at the same time. Processing is campaign based because each Campaign is completely independent from the other. Note that typically, the optimization and performance reporting are iterative in nature and that the longer the campaign runs, the greater the learning and optimization that can be accomplished. It is also interesting, that messaging trends and performance will frequently change over time and the iterative nature does not imply that the message criteria will become static once the campaign has run for a long period of time. Quite the contrary, as message saturation or staleness may occur after even a short period of time; such staleness being identified in the performance reports, and resulting in recommended changes by the Optimization Engine.
- the Database 308 is the persistent store for the Campaign states as well as all information gathered on a regular basis in the form of performance reports.
- a job is scheduled for the optimization engine to process the new report or reports on a per Campaign basis.
- New reports can arrive for multiple Campaigns at the same time.
- the Optimization Engine 306 process polls the database 308 on a regular basis for jobs that are ready to be run.
- Optimization Engine gets a list of jobs that are ready to be run, it spawns a new thread 326 for processing each job independently of the other jobs.
- processing involves reading the previous state of the Campaign (global state as well as cell state), processing the new results and updating the state of the Campaign, and finally generating the new recommendations.
- the new states and recommendations are also stored in the database.
- the Optimization Engine and the process executed within the Optimization Engine are synonymous.
- the Optimization Engine 306 process executes the following steps: It reads in the Campaign state from the database and stores it into main memory data structures.
- Campaign state in one of the embodiments consists of a state for each placement, and a timestamp of the last state update.
- the state for each placement may, for example, comprise the cumulative number of impressions and the cumulative number of clickthroughs.
- the most current campaign state is stored in the database.
- the Engine Optimization 306 queries the database 308 for all new performance reports for that campaign since the last time the Campaign State was updated.
- Campaign state includes message state or data, performance results state or data, and allocation state or data.
- For each such report it: (a) Reads the report from the database 308 into Optimization Engine main memory 307 data structures; and (b) Processes the report and updates the campaign state data structures. Using the new state, and applying suitable allocation algorithms, it generates new allocations for the Campaign and stores the allocations into new data structures in memory.
- the process now begins a database transaction.
- the Engine Optimization 306 process stores the new Campaign states (including message state) from the data structures in memory 307 to the database 308. It also stores the new Campaign allocations (including message allocations) from the memory data structures to the database. Once these operations are successful, the process commits the database transaction.
- This database commitment process prevents corruption of data in the database 308 (which is the only reliable data in the system) by the intelligent use of database transactions.
- a database transaction is a database feature that provides the application the ability to make multiple changes to the database 308 in an atomic fashion, that is, with the guarantee that either all changes to the database happen or that no changes happen. This prevents the possibility that the data in the database is updated only partially.
- no other process in the system updates the Campaign states or generates allocations. This ensures the consistency and reliability of the Campaign states and allocations in the system.
- the above embodiment of the optimization procedure is just one possible embodiment of the algorithm that can be used for optimizing the total number of responses.
- Algorithms based on other techniques such as genetic algorithms, neural networks, machine learning, stochastic optimization or a combination of these techniques can be used instead of the algorithm described.
- the overall system architecture is independent of the technique used.
- inventive optimization algorithm and procedure as well as indeed overall inventive system and method provide particularly advantageous benefits in the banner ad messaging context.
- the methodology applied to banner ads can readily be extended to other messaging situations, for example to email, interactive television, and the like.
- the core engine optimization procedure is implemented as computer program software procedures written in the Java language for maximum flexibility and also exposes a COM Application Program Interface (API).
- API Application Program Interface
- the Message Server Interaction Service manages the interaction between the message product (such as for example an banner ad product, an email product, a splash page product, a news page product, a portal home page product, or other message product) and a message server.
- the message server is an external internet based message server.
- the message server is integrated with the inventive system including the database, MSIS, and Optimization Engine.
- the message served includes ads or advertisements and the message Server Interaction Service (MSIS) is referred to as the Ad Server Interaction Service (ASIS).
- the MSIS (ADIS) is responsible for retrieving performance reports from the Ad Server (or Ad Delivery Service) setting banner ad placements and allocations in the Ad Server, and downloading campaign settings from the Ad Server for use by the Optimization Engine and the User Interface.
- the ADS advantageously utilizes a plug-in architecture, where the interface to the message server (e.g. to the Internet Ad Server) is a replaceable module which exposes a common application program interface (COM API).
- a "plug-in” is a module that implements this interface for a particular provider (e.g. a particular Ad Server).
- the plug-in is called an Agent (but this distinction between plug-in and agent is primarily semantic), accesses the Internet Message Server (or Ad Server) through the HTTP protocol.
- the Agent within the MSIS simulates the interaction of a Internet Message Server customer, requesting pages of data via HTTP and parsing the needed information out of the returned HTML data. Other Agents would get the data in XML, or other proprietary format, based on what the underlying message server supports using HTTP:, FTP:, HTTPS: or another public or proprietary protocol.
- the information extracted from the returned data includes ad properties and names, zone properties and names, buy properties and names, campaign properties and names, performance data (such as clicks and impressions).
- the parsing procedure includes the steps of deconstructing the HTML into its constituent tag structure and locating the desired data element at a known place within the tag structure.
- Standard parsing techniques of tokenizing the text stream and applying a simple grammar to parse out the HTML is used. Those workers having ordinary skill in the art in light of the description provided here will appreciate that any standard parsing technique could be used to accomplish the result.
- the MSIS (ADIS) interfaces with the Optimization Engine and the User
- the MSIS (ADIS) retrieves jobs targeted for the MSIS
- the MSIS The MSIS (ADIS) performs three types of jobs: Get Report, Set Allocations, and Download Campaign.
- Get Report GetReport
- the downloaded information is stored in a staging table in the databases, using for example, SQL server's BCP fast copy operations, and a stored procedure performs transformations on the data to put it in the correct databases tables from where it would be used by the other system components tables.
- the staging table allows the batch upload a set of data containing potentially invalid elements, and then the execute of a verification process against the existing data in the database.
- the other difference between the staging table and the report table is that the report table contains key constraints between it and other tables in the system where the staging table does not. This means that the staging table has the requirement that each row of data in it have a corresponding entry in some other table elsewhere in the database. The staging table cannot have this requirement, as we do not make the effort to insure that the related elements exists in the related tables before bulk-uploading the data. This is an optimization that allows fast upload of data into the staging tables.
- a Set Allocations (SetAllocations) job For a Set Allocations (SetAllocations) job, the ADIS reads the current allocation settings for a campaign from the database and for each advertisement with a current allocation, the ADIS issues a request to the Internet Ad Server to modify the advertisement's properties in conformance with the allocation. Recall that an allocation specifies how the impressions are to be allocated amongst the different placements in the system.
- a Set Allocations job consists of a batch of allocations to be set for the entire campaign at the same time, rather than an allocation specific to one ad placement. Setting Allocations for more than one ad placement at the same time reduces the number of connections required with the external Message Server (Ad Server).
- the inventive system and method may alternatively be implemented without batched allocation setting.
- the ADIS queries the Internet Ad Server for a data listing buys, sites, zones, and advertisements for a given customer. Recall that a zone is a unique site and category combination, and a "buy" is a combination of the zones on a site at which the ads have been purchased.
- the resulting data from the Ad Server is stored in a local database within the system and is visible to the message product (e.g. banner ad product) customer through the User Interface pages.
- inventive method is advantageously implemented as a computer program on a general purpose computer, such as for example a computer operating in an Internet or other network server environment
- attention is now directed to an exemplary computer system which may be used in conjunction with the inventive method, procedure, computer program, and computer program product.
- computer 102 includes a processor or CPU 104 coupled to a fast random access memory 106 storing data 108 and procedures 110.
- Processor 104 is also conveniently coupled to one or more mass storage device 112 such as one or more hard disk drives of which many types are known,
- the mass storage devices may typically store information in one or more databases.
- databases may store performance data, allocation data, and other data and/or procedures or algorithms that are not currently being processed by the processor 104 or memory 106.
- Input/output devices 114 may also be conveniently coupled to the processor or other computer system 102 components for inputting data to the computer, retrieving results from the computer, monitoring activity on the computer or on other network devices coupled to the computer, or other operations as are known in the art.
- a network interface 116 such as a network interface card (NIC), modem, or the like is also conveniently provided.
- NIC network interface card
- Procedures 110 may for example, include an operating system 120, an optimization procedure 122, a state vector update procedure 124, a message allocation procedure 126, a pair-wise or other message alternative comparison procedure 128, as well as other procedures and algorithms 130.
- Data 108 may for example include one or more state vector 142, results vector 144, allocations vector 146, constraints list or constraints items 148, stage discount factors or parameters 150, threshold values 152, proportional of impressions or trials factors 154, or other data or parameters 156.
- Zone/banner States and State Vector For each combination of a zone and a banner, the inventive procedure retains a "state vector" that records all of the information that has been collected on the given banner at the given zone
- This state vector is updated at the end of each stage of the campaign to reflect the results of that stage.
- the state vector contains the history of impressions and clickthroughs for the given zone and banner.
- the results vector is a vector of the results of the most recent stage of the campaign. It contains the unprocessed impression and clickthrough data for each zone/banner combination. If a banner was not displayed at some zone during the most recent stage, the results vector indicates this fact.
- the allocations vector contains the recommended allocation of banners to impressions for the next stage of the campaign. Intuitively, these allocations are expressed in percentage terms. However, in practice the recommended allocations may be re-expressed in a form acceptable to the ad server. Hence, some translation or transformation may be provided.
- the Allocations Vector may also include a list of constraints, though the constraints list may be separately provided.
- a list of any constraints on the allocation of banners to impressions is stored in the constraints list. At least two types of constraints can occur. First, the user can specify the minimum number of banners that must be retained and displayed at each stage of the ad campaign. Second, the inventive procedure implemented as a computer program on a general-purpose computer retains a table of "banner exclusions."
- the table of exclusions includes for example, a table defined as a data structure in memory that indicates when a given banner should not be shown on a given zone. This table may include one or more entries or may be empty.
- the inventive procedure is advantageously run at the end of each stage of an ad campaign. It allocates the available banner impressions or banner ad alternatives at each zone for the next stage among the available banners. That is, it generates a strategy or recommendation for displaying banners during the next stage of the campaign.
- the algorithm uses the results from all prior stages. (Though in at least one embodiment, a selected range of data from older stages may optionally be discarded, and in a different embodiment, not all data from all stages has the same weight or value in the recommendation.)
- One objective is to allocate the banners at all stages so that the total number of positive results, such as user clickthroughs on a web site, recorded at all zones by all banners during the campaign is maximized.
- Other operations may optionally be performed, for example, during the ad campaign, the client advertiser or marketing manager may wish to delete or add a zone or banner.
- Step 204 the prior stage message state is read (Step 204).
- message performance results are read (Step 206). These performance data or results are typically received from another source, such as an ad service and stored (Step 208).
- the current (or new) message state is then computed (Step 210) using, for example, the state vector update procedure described in greater detail elsewhere herein.
- Message allocations possibly with some format transformation to adapt them to the particular format needs of a receiver, are generated (Step 212) and sent to the receiver such as a message service (Step 214).
- the message service will frequently be an ad service.
- the procedure is repeated until all stages in the campaign have been completed. This requires that the prior message state used in step 204 be replaced with the current message stage (Step 216) generated in step 210 before the next iteration (Step 218). New message performance results received in step 206 are also used for the next iteration.
- the procedure is applied relative to a single zone. If multiple zones are available, the procedure is applied to each of the multiple zones one-at-a-time to derive the allocations for that zone.
- the banner ad performance may improve or deteriorate over time so that generally the performance of an ad is non-stationary in a statistical sense. There are a number of potential ' reasons for a banner to have non-stationary behavior in the underlying performance.
- a banner that promises overnight delivery may be quite effective shortly before Christmas, but much less effective on the day after Christmas. Even absent a particular identifiable event, the performance of ads may change over time. For example, Internet visitors may see a given banner too many times and beyond some point the banner loses all attraction. As the fraction of visitors who have seen the ad too many times increases the performance of the banner deteriorates.
- One embodiment of the inventive procedure optionally but advantageously uses a "discounting" of the performance data in computing or updating the State Vector.
- Such discounting may be in the form of a binary step function where data older than a certain stage is simply ignored, in the form of a linear or non-linear weighting function, or according to any other weighting or discounting scheme.
- the discount is in the form of a geometrical discounting, that is, at the end of each stage all data (such as for example, the number of impressions and number of clickthroughs) is multiplied by a one-stage discount factor beta, ⁇ , where beta is a number less than one ( ⁇ ⁇ 1).
- s;(t) and n ⁇ (t) represent two components of the State Vector. Discounting reduces the impact of old data and allows the inventive algorithm to be more responsive to new data that may reflect changes in the clickthroughs rates or other performance indicators.
- the discounting is provided by the factor ⁇ .
- nj(t) H ⁇ triali(l), ..., triali(t-l), triali(t-l) ⁇ , for t > 2.
- sj(t) and n;(t) represent the State Vector for banner i.
- G ⁇ ... ⁇ none, some, or all, of the success;(t) and or triali(t) may actually weighted or discounted by the discounting function H ⁇ ... ⁇ , though in the preferred embodiment each is discounted.
- a campaign may already be executing.
- information may be available regarding the performance of the banners.
- This performance information can be used to initialize s;(l) and n;(l) as follows.
- a cumulative or discounting procedure as described in the previous section can be use to estimate s;(l) and n;(l) in the same fashion as s;(t) and n,(t) are calculated, for example, by either using the cumulative sum or some form of discounting.
- a campaign manager may have used the same banner in an earlier campaign or may have a prior judgement about the performance of the banner.
- the value of s;(l) and nj(l) for banner i can be set as follows.
- the manager can provide an estimate of the average performance of mean; for the banner i over the previous campaigns. He/she may decide that the information from the previous campaign is worth Nj impressions.
- s;(l) can be set to (mean; x Nj) and n;(l) can be set to N.
- the setting of s;(l) and n;(l) as described above can be used to incorporate managers prior experience or judgement of the banners. Larger values of N; imply that the manager is more confident about extrapolating the future performance of the banner based on his prior experience or judgement.
- the inventive procedure may allocate the impressions in any one of several possible manners. Such initial allocation may be based on objective or subjective criteria. In one embodiment, an even or uniform initial allocation of impressions are made from among the available banners. That is, if there are a number b banners, then each banner will receive 1/b of the total number of allocated impressions.
- the inventive procedure uses the available performance data (for example, the record of impressions and clickthroughs from the earlier stages), allocation information, and other information that may be available on the banners to divide the available banners into two classes: (i) a first group referred to as the contenders, and (ii) a second group referred to as the non- contenders.
- the "contenders” are the banners that are still in contention according to some criteria to be declared the best banner.
- the “non-contenders” are the banners that appear out of the running for best banner based on the available information.
- Banners that cannot be used for the next stage during which the new allocations are to be made would be placed in the third group, as they cannot be displayed during the next stage independent of how well they might perform.
- those ads that are available for the next stage are divided into either the contender or the non-contender group. Any one of these groups may have none, one, or a plurality of ads.
- one embodiment of the inventive procedure allocates the impressions among the banners as follows.
- ⁇ l be a constant that represents the proportion of impressions that will be allocated to the non-contenders at each stage. This ⁇ is a constant selected at the beginning of the campaign.
- the value selected is not critical as the inventive procedure will reallocate between contenders and non-contenders at subsequent stages. The value may also be selected so that impressions are not allocated to non- contenders.
- each contender receives the fraction (l- ⁇ )/b 1 of the available impressions, while each non-contender receives the fraction ⁇ /b 2 of the available impressions.
- the Allocation Vector may therefore take the form of (0.3, 0.3, 0.3, 0.05, 0.05) where the contenders each have a 30% proportion and the non- contenders each have a 5% proportion of the total.
- allocation vector of the form 0.3, 0.3, 0.3, 0.05, 0.05, 0.0.
- the division of banner ads into contenders and non- contenders is based on the following pair-wise test procedure for comparing two banners.
- a pair-wise test is used for each possible pair or combination of banners.
- V (njn 2 (si + s 2 )(f ⁇ + f 2 )/(n ⁇ + n 2 ) 3
- this statistic (Z ⁇ V) is greater (in absolute value) than some cutoff threshold value , then the procedure concludes that the click-through (or other performance indicia) rates are significantly different from each other.
- the user such as for example the marketing manager
- the value of the cutoff threshold value is selected to be between about Vi and about 1, based on empirical simulation results, but other values may be used.
- the pair wise test is applied to all pairs of banners. If a particular banner loses one of these comparisons (that is, if a banner is determined to have a significantly lower click-through rate than another banner), then that banner is designated as a non-contender. This pair-wise procedure guarantees that at least one contender will remain.
- the alternatives are divided into several sets based on the corresponding Perf values.
- the impressions are allocated to different alternatives such that the alternatives for sets corresponding to higher values of Perf get smaller numbers of impressions.
- the number of impressions allocated to all alternatives within a set is equal.
- the number of sets is equal to the number of alternatives. In this case, each alternative gets a different fraction of the total number of impressions (or trials).
- the value of Compare(ij) is positive if the performance of alternative i is better than alternative j, and the value of Compare(i j) is negative if the performance of banner j is better than banner alternative i.
- the algorithm deems an alternative k to be a non-contender if Perf(k) is above the cutoff threshold ⁇ , otherwise k is deemed to be a contender.
- One embodiment uses the value of Perf(k) to segment the banners into two or more sets (r > 2 sets).
- larger values of the performance function Perf(k) as defined here will generally imply poor relative performance of banner alternative k.
- the algorithm assigns a banner k to set j, where l ⁇ j ⁇ r, if ⁇ o-i) ⁇ Perf(k) ⁇ ⁇ ,-.
- the impressions are allocated to different alternatives such that the alternatives for sets corresponding to higher values of Perf get smaller fraction of impressions.
- the number of impressions allocated to all alternatives within a set is equal.
- the number of sets is equal to the number of alternatives. In this case, each alternative gets a different fraction of the total number of impressions (or more generally, total number of trials).
- One embodiment of the allocation algorithm is as follows. Define constant propu prop 2 , prop 3 , ..., prop r such that propi ⁇ prop 2 ⁇ prop 3 ⁇ ... ⁇ prop r .
- the above allocation does not guarantee a fixed fraction of impressions to be allocated to relatively under- performing sets. However, it guarantees that banners belonging to relatively poor performing sets get smaller number of impressions as compared to relatively higher performing sets.
- Procedure For Adding or Deleting Zones or Banners As mentioned previously, additional operations may be required when zones and/or banners are added or deleted. If a zone is deleted, then the number of available impressions for this zone is set to 0, and no further banners are allocated at this zone (unless the zone is re-introduced later). However, the data collected during earlier stages at this zone can be retained. Recall that in some embodiments, the earlier collected performance data is aged or discounted so that more recent performance data is given greater weight in the computations. If a banner is deleted, then this information is added to the constraint list so that the banner is no longer placed or not placed for a particular zone. Note that a banner may be deleted at one or more zones but remain for placement at other zones. After zones or banners have been deleted, all inputs to the inventive allocation computation procedure (for the remaining zones and banners) are available and allocation for the next stage is determined.
- any constraints that will affect the new zone are specified.
- the new state vector is initialized (for example, with an empty history) and any constraints on the banner are specified.
- this added banner is treated as though it were as good as the best existing banner, and is allocated the same number of impressions as the best banner (for each zone). However, this can be easily generalized to allocating more (or less) impressions than the best banner.
- the allocation algorithm is applied as usual.
- FIG. 3 provides for an external Message Server coupled to the database via the Internet through the Message Server Interaction Service.
- This approach is advantageous because it allows a loose coupling between the optimization system and the Message Server where they may be operated by separate business and operational entities, for instance. This is also necessary when for various business, security or operational reasons the Optimization Service does not have direct access to the database that the Message Server uses.
- Another advantage of this embodiment is that it abstracts out the functions of each type of message servers so that the optimization system can work over different implementations of these servers possibly done by different business entities. It also allows the user experience with the overall interface presented by the optimization system to be independent of the Message Server, and can continue to operate even when the Message Serve configuration is unavailable.
- several other alternative configurations of the Message Server, Message Server Interaction Service, and Database may be used.
- the Message Server 204 is part of an integrated system 202 including the Database 206, Optimization engine 208 and the User Interface 210.
- the Optimization Engine 208 is integrated right into the Message Server 204 and they share the same database.
- the User Interface 210 is integrated directly into the user interface of the Message Server - additional user interface elements are added on to the Message Server 204 user configuration interface to configure the optimization and get the optimization reports.
- This second alternative configuration is advantageously used when the Message Server 204 and the rest of the optimization system can closely be integrated without business or operational issues. It has the benefit that the database parameters do not need to be copied into another database (other than optimization that may be done on the message server side for purpose of run-time performance).
- the detriment to integrating the Message Server 204 with the Optimization Engine 208 is that this may be infeasible because of business and operational necessities. Further more, this system will typically lose the flexibility of the being able to integrate with multiple message servers that my have different database schemas.
- the Message Server 204 directly enters the message performance reports into the database 206, and takes over all of the database activity that the MSIS of the embodiment of FIG. 3 would perform.
- the part of the MSIS that talks to the Message Server 204 is no longer needed since the Message Server can directly perform the functions internally.
- the functions of the optimization system would still exist in a similar fashion.
- the User Interface 210 component for interacting with an external user 218 would be altered to add just the additional parameters and reports that the optimization system needs or presents.
- Campaign Settings and Optimization Engine Generated Settings are established by the OE Engine Service 208 and communicated in a similar manner to the integrated database component 206.
- a user input table 216 may be provide within the Message server 204.
- Job Table data structure is combined with the job structure that exists in the Message Server to generate periodic reports.
- Job Table remains unchanged, but all the jobs intended for MSIS in other embodiments are performed directly by the Message Server 204 itself.
- the optimizing engine 232 receives optimizing specifications 240 from an external source and generates message allocations which it uses to server messages.
- the messages may be advertisements, emails, and the like, as described herein.
- the receiver may any one or more of a variety of receiver types.
- the message will frequently be served to a personal computer connected to the world wide web via the internet.
- the message will be served via interactive television, electronic mail, palm-top information appliances and/or Personal Data Assistants (PDAs), hand-held wireless devices, or other interactive media.
- PDAs Personal Data Assistants
- the message includes an advertisement for goods or services.
- the advertisement will be for a commercial product, good, or service; however, non-commercial advertisements are also anticipated.
- One type of non-commercial advertisement is a so called "public-service" announcement.
- the Message Server Interaction Service is an Advertisement Server Interaction Service
- the Message Server is an Ad Server
- the Message Performance Reports are Ad Performance Reports
- the Message Control Agent is the advertiser
- the Message Campaign is an Ad Campaign.
- Email is an important medium for advertising and marketing. Many businesses now readily use email to acquire new customers, build brands, advertise and promote products, measure consumer satisfaction and manage customer relationships.
- a typical email campaign involves sending emails to each address on a list of recipients. The list may typically be bought or otherwise acquired from an outside firm or collected internally over a period of time. The procedures and algorithms developed above can be easily extended for optimizing the responses generated by emails.
- inventive procedures and algorithms may, for example, be extending to the email environment by decomposing the email process into multiple stages and dividing the measurement process into multiple stages. In each stage a fraction of total emails to be sent out to each alternative is given by the allocation algorithm described above.
- the major difference in an email application as compared to the afore described banner ad application is that there is a non-uniform delay between the time an email is sent out and the time a response is received.
- the message that is being served is a generic information item, such as for example, a news headline, a news story, a photograph or other graphic, a stock quotation or set of stock quotations, sports news or feature stories, marketing promotions or coupons, text or images on a web-site, text or images on a personal digital assistant, using wireless or other media to connect, is a message shown on interactive television.
- a generic information item such as for example, a news headline, a news story, a photograph or other graphic, a stock quotation or set of stock quotations, sports news or feature stories, marketing promotions or coupons, text or images on a web-site, text or images on a personal digital assistant, using wireless or other media to connect.
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU22938/01A AU2293801A (en) | 1999-12-29 | 2000-12-27 | System, method and business operating model optimizing the performance of advertisements or messages in interactive measurable mediums |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17368999P | 1999-12-29 | 1999-12-29 | |
| US60/173,689 | 1999-12-29 | ||
| US58639300A | 2000-06-02 | 2000-06-02 | |
| US09/586,393 | 2000-06-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2001048666A1 true WO2001048666A1 (fr) | 2001-07-05 |
Family
ID=26869435
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2000/035408 Ceased WO2001048666A1 (fr) | 1999-12-29 | 2000-12-27 | Systeme, procede et modele d'operation commerciale optimisant les performances de messages publicitaires ou de messages dans des media mesurables interactifs |
Country Status (2)
| Country | Link |
|---|---|
| AU (1) | AU2293801A (fr) |
| WO (1) | WO2001048666A1 (fr) |
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080040217A1 (en) * | 2006-05-12 | 2008-02-14 | Dellovo Danielle F | Systems, methods, and apparatuses for advertisement generation, selection and distribution system registration |
| US7747465B2 (en) * | 2000-03-13 | 2010-06-29 | Intellions, Inc. | Determining the effectiveness of internet advertising |
| AU2013202451B2 (en) * | 2006-05-12 | 2015-02-12 | Monster Worldwide, Inc. | Systems, methods, and apparatuses for advertisement generation, selection and distribution system registration |
| WO2013173193A3 (fr) * | 2012-05-17 | 2016-04-07 | Persado Intellectual Property Limited | Système et procédé de recommandation d'une grammaire pour une campagne de messages utilisés par un système d'optimisation de messages |
| US9741043B2 (en) | 2009-12-23 | 2017-08-22 | Persado Intellectual Property Limited | Message optimization |
| US9779390B1 (en) | 2008-04-21 | 2017-10-03 | Monster Worldwide, Inc. | Apparatuses, methods and systems for advancement path benchmarking |
| US9959525B2 (en) | 2005-05-23 | 2018-05-01 | Monster Worldwide, Inc. | Intelligent job matching system and method |
| US10181116B1 (en) | 2006-01-09 | 2019-01-15 | Monster Worldwide, Inc. | Apparatuses, systems and methods for data entry correlation |
| US10387839B2 (en) | 2006-03-31 | 2019-08-20 | Monster Worldwide, Inc. | Apparatuses, methods and systems for automated online data submission |
| US10504137B1 (en) | 2015-10-08 | 2019-12-10 | Persado Intellectual Property Limited | System, method, and computer program product for monitoring and responding to the performance of an ad |
| US10832283B1 (en) | 2015-12-09 | 2020-11-10 | Persado Intellectual Property Limited | System, method, and computer program for providing an instance of a promotional message to a user based on a predicted emotional response corresponding to user characteristics |
| US11995613B2 (en) | 2014-05-13 | 2024-05-28 | Monster Worldwide, Inc. | Search extraction matching, draw attention-fit modality, application morphing, and informed apply apparatuses, methods and systems |
| US12314907B2 (en) | 2006-03-31 | 2025-05-27 | Monster Worldwide, Inc. | Apparatuses, methods and systems for automated online data submission |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5727129A (en) * | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
| US5809481A (en) * | 1996-08-08 | 1998-09-15 | David Baron | Advertising method and system |
| US5848397A (en) * | 1996-04-19 | 1998-12-08 | Juno Online Services, L.P. | Method and apparatus for scheduling the presentation of messages to computer users |
| US5873068A (en) * | 1994-06-14 | 1999-02-16 | New North Media Inc. | Display based marketing message control system and method |
| US5937037A (en) * | 1998-01-28 | 1999-08-10 | Broadpoint Communications, Inc. | Communications system for delivering promotional messages |
| US5937392A (en) * | 1997-07-28 | 1999-08-10 | Switchboard Incorporated | Banner advertising display system and method with frequency of advertisement control |
| US6128651A (en) * | 1999-04-14 | 2000-10-03 | Americom Usa | Internet advertising with controlled and timed display of ad content from centralized system controller |
| US6161127A (en) * | 1999-06-17 | 2000-12-12 | Americomusa | Internet advertising with controlled and timed display of ad content from browser |
-
2000
- 2000-12-27 AU AU22938/01A patent/AU2293801A/en not_active Abandoned
- 2000-12-27 WO PCT/US2000/035408 patent/WO2001048666A1/fr not_active Ceased
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5873068A (en) * | 1994-06-14 | 1999-02-16 | New North Media Inc. | Display based marketing message control system and method |
| US5848397A (en) * | 1996-04-19 | 1998-12-08 | Juno Online Services, L.P. | Method and apparatus for scheduling the presentation of messages to computer users |
| US5727129A (en) * | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
| US5809481A (en) * | 1996-08-08 | 1998-09-15 | David Baron | Advertising method and system |
| US5937392A (en) * | 1997-07-28 | 1999-08-10 | Switchboard Incorporated | Banner advertising display system and method with frequency of advertisement control |
| US5937037A (en) * | 1998-01-28 | 1999-08-10 | Broadpoint Communications, Inc. | Communications system for delivering promotional messages |
| US6128651A (en) * | 1999-04-14 | 2000-10-03 | Americom Usa | Internet advertising with controlled and timed display of ad content from centralized system controller |
| US6161127A (en) * | 1999-06-17 | 2000-12-12 | Americomusa | Internet advertising with controlled and timed display of ad content from browser |
Cited By (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7747465B2 (en) * | 2000-03-13 | 2010-06-29 | Intellions, Inc. | Determining the effectiveness of internet advertising |
| US9959525B2 (en) | 2005-05-23 | 2018-05-01 | Monster Worldwide, Inc. | Intelligent job matching system and method |
| US10181116B1 (en) | 2006-01-09 | 2019-01-15 | Monster Worldwide, Inc. | Apparatuses, systems and methods for data entry correlation |
| US12314907B2 (en) | 2006-03-31 | 2025-05-27 | Monster Worldwide, Inc. | Apparatuses, methods and systems for automated online data submission |
| US10387839B2 (en) | 2006-03-31 | 2019-08-20 | Monster Worldwide, Inc. | Apparatuses, methods and systems for automated online data submission |
| AU2013202451B2 (en) * | 2006-05-12 | 2015-02-12 | Monster Worldwide, Inc. | Systems, methods, and apparatuses for advertisement generation, selection and distribution system registration |
| US20080040175A1 (en) * | 2006-05-12 | 2008-02-14 | Dellovo Danielle F | Systems, methods and apparatuses for advertisement evolution |
| US20080040217A1 (en) * | 2006-05-12 | 2008-02-14 | Dellovo Danielle F | Systems, methods, and apparatuses for advertisement generation, selection and distribution system registration |
| US20140040018A1 (en) * | 2006-05-12 | 2014-02-06 | Monster Worldwide, Inc. | Systems, Methods, and Apparatuses for Advertising Generation, Selection and Distribution System Registration |
| US20080120154A1 (en) * | 2006-05-12 | 2008-05-22 | Dellovo Danielle F | System and method for advertisement generation |
| US10387837B1 (en) | 2008-04-21 | 2019-08-20 | Monster Worldwide, Inc. | Apparatuses, methods and systems for career path advancement structuring |
| US9779390B1 (en) | 2008-04-21 | 2017-10-03 | Monster Worldwide, Inc. | Apparatuses, methods and systems for advancement path benchmarking |
| US9830575B1 (en) | 2008-04-21 | 2017-11-28 | Monster Worldwide, Inc. | Apparatuses, methods and systems for advancement path taxonomy |
| US10269028B2 (en) | 2009-12-23 | 2019-04-23 | Persado Intellectual Property Limited | Message optimization |
| US9741043B2 (en) | 2009-12-23 | 2017-08-22 | Persado Intellectual Property Limited | Message optimization |
| WO2013173193A3 (fr) * | 2012-05-17 | 2016-04-07 | Persado Intellectual Property Limited | Système et procédé de recommandation d'une grammaire pour une campagne de messages utilisés par un système d'optimisation de messages |
| US10395270B2 (en) | 2012-05-17 | 2019-08-27 | Persado Intellectual Property Limited | System and method for recommending a grammar for a message campaign used by a message optimization system |
| US11995613B2 (en) | 2014-05-13 | 2024-05-28 | Monster Worldwide, Inc. | Search extraction matching, draw attention-fit modality, application morphing, and informed apply apparatuses, methods and systems |
| US10504137B1 (en) | 2015-10-08 | 2019-12-10 | Persado Intellectual Property Limited | System, method, and computer program product for monitoring and responding to the performance of an ad |
| US10832283B1 (en) | 2015-12-09 | 2020-11-10 | Persado Intellectual Property Limited | System, method, and computer program for providing an instance of a promotional message to a user based on a predicted emotional response corresponding to user characteristics |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2293801A (en) | 2001-07-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7130808B1 (en) | Method, algorithm, and computer program for optimizing the performance of messages including advertisements in an interactive measurable medium | |
| JP5172339B2 (ja) | 広告データの統合及び集約のためのプラットフォーム | |
| US7949562B2 (en) | System and method for optimizing advertisement campaigns using a limited budget | |
| US7970713B1 (en) | Method and apparatus for automatic pricing in electronic commerce | |
| US20050071223A1 (en) | Method, system and computer program product for dynamic marketing strategy development | |
| US20060026063A1 (en) | System and method for advertising campaign strategy development and optimization | |
| US20070157245A1 (en) | System and method for optimizing advertisement campaigns using a limited budget | |
| US20110178851A1 (en) | Enhancing virally-marketed facilities | |
| US20020128910A1 (en) | Business supporting system and business supporting method | |
| US20030220830A1 (en) | Method and system for maximizing sales profits by automatic display promotion optimization | |
| US20090327028A1 (en) | Systems and Methods for Utilizing Assist Data to Optimize Digital Ads | |
| US20090327030A1 (en) | Systems and Methods for Creating an Index to Measure a Performance of Digital Ads as Defined by an Advertiser | |
| US20090327029A1 (en) | Systems and Methods for Utilizing Normalized Impressions To Optimize Digital Ads | |
| US20160210656A1 (en) | System for marketing touchpoint attribution bias correction | |
| US20050261959A1 (en) | System and method for targeted marketing through intermediate resellers | |
| CA2379866A1 (fr) | Procede et systeme permettant de determiner quels sont les consommateurs remplissant les conditions d'attribution d'abonnements a des publications specialisees | |
| WO2001048666A1 (fr) | Systeme, procede et modele d'operation commerciale optimisant les performances de messages publicitaires ou de messages dans des media mesurables interactifs | |
| Chickering et al. | Targeted advertising with inventory management | |
| US8805715B1 (en) | Method for improving the performance of messages including internet splash pages | |
| US20080082386A1 (en) | Systems and methods for customer segmentation | |
| WO2001015053A2 (fr) | Systeme et procede permettant l'acces d'un utilisateur a un reseau informatique | |
| KR102579156B1 (ko) | 오디언스별 동적 미디에이션을 지원하는 광고 서비스 제공 장치 및 방법 | |
| US20250292284A1 (en) | System and Method to Measure the Performance of an Online Advertisement and Update the Control Group in Real Time | |
| WO2008070834A2 (fr) | Procédé d'automatisation de vente sur des chaînes numériques | |
| WO2008142662A9 (fr) | Procede et systeme permettant de fournir un profilage de depenses media |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| 122 | Ep: pct application non-entry in european phase | ||
| NENP | Non-entry into the national phase |
Ref country code: JP |