Abstract:
A novel method of automated, real-time website optimization at least includes: a) receiving website optimization data including an optimization goal, and website source code; b) receiving website optimization criteria indicative of the completion of a website optimization experiment; c) executing an optimization algorithm used to select an optimized website version; d) comparing the output of the optimization algorithm with the website optimization goal to determine whether the website version under consideration is optimized; e) providing feedback from the output of the executed optimization algorithm to an input of the optimization algorithm; f) based upon the feedback, determining the next iterative step of the optimization algorithm; g) performing new iterative steps of the optimization algorithm; h) converging to an optimized website state; and i) modifying the website source code to implement the optimum version of the website.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to schemes for automatically and intelligently searching for the best versions of websites by optimizing user defined criteria. 
     2. Background 
     The online advertisement industry is experiencing a dramatic growth fueled by its low cost and interactivity. While a great deal of time and money has been dedicated to increasing website traffic, heretofore, little attention has been paid to increasing website conversion rates (i.e., the rates at which website visitors engage in desired business activity while visiting the website). 
     Optimizing a website to increase conversion rates is a very complex undertaking. One problem is that visitor demographics and preferences are not known. Another problem is that each page of a website consists of a large number of variable factors, such as page content, visuals, call-for-action links (callouts), fonts, and page layouts. Combinations of these factors create millions of possible variations on the look and feel of a particular web page. Yet, empirical evidence shows that a minute change in the website look and feel, such as the color of a “submit” button, for example, can dramatically change the conversion rate of the web page. 
     An additional challenge to website optimization is the real-time nature of the online marketing. Often, a major marketing promotion can be finished in matter of minutes or hours, leaving no time for any manual experimentation or analysis. And finally, making any changes to a website is a very labor intensive process. 
     Companies are attempting to increase website conversion through variety of approaches. Some approaches rely entirely on the experience of consultants and designers who apply their rich empirical knowledge to produce a website expected to have a high conversion rate. Such an approach, however, is a subjective one. What is successful for one company may not be effective for another. Further, even if a new version is more successful than a previous version, it is not clear as to whether the website has reached the maximum conversion rate. 
     Others apply scientific methods of measuring website conversion, and run experiments for the purpose of finding a version of the website that has the highest conversion rate. The simplest method is the so called “A/B” testing method. In essence, this is a brute force method where two (or some small number) of the most likely versions of the website are tested to find the better one. Normally, the A/B experiments are perpetually performed in a never-ending search for a better solution. These experiments are labor intensive, and their search methodology is quite inefficient. If one is testing a few out of millions of possible variations of the single page, it is easily understandable that the probability of finding the best solution is quite low. 
     A much better method is the multivariable (or multivariate) testing method offered by companies such as Google, Memetrics, Optimost LLC, SiteSpect, Offermatica, and others. This Letters Patent hereby classifies those methodologies as an open loop approach, or a batch processing website optimization method. The open loop methodology relies on the following key optimization steps: experiment design; experiment execution; and statistical analysis and modeling. 
     “Open-loop” is a well-known term of art from the field of automatic control systems. Consistent with the definition, an open-loop controller does not utilize feedback to determine if its output has achieved the desired goal of its input, or stated another way, an open-loop system does not observe the output of the processes that it is controlling. 
     In the experiment design a vendor may choose a full factorial approach (i.e. test all possible variations of a page or website pages) or fractional factorial approach, where only a subset of possible page variations is tested. Vendors might use different approaches in designing the optimization experiments, but the common outcome is a creation of a list of the web page (web site) versions (i.e., different page impressions), that will be tested. In the next step, all page impressions from the said list are tested, and measurement data is collected. During the statistical analysis and modeling phase, the experimental data is processed to predict the best variation of the page (or website). Different statistical methods may be used in the statistical analysis step, such as, for example, the Taguchi method, Bayesian Markov Chain Monte Carlo estimation procedures, or a Genetic Algorithm. 
     This open-loop approach suffers from a number of disadvantages. Since statistical characteristics of the variable elements included in the experiment are not known beforehand, the experiment designers are forced to create the experiments containing a large number of the page impressions that are participating in the experiment. As a result, the experimentation is time consuming, and more expensive than is desirable. The methodology involves static optimization (e.g., test once, and use the best solution), while the online marketplace is very dynamic, with rapidly changing user preferences and requirements. Such an approach will not be able to detect or respond to the aforementioned changes. Finally, the approach is hardwired for a specific statistical methodology, and such a “one size fits all” approach might not work well for different types of customers. 
     Several prior art Letters Patents related to website optimization are discussed below. U.S. Pat. No. 6,934,748 to Louviere, et al. discloses an automated open loop (i.e., no feedback) system for experimentation that includes an experiment engine which can define an experiment relating to various treatments for a set of content elements. U.S. Patent Application Number 20040123247 by Wachen discloses a method and apparatus for altering electronic content that includes a template for assigning variables and values to a section of the content, a generator that creates the permutations of the content, a transmitter that provides the content to a requestor and an evaluator and optimizer that aids in selecting the most optimal permutation of the content. U.S. Patent Application Number 20060271671 by Hansen, discloses a method and system for optimizing web visitor conversion using a reverse proxy server to introduce page variations on existing website content without the need to modify the existing target server. 
     U.S. Patent Application Number 20030014304 by Calvert, et al. discloses a method of evaluating Internet advertisement effectiveness that involves collecting Internet activity information associated with a multitude of “cookies.” U.S. Pat. No. 5,968,125 to Garrick, et al. discloses a process for determining the effectiveness of a web page to a visitor by creating alternative and test web pages, sending requests to the test web page, and monitoring the use of the web page and the rate that the web page objective was met and replacing pages with the page most visited. U.S. Patent Application Number 20020042738 by Srinivasan, et al. discloses a method and system for measuring the effectiveness of the layout or appearance of a website advertisement to a visitor, wherein different visitors are shown different formats of the same page, response to the page is monitored, and statistics are analyzed regarding the responses. 
     U.S. Patent Application Number 20030018501 by Shan discloses a method and system for processing test data relevant to specific behavior of visitors of a website. U.S. Pat. No. 6,662,215 to Moskowitz, et al. discloses a system and method for determining appropriate website content for consumers comprising a server arrangement, including a “real time content optimization” server, a user computer, and a network, wherein upon request a web page is generated for the user having static and dynamic elements which are tested for user reaction and response. 
     SUMMARY OF THE INVENTION 
     The invention comprises a method and apparatus that will enable a fully automated, self-learning (adaptive) website optimization solution based on a closed-loop approach. The new approach is not limited to a particular optimization methodology or a particular optimization algorithm. Instead, it is a framework that enables the use of the existing or new inventive optimization methods or algorithms in website optimization closed loop applications. The present-inventive method and apparatus include the ability to assign variable factors and measured goals, the ability to initialize the optimization process, and then to automatically generate changes in the website while measuring visitor responses until the process converges to the best solution. The automated website changes are driven by the optimization algorithm which enables convergence toward the best solution after testing only a limited number of possible web page (website) variations. The method can be applied to any type of website, programmed in any type of programming language, regardless of number of website tiers and components, type of operating system and web server. 
     To achieve high reliability and high performance the present-inventive method and apparatus provides for highly parallel distributed computing with a unique way of queuing optimization steps to maximize the use of computing assets, as well to ensure that the end user experience is not compromised. 
     The benefits achieved by this approach are: 1) Increased website optimization speed, as the dynamic self-learning approach will require testing of a minimum subset of all possible variations of the web page (web site), ensuring the best possible solution with the minimum number of testing iterations; 2) The ability to adapt to dynamical website changes, as self-learning algorithms will learn about changes in behavior of website visitors and adopt its results accordingly; and 3) Support for multiple optimization methods and algorithms, as no single algorithm or a method can effectively solve every type of the optimization problem or every type of customer demographics. 
     In view of the aforementioned problems and deficiencies of the prior art, the present invention provides method of automated, real-time website optimization that at least includes: a) receiving website optimization data including an optimization goal, and website source code; b) receiving website optimization criteria indicative of the completion of a website optimization experiment; c) executing an optimization algorithm used to select an optimized website version; d) comparing the output of the optimization algorithm with the website optimization goal to determine whether the website version under consideration is optimized; e) providing feedback from the output of the executed optimization algorithm to an input of the optimization algorithm; f) based upon the feedback, determining the next iterative step of the optimization algorithm; g) performing new iterative steps of the optimization algorithm; h) converging to an optimized website state; and i) modifying the website source code to implement the optimum version of the website. 
     The present invention also provides an optimization system for the automated, real-time optimization of a website at least including: a) an Internet device adapted to allow access to a website by an Internet user; b) a web server adapted to host the website; c) a website configuration management module adapted to automatically change the website content and appearance; d) a website performance measurement module adapted to automatically measure multiple performance variables; and e) an optimization engine adapted to execute one or more optimization algorithms. The optimization engine is further adapted to receive feedback from the output of the executed optimization algorithm to an input of the optimization algorithm, based upon the feedback, determine the next iterative step of the optimization algorithm, perform new iterative steps of the optimization algorithm, and converge the website to an optimized state. 
     Additional objectives and advantages of the invention will be further explained in the description that follows. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWING FIGURES 
       Features and advantages of the present invention will become apparent to those skilled in the art from the description below, with reference to the following drawing figures, in which: 
         FIG. 1  is a schematic diagram of a prior art process for open loop website optimization; 
         FIG. 2  is a schematic diagram of a process for closed loop website optimization according to the present invention; 
         FIG. 3  is a schematic diagram of a system capable of closed loop website optimization according to the present invention; 
         FIG. 4  is a schematic diagram detailing the Experiment Setup Module of the system in  FIG. 3 ; 
         FIG. 5  is a schematic diagram detailing the Self-Learning Website Optimization Module of the system of  FIG. 3 ; and 
         FIG. 6  is a flowchart illustrating the steps carried out by an adaptive optimization algorithm according to the present invention. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       FIG. 1  illustrates a prior art system  100  depicting the open loop nature of the existing website optimization methods. To begin an open loop web optimization process, an Experiment Input Module  110  defines variable elements and optimization goals for the optimization experiment. Once experiment input is complete, an experiment design module  120  generates a batch of website optimization experiments, i.e. variations of web page (or website if it is multi-page experiment). Next, the batch of the website optimization experiments is tested with real website visitors (symbolically represented by the element  140 ) via changing the version of the website  50  through a Website Content Management Module  130  that translates the experiment design data into different versions of website content. 
     Results of visitors&#39; activity on the website  150  are measured and collected by a measurement module  160  in accordance with the user-defined optimization goals. A Batch of data is then statistically analyzed and modeled by a statistical analysis and modeling module  170  to predict the optimum solution  180 . The optimum solution might be then further tested so the estimates can be proved or returned back to the statistical analysis model for further modeling and better prediction. 
     The general process diagram for the present-inventive closed loop (i.e., self-learning and adaptive) optimization method  200  is illustrated in  FIG. 2 . The optimization process is initialized by an Experiment Setup Module  210 . Once the experiment is set and ready for execution the process of experimentation is initialized by one or more initial web page (or website) configurations generated by a Self-learning Website Optimization Module  250 , and then performed by a Website Configuration Module  260 . Live visitors (symbolically represented by the number  220 ) who visit a Website  230  are tracked, and the result of their actions is measured by a Measurement Module  240 . Via a Completion Criteria Module  270 , these measurements are fed back to the Self-learning Optimization Module  250 , which automatically generates an instruction about the next version (or versions) of the website. The instruction about the new version of the website is again processed by the Website Configuration Module  260 , creating a new version of the website whose performance is measured and sent back to the Self-learning Optimization Module  250 . 
     The iterative, self-learning optimization process continues until the user-defined completion criteria have been met. The end of the optimization process is determined by the Completion Criteria Module  270 . An Optimum Solution Deployment Module  280  module implements the optimum solution, or solutions in case of a multi-segment experiment. 
     One embodiment of a system capable of carrying out the present-inventive closed loop optimization approach is illustrated in  FIG. 3 . The optimization system  300  includes one or more World Wide Web Brower Devices  310  which website visitors use to access a website undergoing optimization. The website may be hosted, for example, by a Website Hosting System  320  via an Internet Connection  311 . A Website Configuration Management System  330  manages the configuration of the website as presented to the browser  310 . A Measurement System  340  measures one or more website performance variables, such as the number of clicks on particular hyperlink or website button in accordance with user-defined optimization goals. 
     An Optimization and Implementation System  350  is the primary website optimization system. The system  350  enables experiment setup via an Experimental Setup Module  351 , self-learning optimization via a Self-Learning Optimization Module  352 , and post optimization implementation via an Implementation Module  353 . The modules  351  and  352  are described in more detail, infra, with reference to  FIGS. 4 and 5 . The optimization solution can be delivered as a packaged application to be installed on the user&#39;s own system, or it can be delivered as a shared, hosted solution provided by a specialized service provider. The terms “user” and “end-user” are used interchangeably throughout this Letters Patent, referencing the entity that owns or has dominion over the web site, or desires to optimize performance of a website. 
     The Website Configuration Management System  330  can be of the stand-alone variety, or it can be subsumed by the Website Hosting System  320 , the Browsing Device  310 , or the Optimization and Implementation System  350 . Similarly, the Measurement System  340  can be of the stand-alone variety, or part of other systems included in the Optimization Apparatus  300 . 
     Turning to  FIG. 4 , the Experiment Setup Module  351  is described in more detail. The experiment setup operations enable integration between the existing website and the optimization system that will perform the optimization experiment. The integration can be accomplished in hard-wired way where website source code is changed to insert in the proper locations, program calls that will create the interaction with website and the optimization system. The program calls will typically be executed by the web servers, before sending the page to the browser, or by the browser itself, for example, using Java Script. Or, integration can be achieved via “soft” methods such as a reversed proxy approached described in U.S. Patent Application Number 20060271671, as well as others. Mostly, the integration can be manually performed via the interventions of trained technicians or programmers. However, considering that a typical user of the website optimization solution in a corporate setting is a non-technical marketing person, the preferred embodiment for the experiment setup module includes systems and software modules that will automate most of the aspects of the experiment setup. 
     A Variations and Goal Setup Module  410  activates a Graphical User Interface (GUI) driven visual setup tool that enables marketing professionals to visually select sections of website that will participate in the optimization process, and to assign variations of these sections. Also, the module enables visual selection of the conversion goals that the Measurement System will track and measure during the optimization process. The term “sections” is used in this description to define areas or elements of the web page that will be tested in the optimization experiment, and the term “variations” is used in this description to define different versions of the sections that will be tested during the optimization experiment. 
     An example of a suitable setup method is the subject of U.S. patent application Ser. No. 11/729,569 filed Mar. 29, 2007 by Buchs, et al., and assigned to Hiconversion, Inc., the assignee of the present Letters Patent, for “Method and Apparatus for Application Enabling of Websites,” which is hereby incorporated by reference. Once web page sections and conversion goals are defined for the website optimization implementation, there is typically the need to perform source code editing that will add additional lines of code necessary for interaction with the website optimization system. A Source Code Management tool  420  enables automated website source code editing in the aforementioned patent application. 
     During the experiment setup a user may decide to segment the general website visitor population based on certain segmentation criteria such as, but not limited to, visitor source (such as certain search engines), geography, or daily time segments (so called day-parting). A Segmentation Component  430  enables capture and storage of the segmentation information. An Optimization Algorithm Selection and Provisioning Tool  440  enables selection and configuration of one of the optimization algorithms supported by the Self-Learning Website Optimization Module  352 . A Safeguards Module  450  enables setup of the experiment safety trigger points as may be either default choices, or set by the user. If the optimization algorithm performance falls below a certain level, the user will either receive a warning or the experiment can be aborted. 
     Data generated by any of the components of the Experiment Setup Module  351  are stored in a Data Storage Module  460  comprising a data base management utility and permanent storage. 
     Turning to  FIG. 5 , the Self-Learning Website Optimization Module  352  will now be described in more detail. An Experimental Data Modeling Module  510  processes data sets from the Experiment Setup Module  351 . Abstract website optimization information is mapped to the specific data format of the self-learning algorithm employed. For example, if data is mapped to the algorithm based on the adaptive Wiener filter method, section variations might represent weights of the nth order filter, where n represents number of sections participating in the experiment. The encoding is specific to each algorithm. The experiment encoding information is then submitted to a State Management Module  540  which controls the algorithm computations. 
     A Measured Data Acquisition Module  520  acquires measurements and data sets produced by Measurement System  346 . In addition to actual optimization goal results, Measurement System also delivers desired demographic and time stamp information. The collected data is then statistically analyzed in a Measured Data Estimation Module  522 , which module supports one or more statistical data analysis methods, such as data regression, maximum likelihood estimation, and many others. A Safeguard Management Module  526  continually monitors the performance of the optimization algorithm and acts in accordance with the Experiment Setup trigger points established via the Safeguards Module  450 . Based on the current conditions, the Safeguard Management Module  526  might suspend the algorithm and issue an experiment abort order through the Website Configuration Management System  330 . 
     A Queuing Module  530  enables effective and simultaneous processing of multiple experiments. For example, the end user&#39;s objective to segment website visitors according to the search engine from which visitors originate will result in virtual experiments for each search engine. Consequently, there will be multiple optimization processes competing for the same resources. Queuing will ensure orderly effective execution of the iterative steps involved in the optimization process. 
     The State Management Module  540  enables effective use of the computing resources. Although the close loop iterative method of the present invention implies real-time computing, in practice, the experimentation requires processing of many visitors as a way to create statistically viable measurements. Depending on the volume of website traffic, the process might take minutes or hours to complete. During lulls, it is not efficient for the optimization module executing an optimization experiment to monopolize system resources. At such times, the State Management Module  540  temporarily saves all algorithm state attributes to a Data Storage Device  598 , and frees computing resources for other experiments or users of the system. Once there is a need to process the next iterative step in the optimizationalgorithm, the state attributes are restored and next iterative step is then executed. 
     An Algorithm Computing Module  550  performs iterative computing in accordance with the logic of the particular optimization algorithm. The algorithm computing results are then fed into an Algorithm Output Decoding Module  555  which maps the algorithm output data into data understandable by a Configuration Data Management Module  560 , which then submits this data to the Website Configuration Module  260 . 
     A Data Analysis Module  570  and a Real-time Reporting Module  580  provide additional insight into experiment results. The Data Analysis Module  570  can pre-process and prepare standard reports so that such reports are immediately on demand for a user&#39;s viewing. To ensure maximum operational readiness a Data Mirroring Module  590  mirrors all experiment data sets on an alternative computing setup, so that in the event of system failure, the optimization experiment can be executed from the alternative location without noticeable impact on the performance of the experiment. 
       FIG. 6  further describes closed-loop optimization steps performed by the optimization program. The actual website optimization program  600  is carried out by the optimization module  250 . The program execution begins with Step  602 , in which a Project State File is created or updated by storing project set-up data therein. In addition to supplying data for use during the optimization project, the Project State File also stores new data generated during the optimization project. In Step  604 , the optimization setup data is encoded into a data format required by the specific optimization algorithm. Step  606  initializes the iterative algorithm execution. Steps  606 - 620  are the primary elements of the closed loop iterative optimization procedure. 
     In Step  608 , the Adaptive Optimization Algorithm performs an iterative computing step based on the measurements collected during the web tests performed in Step  612 . In Step  610  the output of algorithm is decoded in the data format understandable to website configuration module  560 . The new website configuration is tested in Step  612 , and new measurement data is then collected. Before repeating the iterative loop, the program performs an experiment completion test in Step  618  and a safety trigger test in Step  620 . If measured results have satisfied the completion criteria, the program terminates the optimization process and proceeds to implement the optimum solution in the Step  626 . This step may be automatically performed immediately following the successful completion of the optimization experiment, or at some later date. 
     If a safety trigger point is reached, the program performs a Safeguard action defined in the experiment setup Step  602 . An example of a safeguard action is the termination of the optimization experiment if the average web page conversion is below a certain threshold, and reinstating the base version of the page. 
     Variations and modifications of the present invention are possible, given the above description. However, all variations and modifications which are obvious to those skilled in the art to which the present invention pertains are considered to be within the scope of the protection granted by this Letters Patent.