# US 11,308,178 B2 · System for automating the creation and evaluation of website variations to improve user engagement

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,178 B2
- Document ID: US11308178B2
- Status: Granted
- Kind: B2
- Application number: 17/340,571
- Filed: 2021-06-07
- Published: 2021-09-23
- Granted: 2022-04-19
- Earliest claimed: 2019-01-03
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Austin Walters; Jeremy Goodsitt; Ahn Truong; Reza Farivar; Mark Watson; Fardin Abdi Taghi Abad
- Web page: https://patentgrep.com/patent/US11308178B2

## CPC

- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 8/22: {Procedural}
- G06F 8/38: for implementing user interfaces
- G06F 8/77: Software metrics
- G06F 11/3438: {monitoring of user actions (tracking the activity of the user H04L67/535)}
- G06F 11/3672: {Test management}
- G06F 11/3684: {for test design, e.g. generating new test cases}
- G06F 11/3692: {for test results analysis}
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9536: Search customisation based on social or collaborative filtering
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06N 3/126: Evolutionary algorithms, e.g. genetic algorithms or genetic programming
- G06F 11/3419: {by assessing time}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Described is a system (and method) for automating the process of generating variations of a website that may be continually evaluated to improve a user interaction flow. The process may be based on a genetic algorithm that creates improving generations of websites. For example, the system may automate the creation of different layouts for a website and evaluate the effectiveness of each layout based on a particular user interaction goal. The most effective (e.g., top performing) layouts may be determined and then “bred” as part of an iterative improvement process.

## Claims

### Claim 1

A method comprising:
automatically generating, by a processor, a current generation of websites based on a source code of the website,
wherein the source of the website defines at least one element;
wherein the current generation of websites has one or more variations of a website layout of the at least one element, each variation of the website layout has different initial values provided for the at least one element;
determining, by the processor, at least one performance metric for the at least one element, the at least one performance metric comprising a measurement of one or more user interactions to perform a predetermined task with the website;
comparing, by the processor, a plurality of websites within the current generation of websites based on the at least one performance metric to identify at least one highest performance producing variation corresponding to at least one highest measurement of the one or more user interactions to perform the predetermined task;
generating, by the processor, a subsequent generation of websites based on varying subsequent values in the source code for the at least one highest performance producing variation;
updating, by the processor, the source code of the set of websites with one or more subsequent values selected from each respective set of one or more websites;
wherein each respective set of one or more websites from the set of websites are identified for each of a respective threshold performance metric; and
instructing, by the processor, to publish the subsequent generation of websites.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving a user group identifier identifying a group associated with a user of a website of the set of websites;
determining a particular variation of the one or more variations of the website layout based at least in part on the user group identifier; and
determining the performance metric as a group-specific performance metric.

### Claim 3 (depends on 1)

The method of claim 1, wherein the measurement of the one or more user interactions comprises at least one of:
an amount of time to perform the predetermined task,
whether or not the predetermined task is performed, or
a frequency of performing the predetermined task.

### Claim 4 (depends on 1)

The method of claim 1, further comprising randomly generating, by the at least one processor, the different initial values provided for the at least one element.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving, by the at least one processor, predetermined values for the at least one element; and
automatically generating, by the processor, the current generation of websites using the predetermined values as the different initial values for the at least one element.

### Claim 6 (depends on 1)

The method of claim 1, wherein the values provided for the element define a color, alignment, text, or text size associated with the element.

### Claim 7 (depends on 1)

The method of claim 1, wherein
the performance metric includes whether a user performs a particular action on the website, and
identifying one or more websites from the set of websites based on the determined performance metric includes identifying one or more web sites in which the user performs the particular action.

### Claim 8 (depends on 1)

The method of claim 1, further comprising publishing each website of the set of websites to a subset of users based at least in part on user demographics, user account information, or both.

### Claim 9 (depends on 1)

The method of claim 1, wherein generating the subsequent values further includes:
reassigning, based on a predetermined percentage, one or more of the subsequent values with a random value selected from amongst the initial set of values.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
determining a performance weighting for each identified website based on a ranking of the performance metric of each identified website; and
wherein selecting the subsequent values includes selecting values from amongst the values provided for the element of the identified websites using a probability based on the performance weighting.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
receiving user interaction data for each website of the set of websites; and
parsing the source code of the identified websites to determine the values provided for the element of the identified websites.

### Claim 12 (depends on 1)

The method of claim 1, wherein the steps of determining, identifying, generating, and publishing the subsequent generation of websites are repeated one or more times for each subsequent generation of websites.

### Claim 13

A system for automatically generating variations of a website, comprising:
one or more processors; and
a memory coupled to the one or more processors, the memory storing instructions, which when executed by the one or more processors, cause the one or more processors to perform operations comprising:
automatically generating a current generation of websites based on a source code of the web site,
wherein the source of the website defines at least one element;
wherein the current generation of websites has one or more variations of a website layout of the at least one element, each variation of the website layout has different initial values provided for the at least one element;
determining at least one performance metric for the at least one element, the at least one performance metric comprising a measurement of one or more user interactions to perform a predetermined task with the website;
comparing a plurality of websites within the current generation of websites based on the at least one performance metric to identify at least one highest performance producing variation corresponding to at least one highest measurement of the one or more user interactions to perform the predetermined task;
generating a subsequent generation of websites based on varying subsequent values in the source code for the at least one highest performance producing variation;
updating the source code of the set of websites with one or more subsequent values selected from each respective set of one or more websites;
wherein each respective set of one or more websites from the set of websites are identified for each of a respective threshold performance metric; and
instructing to publish the subsequent generation of websites.

### Claim 14 (depends on 13)

The system of claim 13, further comprising publishing each website of the set of websites to a subset of users based at least in part on user demographics, user account information, or both.

### Claim 15 (depends on 13)

The system of claim 13, wherein selecting the subsequent values includes randomly selecting values from amongst the values provided for the element of the identified websites.

### Claim 16

A non-transitory computer-readable medium storing instructions which, when executed by one or more processors of a system, cause the system to perform operations comprising:
automatically generating a current generation of websites based on a source code of the web site,
wherein the source of the website defines at least one element;
wherein the current generation of websites has one or more variations of a website layout of the at least one element, each variation of the website layout has different initial values provided for the at least one element;
determining at least one performance metric for the at least one element, the at least one performance metric comprising a measurement of one or more user interactions to perform a predetermined task with the web site;
comparing a plurality of web sites within the current generation of web sites based on the at least one performance metric to identify at least one highest performance producing variation corresponding to at least one highest measurement of the one or more user interactions to perform the predetermined task;
generating a subsequent generation of websites based on varying subsequent values in the source code for the at least one highest performance producing variation;
updating the source code of the set of websites with one or more subsequent values selected from each respective set of one or more websites;
wherein each respective set of one or more websites from the set of websites are identified for each of a respective threshold performance metric; and
instructing to publish the subsequent generation of websites.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the values provided for the element define a color, alignment, text, or text size associated with the element.

### Claim 18 (depends on 16)

The non-transitory computer-readable medium of claim 16, further comprising publishing each website of the set of websites to a subset of users based at least in part on user demographics, user account information, or both.

### Claim 19 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein randomly selecting the subsequent values further includes:
reassigning, based on a predetermined percentage, one or more of the subsequent values with a random value selected from amongst the initial set of values.
