IP Library Granted Patent US 11,475,095
Granted Patent B2
US 11,475,095 · App. 16/392,344 · Granted Oct 18, 2022

Statistics acceleration in multivariate testing

Inventors: Jimmy Jin (San Francisco, CA); Leonid Boris Pekelis (Los Angeles, CA)
Assignee: OPTIMIZELY, INC.
G06F16/9577G06F16/9537G06Q30/0277H04L67/535
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 11,475,095
App. No.
16/392,344
Granted
Oct 18, 2022
Kind
B2
Abstract

A method includes determining a plurality of epochs from a timeline of an experiment, wherein each of the plurality of epochs corresponds to a constant traffic allocation. The method further includes calculating, by a processing device, first and second mean values corresponding to a baseline of the experiment and a variation of the experiment for each epoch, respectively. The method further includes determining, for each epoch, a difference between the first mean value and the second mean value to generate a plurality of differences. The method further includes calculating, by the processing device, a weighted sum of the plurality of differences to generate a final difference in mean values.

Claims (43)

1. A method comprising:

determining a plurality of epochs from a timeline of an experiment, wherein each of the plurality of epochs corresponds to a time duration comprising a constant traffic allocation between a baseline of the experiment and a variation of the experiment, wherein both the baseline of the experiment and the variation of the experiment are presented to visitors during each epoch of the plurality of epochs according to the respective constant traffic allocation of the time duration corresponding to the epoch, wherein at least two of the plurality of epochs have a different constant traffic allocation, and wherein determining the plurality of epochs is performed in response to detecting time variations over the timeline and a dynamic change to a traffic allocation of the experiment between the baseline of the experiment and the variation of the experiment;

calculating, by a processing device, first and second mean values corresponding to the baseline of the experiment and the variation of the experiment for each epoch, respectively;

determining, for each epoch, a difference between the first mean value and the second mean value to generate a plurality of differences;

calculating, by the processing device, a weighted sum of the plurality of differences to generate a final difference in mean values; and

modifying the experiment based on the final difference in mean values.

2. The method of claim 1 , wherein the constant traffic allocation corresponds to traffic of a website or an application.

3. The method of claim 2 , wherein the website or application is undergoing an A/B test.

4. The method of claim 1 , wherein the weighted sum is weighted in proportion to a number of the visitors in each of the plurality of epochs.

5. The method of claim 1 , further comprising providing the final difference in mean values to a statistical test.

6. The method of claim 5 , wherein the statistical test is a t-test.

7. The method of claim 6 , wherein the statistical test is a sequential test.

8. The method of claim 1 , further comprising:

determining that a threshold number of the visitors was not reached during a first epoch of the plurality of epochs; and

in response to the determining, combining the first epoch with a second epoch.

9. A system comprising:

a memory to store a final difference in mean values;

a processing device, operatively coupled to the memory, to:

determine a plurality of epochs from a timeline of an experiment, wherein each of the plurality of epochs corresponds to a time duration comprising a constant traffic allocation between a baseline of the experiment and a variation of the experiment, wherein both the baseline of the experiment and the variation of the experiment are presented to visitors during each epoch of the plurality of epochs according to the respective constant traffic allocation of the time duration corresponding to the epoch, wherein at least two of the plurality of epochs have a different constant traffic allocation, and wherein determining the plurality of epochs is performed in response to detecting time variations over the timeline and a dynamic change to a traffic allocation of the experiment between the baseline of the experiment and the variation of the experiment;

calculate first and second mean values corresponding to the baseline of the experiment and the variation of the experiment for each epoch, respectively;

determine, for each epoch, a difference between the first mean value and the second mean value to generate a plurality of differences;

calculate a weighted sum of the plurality of differences to generate the final difference in mean values; and

modify the experiment based on the final difference in mean values.

10. The system of claim 9 , wherein the constant traffic allocation corresponds to traffic of a website or an application.

