System and method for testing multiple variants

US11715123B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11715123-B2
Application numberUS-202017018309-A
CountryUS
Kind codeB2
Filing dateSep 11, 2020
Priority dateDec 19, 2019
Publication dateAug 1, 2023
Grant dateAug 1, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for testing a plurality of variants among a plurality of users. One of the methods includes: determining a spatial granularity to divide an area into a plurality of grid cells; randomly splitting the plurality of grid cells into a plurality of testing groups, wherein a quantity of the plurality of testing groups is determined based on a quantity of the multiple versions of the feature to be tested; determining a temporal granularity to divide a testing period into a plurality of testing intervals; during each of the plurality of testing intervals, respectively assigning the multiple versions of the feature to the plurality of testing groups; and obtaining a treatment effect for each of the multiple versions of the feature and determining an optimal version of the feature.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for testing multiple versions of a Graphic User Interface (GUI) on a plurality of computing devices, comprising: determining, by a computing device, a spatial granularity to divide an area into a plurality of grid cells; randomly splitting, by the computing device, the plurality of grid cells into a plurality of testing groups using an application programming interface (API) library, wherein a quantity of the plurality of testing groups is determined based on a quantity of the multiple versions of the GUI to be tested; determining, by the computing device, a temporal granularity to divide a testing period into a plurality of testing intervals; during each of the plurality of testing intervals, respectively assigning, by the computing device, the multiple versions of the GUI to the plurality of testing groups through an online service, wherein the assigning comprises: enabling, by the computing device through the online service, a first version of the GUI on one or more web application or mobile application of a user device located in a first testing group to collect test data during a first testing interval, and rotating, by the computing device through the online service, the assignment of the multiple versions of the GUI for a next testing interval, wherein the rotating comprises (1) disabling the first version of the GUI on one or more web application or mobile application of the user device located in the first testing group and (2) enabling the first version of the GUI on one or more web application or mobile application of a user device located in a second testing group during the next testing interval; obtaining, by the computing device through the online service, the test data for each of the multiple versions of the GUI; and determining, by the computing device, an optimal version of the GUI based on the test data. 2. The method of claim 1 , wherein the multiple versions of the GUI comprise a default version of the GUI, and at least one new version of the GUI. 3. The method of claim 1 , wherein the determining a spatial granularity to divide an area comprises: initializing the spatial granularity; dividing the area into a plurality of spatial clusters based on the initialized spatial granularity; randomly splitting the plurality of spatial clusters into a first mega group and a second mega group, wherein the first mega group comprises a plurality of first spatial clusters, and the second mega group comprises a plurality of second spatial clusters; randomly dividing a plurality of individual devices located in the plurality of first spatial clusters into a first treatment group and a first control group; randomly dividing the plurality of second spatial clusters into a second treatment group and a second control group; testing the multiple versions of the GUI at an individual-device level in the first treatment group and the first control group to obtain a first test data; testing the multiple versions of the GUI at a spatial-cluster level in the second treatment group and the second control group to obtain a second test data; determining whether a difference between the first test data and the second test data is greater than a threshold; in response to determining that the difference is greater than the threshold, increasing the spatial granularity. 4. The method of claim 3 , wherein the testing the multiple versions of the GUI at an individual-device level in the first treatment group and the first control group to obtain a first test data comprises: enabling a default version of the GUI on the individual devices in the control group for a period of time to obtain a first reward; enabling a new version of the GUI on the individual devices in the treatment group for the period of time to obtain a second reward; and determining a difference between the first reward and the second reward as the first test data. 5. The method of claim 3 , wherein each of the spatial clusters in the second mega group comprises one or more individual devices, and the testing the multiple versions of the GUI at a spatial-cluster level in the second treatment group and the second control group to obtain a second test data comprises: enabling a default version of the GUI on the individual devices located in the plurality of second spatial clusters in the second control group to obtain a first reward; enabling a new version of the GUI on the individual devices located in the plurality of second spatial clusters in the second treatment group to obtain a second reward; and determining a difference between the first reward and the second reward as the second test data. 6. The method of claim 1 , wherein the determining a temporal granularity to divide a testing period comprises: initializing the temporal granularity; dividing a period of time into a plurality of intervals, and segmenting the plurality of intervals into a first mega group and a second mega group based on the temporal granularity; for each interval in the first mega group, randomly dividing a plurality of individual devices into a first treatment group and a first control group, and testing the multiple versions of the GUI at an individual-device level in the first treatment group and the first control group to obtain a first test data; for each interval in the second mega group, dividing the each interval into a second treatment group and a second control group, and testing the multiple versions of the GUI in the second treatment group and the second control group to obtain a second test data; determining whether a difference between the first test data and the second test data is greater than a threshold; in response to determining that the difference is greater than the threshold, increasing the temporal granularity. 7. The method of claim 1 , wherein the area is divided into a plurality of grid cells by: obtaining a plurality of latitude and longitude tuples of the area from a backend server; mapping the plurality of latitude and longitude tuples into a plurality of grid cells based on the spatial granularity and a closed-form formula for a rectangular grid system, or a Hexagon Mapping application programming interface (API) library. 8. The method of claim 1 , wherein the assignment of the multiple versions of the GUI to the plurality of testing groups during each of the plurality of testing intervals is stored in a non-volatile storage medium for direct access. 9. The method of claim 1 , wherein the GUI is related to one of the following functionalities: a pricing strategy, an order-dispatching strategy, or a new service. 10. A system comprising one or more processors and one or more non-transitory computer-readable memories coupled to the one or more processors, the one or more non-transitory computer-readable memories storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising: determining a spatial granularity to divide an area into a plurality of grid cells; randomly splitting the plurality of grid cells into a plurality of testing groups using an application programming interface (API) library, wherein a quantity of the plurality of testing groups is determined based on a quantity of multiple versions of a Graphic User Interface (GUI) to be tested; determining a temporal granularity to divide a testing period into a plurality of testing intervals; during each of the plurality of testing intervals, respectively assigning the multiple versions of the GUI to the plurality of testing groups through an online service, wherein the assigning comprises: enabling, through the online service, a first version of th

Assignees

Inventors

Classifications

  • Market segmentation · CPC title

  • via adapters, e.g. between incompatible applications · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11715123B2 cover?
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for testing a plurality of variants among a plurality of users. One of the methods includes: determining a spatial granularity to divide an area into a plurality of grid cells; randomly splitting the plurality of grid cells into a plurality of testing groups, wherein a quantity of the plurality of te…
Who is the assignee on this patent?
Beijing Didi Infinity Technology & Dev Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06Q30/0204. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 01 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).