IP Library Granted Patent US 12,222,852
Granted Patent B2
US 12,222,852 · App. 18/114,773 · Granted Feb 11, 2025

Imbalance detection in online experiments

Inventors: Stephane Shao (New York, NY); Lyubov Ignatovsky (New York, NY); Julie Beckley (New York, NY)
Assignee: Etsy, Inc.
G06F11/3696G06F8/71
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,222,852
App. No.
18/114,773
Granted
Feb 11, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for imbalance detection in online experiments. In some implementations, a method includes obtaining user information indicating a first set of devices assigned a first version of a service and a second set of devices assigned a second version of the service in a multivariate testing framework; generating alternative samplings of devices; generating a threshold for detecting imbalance using the alternative samplings of devices, a generated expected first set of devices, and a generated expected second set of devices; detecting an imbalance using the obtained user information indicating the first set of devices, the second set of devices, and the generated threshold; and implementing a corrective action to mitigate the detected imbalance in the multivariate testing framework.

Claims (52)

1. A method comprising:

obtaining user information indicating a first set of devices assigned a first version of a service and a second set of devices assigned a second version of the service in a multivariate testing framework;

generating alternative samplings of devices assigned to the first version and the second version of the service;

generating an expected first set of devices assigned to the first version of the service and an expected second set of devices assigned to the second version of the service;

generating a threshold for detecting imbalance using the alternative samplings of devices, the expected first set of devices, and the expected second set of devices;

detecting an imbalance using the obtained user information indicating the first set of devices, the second set of devices, and the generated threshold; and

implementing a corrective action to mitigate the detected imbalance in the multivariate testing framework.

2. The method of claim 1 , wherein the user information is obtained from a computer system that provides the first version of the service and the second version of the service to the first set of devices and the second set of devices.

3. The method of claim 1 , wherein generating the alternative samplings of devices assigned to the first version and the second version of the service comprise:

performing one or more permutations on values representing segments or variants of the user information indicating the first set of devices assigned the first version of the service and the second set of devices assigned the second version of the service.

4. The method of claim 1 , wherein generating the alternative samplings of devices assigned the first version and the second version of the service comprise:

sampling from a distribution indicating a numerical range of types of devices assigned to the first version or the second version of the service where the types of devices that receive either the first version or the second version of the service is independent from the types of devices.

5. The method of claim 1 , wherein generating the expected first set of devices assigned to the first version of the service and the expected second set of devices assigned to the second version of the service comprises:

generating one or more values indicating a number of devices of a specific type that receive the first version and the second version of the service.

6. The method of claim 5 , wherein the devices of the specific type are devices operating in a specific region, operating with a specific language preference, operating on a specific hardware, or operating on a specific software.

7. The method of claim 1 , wherein generating the threshold for detecting the imbalance using the alternative samplings of devices, the expected first set of devices, and the expected second set of devices comprises:

generating one or more difference values indicating a difference between a sample of the alternative samplings of devices and a sample of the expected first set of devices and the expected second set of devices.

8. The method of claim 1 , wherein generating the threshold for detecting the imbalance using the alternative samplings of devices, the expected first set of devices, and the expected second set of devices comprises using obtained data indicating the threshold for detecting the imbalance to determine a quantile of a distribution created using the alternative samplings of devices, the expected first set of devices, and the expected second set of devices as the threshold for detecting the imbalance.

9. The method of claim 1 , comprising:

generating one or more difference values between the obtained user information, indicating the first set of devices and the second set of devices, and the expected first and second set of devices; and

wherein detecting the imbalance using the obtained user information indicating the first set of devices, the second set of devices, and the generated threshold comprises determining that the one or more difference values generate a cumulative difference value that is equal to or greater than a threshold difference value generated using one or more difference values generated between the alternative samplings of devices and the expected first and second set of devices.

10. The method of claim 1 , wherein implementing the corrective action to mitigate the detected imbalance in the multivariate testing framework comprises:

generating a notification for a testing device; and

transmitting the notification to the testing device.

11. The method of claim 10 , wherein the notification is configured to halt one or more data processing processes on the testing device.

12. The method of claim 1 , wherein implementing the corrective action to mitigate the detected imbalance in the multivariate testing framework comprises:

generating a signal configured to assign additional devices to the first version or the second version to reduce the detected imbalance.

13. The method of claim 12 , wherein the additional devices comprise a device of a particular type represented by one or more device or user features associated with the detected imbalance.

14. A non-transitory computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

obtaining user information indicating a first set of devices assigned a first version of a service and a second set of devices assigned a second version of the service in a multivariate testing framework;

generating alternative samplings of devices assigned to the first version and the second version of the service;

generating an expected first set of devices assigned to the first version of the service and an expected second set of devices assigned to the second version of the service;

generating a threshold for detecting imbalance using the alternative samplings of devices, the expected first set of devices, and the expected second set of devices;

detecting an imbalance using the obtained user information indicating the first set of devices, the second set of devices, and the generated threshold; and

implementing a corrective action to mitigate the detected imbalance in the multivariate testing framework.

15. The medium of claim 14 , wherein the user information is obtained from a computer system that provides the first version of the service and the second version of the service to the first set of devices and the second set of devices.

16. The medium of claim 14 , wherein generating the alternative samplings of devices assigned to the first version and the second version of the service comprise:

performing one or more permutations on values representing segments or variants of the user information indicating the first set of devices assigned the first version of the service and the second set of devices assigned the second version of the service.

17. The medium of claim 14 , wherein generating the alternative samplings of devices assigned the first version and the second version of the service comprise:

sampling from a distribution indicating a numerical range of types of devices assigned to the first version or the second version of the service where the types of devices that receive either the first version or the second version of the service is independent from the types of devices.

18. The medium of claim 14 , wherein generating the expected first set of devices assigned to the first version of the service and the expected second set of devices assigned to the second version of the service comprises:

generating one or more values indicating a number of devices of a specific type that receive the first version and the second version of the service.

19. The medium of claim 18 , wherein the devices of the specific type are devices operating in a specific region, operating with a specific language preference, operating on a specific hardware, or operating on a specific software.

20. A system, comprising:

one or more processors; and

machine-readable media interoperably coupled with the one or more processors and storing one or more instructions that, when executed by the one or more processors, perform operations comprising:

obtaining user information indicating a first set of devices assigned a first version of a service and a second set of devices assigned a second version of the service in a multivariate testing framework;

generating alternative samplings of devices assigned to the first version and the second version of the service;

generating an expected first set of devices assigned to the first version of the service and an expected second set of devices assigned to the second version of the service;

generating a threshold for detecting imbalance using the alternative samplings of devices, the expected first set of devices, and the expected second set of devices;

detecting an imbalance using the obtained user information indicating the first set of devices, the second set of devices, and the generated threshold; and

implementing a corrective action to mitigate the detected imbalance in the multivariate testing framework.

Assignments (2)
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Sep 11, 2025
From: ETSY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 072875/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2023
From: SHAO, STEPHANE; IGNATOVSKY, LYUBOV; BECKLEY, JULIE
To: ETSY, INC.
Reel/Frame 065583/0742 →