Patent Publication Number: US-2022215422-A1

Title: A system and method for performing a/b testing

Description:
TECHNICAL FIELD 
     The invention relates to a system and method for performing A/B testing in order to show the web page of an internet application to users in different variations and to allow action to be taken according to the usage behavior of the users. 
     To clarify, the present invention relates to a method which secures that precise version of an A/B test scenario is displayed to corresponding test buckets in an internet application having cache memory that runs on mobile or computing devices. 
     More specifically, the present invention addresses the problem that even though the users are splitted into individual test groups, they are responded with a unified cache. In other words, same content is cached and displayed to the experiment and control groups which is a contradiction to the main goal of A/B testing. Therefore, cache content of test buckets are isolated from each other and default version of web service response by multiplying the cache and creating unique cache keys according to experimental versions of internet application. 
     PRIOR ART 
     E-commerce sites are applications which emerged up by the increase in the internet usage and allows the trade to be carried out in a virtual environment. The concept of e-commerce is a method that allows shopping on a website for any product or service. With the e-commerce, trade is gone beyond just selling to a specific location. 
     With the advancement in the technology, the shopping habits of consumer have started to change. Recently, interest in e-commerce websites and other internet applications has been increasing. It is seen as an advantage for the consumers that e-commerce sites save time and space during shopping compared to physical stores and consumers can find each product together. 
     On the seller side, it attracts great attention due to the lower costs. For this reason, A/B testing is applied to increase sales. A/B testing can be applied in almost any area such as advertisements, website and mobile applications. A/B testing which, is one of the most frequently used methods in e-commerce sites, can be expressed as applying of behavior test on users in general. While implementing the A/B test, different content and design model for the website can be directed to different users. 
     A kind of experiment is done with the A/B testing. Different variations with the control group are evaluated by users. As a result of the evaluation, by analyzing the data, it is determined which variation works better. Different decisions are made according to users&#39; behavior and usage by showing the website page differently to the users with the A/B testing. 
     In the A/B test methods used currently, the cache of the website is created on the basis of the URL (Uniform Resource Locator). If the website has cache, the same result is shown to all users without interacting with the internet service running back. Showing the same result is an obstacle to A/B testing. In the prior methods, there is not any solution for performing the A/B testing although it has cache and for displaying the same web page content of an internet application with different contents by creating the cache and cache keys for the internet application. 
     This situation requires for emerging of a method which allows always the correct A/B group to be shown when performing the A/B test in an internet application having cache memory that runs on mobile or computing devices. 
     In the patent document no U.S. Pat. No.  9 , 077 , 780 , a solution is mentioned for performing A/B testing of a web page content. It provides that one of at least two different versions of web page that will be displayed to user, is chosen. However, here, there is not any solution for the A/B test to be performed although it has cache by displaying the same web page content of an internet application with different contents by being created according to the cache and cache keys of the internet application. 
     In the patent document no U.S. Pat. No.  8 , 775 , 603 , it is mentioned a method that allows testing of website content variations to optimize website visitor conversions. Here, it is provided the website operators to create content variations, thereby the impact of these variations on conversion rates are scientifically tested and measured. Therefore, there is not any method which allows always the correct test group to be shown when performing the A/B test in an internet application having cache memory that runs on mobile or computing devices. 
     In the patent document no U.S. Pat. No.  10 , 049 , 169 , it is mentioned a method that allows the usage of visitor content and web page feature for determining the content of the web page that will be displayed. However, here, there is not any solution for the A/B test to be performed although it has cache by displaying the same web page content with different contents by being created according to the cache and cache keys of the website. 
     As a result, the need for the A/B testing to be performed although it has cache by displaying the same web page content of an internet application with different contents by being created according to the cache and cache keys of the internet application, requires the present innovative solution to emerge up. 
     OBJECTIVES AND SHORT DESCRIPTION OF THE INVENTION 
     Aim of this invention is to present a system and method for performing A/B testing in order to show the web page of an internet application running on a computing or mobile device to users in different variations and to allow action to be taken according to the usage behavior of the users. 
     Another aim of this invention is to present a method which allows always the correct A/B group to be shown when performing the A/B test in an internet application having cache memory that runs on mobile or computing devices. 
     Another aim of this invention is to perform the A/B test although it has cache by displaying the same web page content of an internet application with different contents by being created according to the cache and cache keys of the internet application. 
     For achieving the aims given above, the invention presents a system which comprises; a client device for internet application users, a test server that allows the data of A/B testing applied on users to be obtained, a cache server where there is the page content for client device, an application server for an internet application that allows displaying of page content, another cache server where there is the page content for client device, a web server that allows the page content specific to the test group to be detected and sent to the client device. 
     The invention is a method for allowing the A/B testing to be performed in order to show the web page of the internet application running on a client device to users in different variations and to allow action to be taken according to the usage behavior of the users, and comprises the following steps:
         sending a request to the A/B test server by the client device in order to obtain the A/B test information for the relevant web page and the cache keys created specially for the A/B test groups,   if the client device is included in the A/B test group; transmitting the test information, test group information and cache key information to the client device by the test server,   transmitting the cache key information to the cache server by the client device in order to access the content of the web page,   if the URL and cache key combination of the web page is already registered in the cache server; sending the result of the page to the client device by the cache server,   if the cache key and URL information for the web page are not available on the cache server; sending a request with together URL information and cache key to the application server by the cache server in order to reach the content of the web page for obtaining the result of the relevant web page,   sending the URL and cache key that came from the cache server, by the application server in order to receive the page content from another cache server,   if the URL and cache key combination of the web page was previously registered on the other cache server; sending the result of the web page to the client device,   if the URL and cache key combination of the web page is not found in the other cache server; sending a request for the web page with together the cache key information to the web server by the other cache server,   sending the page content that is prepared in the web server for the relevant group by using the cache key of the test group, to the other back cache server as response,   caching the response that came from the web server by combining it with the URL information and cache key of the website by the other cache server,   sending the web page related response that came from the web server to the application server by the other cache server,   sending the web page content which is prepared in the application server by using the result of A/B test group came from the other cache server, to the cache server,   recording in the cache server the data came from the application server by combining it with the URL and cache key information and, sending the related web page content to the client device.       

    
    
     
       DESCRIPTION OF THE FIGURES 
       In  FIG. 1 , system components related to the method and the relationship between these system components are shown. 
     
    
    
     REFERENCE NUMBERS 
       10 . Client Device 
       20 . Test Server 
       30 . Cache Server 
       40 . Application Server 
       50 . Back Cache Server 
       60 . Web Server 
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention is a system and method for performing A/B testing in order to show the web page of an internet application to users in different variations and to allow action to be taken according to the usage behavior of the users. 
     With the present invention, It is always allowed the correct A/B group to be shown when performing the A/B test in an internet application having cache memory that runs on client devices ( 10 ) such as mobile or computing devices. It is provided the A/B test to be performed although it has cache by displaying the same web page content of an internet application with different contents by creating the internet application running on mentioned client device ( 10 ) according to the cache and cache keys. 
     System components related to the present innovative method and the relationship between these system components can be seen in  FIG. 1 . Mentioned system generally comprises a client device ( 10 ) for internet application users, a test server ( 20 ) that allows the data of A/B testing applied on users to be obtained, a cache server ( 30 ) where there is the page content for client device ( 10 ), an application server ( 40 ) for an internet application that allows displaying of page content, a back cache server ( 50 ) where there is the page content for client device ( 10 ), a web server ( 60 ) that allows the page content specific to the test group to be detected and sent to the client device ( 10 ). In a preferred embodiment, mentioned web server ( 60 ) can be a search and navigation server. 
     In present invention; firstly; the client device ( 10 ) sends a request to the A/B test server ( 20 ) in order to obtain the A/B test information for the relevant web page and the cache keys created specially for the A/B test groups. If the client device ( 10 ) is included in the A/B test group; the test server ( 20 ) transmits the test information, test group information and cache key information to the client device ( 10 ). Then, the client device ( 10 ) transmits the cache key information to the cache server ( 30 ) in order to access the content of the web page. If the URL and cache key combination of the web page is already registered in the cache server ( 30 ); the cache server ( 30 ) sends the result of the page to the client device ( 10 ). If the cache key and URL information for the web page are not available on the cache server ( 30 ); the cache server ( 30 ) sends a request with together URL information and cache key to the application server ( 40 ) in order to reach the content of the web page for obtaining the result of the relevant web page. The application server ( 40 ) sends the URL and cache key that came from the cache server ( 30 ), in order to receive the page content from a back cache server ( 50 ). If the URL and cache key combination of the web page was previously registered on the back cache server ( 50 ); the result of the web page is sent to the client device ( 10 ). If the URL and cache key combination of the web page is not found in the back cache server ( 50 ); the back cache server ( 50 ) sends a request for the web page with together the cache key information to the web server ( 60 ). The page content that is prepared in the web server ( 60 ) for the relevant group by using the cache key of the test group is sent to the other back cache server ( 50 ) as response. In the back cache server ( 50 ), the response that came from the web server ( 60 ) is cached by combining with the URL information and cache key of the website. Then, the web page related response that came from the web server ( 60 ) is sent from the back cache server ( 50 ) to the application server ( 40 ). The web page content which is prepared in the application server ( 40 ) by using the result of A/B test group came from the back cache server ( 50 ) is sent to the cache server ( 30 ). The data came from the application server ( 40 ) is recorded in the cache server ( 30 ) by combining it with the URL and cache key information and, the related web page content is sent to the client device ( 10 ). Thus, the A/B test is performed by always displaying the correct A/B test group. 
     In the present invention, unlike all other methods, an web page is created according to the cache and cache keys. A/B test can be done even though it has cache by displaying the same web page with different contents. Mentioned cache key is the encoded version [Hex (Hexademical) Encode] of test ID number, variation ID number and various parameter values defined for variation. When it requires, the test information and parameters can be obtained by decoding of the parameters encoded with Hex. If there is more than one test content on the relevant page, the parameters of all tests on the page is located in the cache key as encoded.