11. The system of claim 10 , wherein the website or application is undergoing an A/B test.

12. The system of claim 9 , wherein each of the plurality of epochs is approximately one hour.

13. The system of claim 9 , wherein the weighted sum is weighted in proportion to a number of the visitors in each of the plurality of epochs.

14. The system of claim 9 , wherein the processing device is further to provide the final difference in mean values to a statistical test.

15. The system of claim 9 , wherein the processing device is further to:

determine that a threshold number of the visitors was not reached during a first epoch of the plurality of epochs; and

in response to the determination, combine the first epoch with a second epoch.

16. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

determine a plurality of epochs from a timeline of an experiment, wherein each of the plurality of epochs corresponds to a time duration comprising a constant traffic allocation between a baseline of the experiment and a variation of the experiment, wherein both the baseline of the experiment and the variation of the experiment are presented to visitors during each epoch of the plurality of epochs according to the respective constant traffic allocation of the time duration corresponding to the epoch, wherein at least two of the plurality of epochs have a different constant traffic allocation, and wherein determining the plurality of epochs is performed in response to detecting time variations over the timeline and a dynamic change to a traffic allocation of the experiment between the baseline of the experiment and the variation of the experiment;

calculate, by the processing device, first and second mean values corresponding to the baseline of the experiment and the variation of the experiment for each epoch, respectively;

determine, for each epoch, a difference between the first mean value and the second mean value to generate a plurality of differences;

calculate, by the processing device, a weighted sum of the plurality of differences to generate a final difference in mean values; and

modify the experiment based on the final difference in mean values.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the weighted sum is weighted in proportion to a number of the visitors in each of the plurality of epochs.

18. The non-transitory computer-readable storage medium of claim 16 , providing the final difference in mean values to a statistical test.

19. The non-transitory computer-readable storage medium of claim 16 , further comprising:

determining that a threshold number of the visitors was not reached during a first epoch of the plurality of epochs; and

in response to the determining, combining the first epoch with a second epoch.

20. The non-transitory computer-readable storage medium of claim 16 , wherein the constant traffic allocation corresponds to traffic of a web site or an application.

Assignments (10)
TERMINATION AND RELEASE OF SECURITY INTEREST Recorded Oct 31, 2024
From: GOLUB CAPITAL MARKETS LLC
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 069285/0225 →
SECURITY INTEREST Recorded Oct 31, 2024
From: OPTIMIZELY NORTH AMERICA, INC.
To: GOLUB CAPITAL MARKETS LLC
Reel/Frame 069089/0588 →
MERGER Recorded Jul 3, 2023
From: OPTIMIZELY OPERATIONS HOLDCO INC.
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 064139/0628 →
MERGER Recorded Jun 20, 2023
From: OPTIMIZELY OPERATIONS INC.
To: OPTIMIZELY OPERATIONS HOLDCO INC.
Reel/Frame 063995/0874 →
CHANGE OF NAME Recorded Jun 8, 2023
From: OPTIMIZELY, INC.
To: OPTIMIZELY OPERATIONS INC.
Reel/Frame 063939/0656 →
CORRECTIVE ASSIGNMENT TO CORRECT THE UNDERLYING DOCUMENT PREVIOUSLY RECORDED ON REEL 056588 FRAME 0075. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL. Recorded Jul 22, 2021
From: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
To: OPTIMIZELY, INC.
Reel/Frame 056958/0064 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2021
From: OPTIMIZELY, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 056768/0917 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Jun 14, 2021
From: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
To: OPTIMIZELY, INC.
Reel/Frame 056588/0075 →
SECURITY INTEREST Recorded Oct 19, 2020
From: OPTIMIZELY, INC.
To: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
Reel/Frame 054093/0019 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2019
From: JIN, JIMMY; PEKELIS, LEONID BORIS
To: OPTIMIZELY, INC.
Reel/Frame 048980/0754 →