# US 10,503,804 B1 · 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 10,503,804 B1
- Document ID: US10503804B1
- Status: Granted
- Kind: B1
- Application number: 16/239,406
- Filed: 2019-01-03
- Granted: 2019-12-10
- 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/US10503804B1

## 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 for automatically generating variations of a website, the method comprising:
publishing a set of websites that include one or more variations of a website layout, each variation of the website layout including a different value provided for an element defined within source code of the set of websites, the different values selected from an initial set of values;
determining a performance metric for each website of the set of websites, the performance metric reflecting one or more user interactions with each website;
wherein the performance metric includes an amount of time for a user to perform an action on the website;
ranking websites based on the performance metrics for the set of websites;
wherein ranking websites based on the performance metrics includes ranking each website from a least amount of time for the user to perform the action to a greatest amount of time for the user to perform the action;
identifying one or more websites from the set of websites satisfying a threshold performance metric;
wherein identifying one or more websites from the set of websites based on the determined performance metric includes identifying one or more highest ranking websites within a predetermined number of highest ranking websites or a predetermined percentage of highest ranking websites;
generating one or more subsequent values to be used for a subsequent generation of websites, generating the subsequent values includes:
selecting the subsequent values from amongst the values provided for the element of the identified one or more websites; and
publishing the subsequent generation of websites by updating the source code of the set of websites with the subsequent values,
wherein the determining the performance metric, the identifying the one or more websites, the selecting the subsequent values, and the publishing the subsequent generation of websites are automatically repeated one or more times for automatically and continually updating the set of websites to satisfy the performance metric.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

The method of claim 1, wherein the element includes a CSS (Cascading Style Sheet) element.

### Claim 4 (depends on 3)

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

### Claim 5 (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 websites in which the user performs the particular action.

### Claim 6 (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 7 (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 8 (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 9 (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 10 (depends on 1)

The method of claim 1, further comprising mapping changes between the initial set of values and the subsequent values for a testing configuration file.

### Claim 11

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:
providing a set of websites that include one or more variations of a website layout, each variation of the website layout including a different value provided for an element defined within source code of the set of websites, the different values selected from an initial set of values;
determining a performance metric for each website of the set of websites;
wherein determining the performance metric for each website of the set of websites includes measuring an amount of time for a user to perform an action on the website;
ranking the set of websites based on the determined performance metric;
wherein ranking the set of websites based on the determined performance metric includes ranking each website from a least amount of time for the user to perform the action to a greatest amount of time for the user to perform the action;
identifying one or more websites satisfying a threshold performance metric;
selecting subsequent values from amongst the values provided for the element of the identified one or more websites; and
publishing a subsequent generation of websites by updating the source code of the set of websites with the subsequent values,
wherein the determining the performance metric, the identifying the one or more websites, the selecting the subsequent values, and the publishing the subsequent generation of websites are automatically repeated one or more times for automatically and continually updating the set of websites to satisfy the performance metric.

### Claim 12 (depends on 11)

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

### Claim 13

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:
publishing a set of websites that include one or more variations of a website layout, each variation of the website layout including a different value provided for a Cascading Style Sheet (CSS) element, the different values selected from an initial set of values;
determining a performance metric for each website of the set of websites, the performance metric reflecting one or more user interactions with the website;
wherein the performance metric includes an amount of time for a user to perform an action on each website;
identifying one or more websites from the set of websites satisfying a threshold performance metric;
wherein identifying one or more websites from the set of websites includes:
i) ranking each website of the set of websites from a least amount of time for the user to perform the action to a greatest amount of time for the user to perform the action; and
ii) identifying one or more highest ranking websites within a predetermined number of highest ranking websites or a predetermined percentage of highest ranking websites
randomly selecting the subsequent values from amongst the values provided for the element of the identified websites; and
publishing a subsequent generation of websites by updating the source code of the set of websites with the subsequent values,
wherein the determining the performance metric, the identifying the one or more websites, and the publishing the subsequent generation of websites are automatically repeated one or more times for automatically and continually updating the set of websites to satisfy the performance metric.

### Claim 14 (depends on 13)

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

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, 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.
