IP Library Granted Patent US 12,216,569
Granted Patent B2
US 12,216,569 · App. 18/123,192 · Granted Feb 4, 2025

Systems and methods for configurable application feature experiment alerting using sequential testing

Inventors: Charles Wu (Pittsburgh, PA); Gianpiero Condorelli (London, GB); Mansi Mohan (San Francisco, CA); Yoneo Arai (San Francisco, CA); Gautham Sudarshan (San Mateo, CA)
G06F11/3688G06F8/65G06F11/3692
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,216,569
App. No.
18/123,192
Granted
Feb 4, 2025
Kind
B2
Abstract

A method and apparatus for configurable application feature experiments is described. The method can include receiving data indicative of a metric to be collected after a feature treatment is deployed to a plurality of configurable applications. The method can also include receiving, from the configurable applications, feature treatment event messages that include metric values associated with the metric. Furthermore, the method can include performing a sequential testing process using the metric values from the event messages to determine when statistical significance has been reached for the metric values satisfying or not satisfying a significance threshold associated with the metric, and using this determination to transmit alerts messages to an application developer system.

Claims (59)

1. A method for configurable application feature experiments, comprising:

receiving, by a computer server from an application developer system, data indicative of: a metric to be collected after a feature treatment is deployed to a plurality of configurable applications executed by a plurality of end user systems, wherein the metric is associated with a performance characteristic of the plurality of configurable applications;

receiving, by the computer server from the configurable applications executed by the plurality of end user systems, feature treatment event messages generated by the configurable applications after deployment of the feature treatment, the event messages comprising metric values associated with the metric;

performing, by the computer server, a sequential testing process using the metric values from the event messages to determine when statistical significance has been reached for the metric values satisfying or not satisfying a significance threshold associated with the metric;

in response to detecting when the statistical significance has been reached based on results of generated by the sequential testing process, generating an alert message indicative of at least the metric, the significance threshold associated with the metric, and the determination of the statistical significance of the metric satisfying or not satisfying the significance threshold; and

transmitting, by the computer server to the application developer system, the alert message.

2. The method of claim 1 , wherein performing the sequential testing process comprises:

generating, by the computer server, a p-value associated with the significance threshold, wherein the p-value is indicative of whether a null hypothesis of an experiment performed on the plurality of configurable applications is proven, wherein the p-value is generated by the performing of the sequential testing process using the metric values from the feature treatment event messages;

comparing, by the computer server, the p-value to the significance threshold to determine whether the feature treatment caused a statistically significant change in the metric values; and

in response to the p-value being less than the significance threshold, determining that the feature treatment has a statistically significant impact on the metric.

3. The method of claim 2 , further comprising:

repeatedly performing, by the computer server, the sequential testing process using metric values accumulated over time comprising generating a new p-value each time the sequential testing is performed, wherein each new p-value is indicative of whether the null hypothesis of an experiment performed on the plurality of configurable applications is proven at a time corresponding to the repeated performance of the sequential testing process.

4. The method of claim 3 , wherein the repeatedly perform the sequential testing comprises:

adjusting, by the computer server, a rate of the sequential testing over a period of time in which the experiment is performed.

5. The method of claim 4 , wherein the rate of sequential testing decreases over the period of time in which the experiment is performed.

6. The method of claim 3 , wherein each new p-value is not corrected by the sequential testing process.

7. The method of claim 2 , wherein performing the sequential testing process comprises:

receiving, by the computer server from the develop system, a request to perform the sequential testing process;

in response to receipt of the request, performing, by the computer server, an on-demand sequential testing process to determine whether statistical significance has been reached for the metric values satisfying or not satisfying the significance threshold associated with the metric at a time associated with the receipt of the request; and

generating, by the computer server in response to the request, an on-demand alert message indicative of statistical significance having been reached or not reached at the time associated with the receipt of the request.

8. The method of claim 2 , wherein a period of time in which the experiment is performed is an open period of time.

9. The method of claim 1 , further comprising:

receiving, by the computer server from the application developer system, a significance value for detection of feature treatment impact on one or more metrics within the set of metrics; and

generating, by the computer server, the significance threshold based on the received significance value.

10. The method of claim 1 , further comprising:

generating a graphical user interface for configuration of the metric used for determining when the statistical significance has been reached for the metric values satisfying or not satisfying the significance threshold associated with the metric;

providing the graphical user interface to a user of the application developer system, the application developer system associated with development and distribution of configurable applications to end users of the developer system; and

receiving the metric from the developer system via the graphical user interface.

11. The method of claim 1 , wherein the alert message comprises an email message, a text message, an instant messaging system message, a social networking system message, a voice message, or a combination thereof, that comprises a link that resolves at a webpage for displaying a notification and data used by the computer server when detecting when the feature treatment caused the statistical significance to be reached.

12. The method of claim 1 , further comprising:

automatically deploying a different feature treatment that re-configures the execution of one or more of the plurality of configurable applications based in part of a result of the determination of when statistical significance has been reached for the metric values satisfying or not satisfying the significance threshold associated with the metric.

13. A non-transitory computer readable storage medium including instructions that, when executed by a processor, cause the processor to perform operations for configurable application feature experiments, the operations comprising:

receiving, by a computer server from an application developer system, data indicative of: a metric to be collected after a feature treatment is deployed to a plurality of configurable applications executed by a plurality of end user systems, wherein the metric is associated with a performance characteristic of the plurality of configurable applications;

receiving, by the computer server from the configurable applications executed by the plurality of end user systems, feature treatment event messages generated by the configurable applications after deployment of the feature treatment, the event messages comprising metric values associated with the metric;

performing, by the computer server, a sequential testing process using the metric values from the event messages to determine when statistical significance has been reached for the metric values satisfying or not satisfying a significance threshold associated with the metric;

in response to detecting when the statistical significance has been reached based on results of generated by the sequential testing process, generating an alert message indicative of at least the metric, the significance threshold associated with the metric, and the determination of the statistical significance of the metric satisfying or not satisfying the significance threshold; and

transmitting, by the computer server to the application developer system, the alert message.

14. The non-transitory computer readable storage medium of claim 13 , wherein performing the sequential testing process comprises:

generating, by the computer server, a p-value associated with the significance threshold, wherein the p-value is indicative of whether a null hypothesis of an experiment performed on the plurality of configurable applications is proven, wherein the p-value is generated by the performing of the sequential testing process using the metric values from the feature treatment event messages;

comparing, by the computer server, the p-value to the significance threshold to determine whether the feature treatment caused a statistically significant change in the metric values; and

in response to the p-value being less than the significance threshold, determining that the feature treatment has a statistically significant impact on the metric.

15. The non-transitory computer readable storage medium of claim 14 , further comprising:

repeatedly performing, by the computer server, the sequential testing process using metric values accumulated over time comprising generating a new p-value each time the sequential testing is performed, wherein each new p-value is indicative of whether the null hypothesis of an experiment performed on the plurality of configurable applications is proven at a time corresponding to the repeated performance of the sequential testing process.

16. The non-transitory computer readable storage medium of claim 15 , wherein the repeatedly perform the sequential testing comprises:

adjusting, by the computer server, a rate of the sequential testing over a period of time in which the experiment is performed.

17. The non-transitory computer readable storage medium of claim 16 , wherein the rate of sequential testing decreases over the period of time in which the experiment is performed.

18. The non-transitory computer readable storage medium of claim 15 , wherein each new p-value is not corrected by the sequential testing process.

19. The non-transitory computer readable storage medium of claim 14 , wherein performing the sequential testing process comprises:

receiving, by the computer server from the develop system, a request to perform the sequential testing process;

in response to receipt of the request, performing, by the computer server, an on-demand sequential testing process to determine whether statistical significance has been reached for the metric values satisfying or not satisfying the significance threshold associated with the metric at a time associated with the receipt of the request; and

generating, by the computer server in response to the request, an on-demand alert message indicative of statistical significance having been reached or not reached at the time associated with the receipt of the request.

20. A system for configurable application feature experiments, comprising:

a memory to store feature treatment event messages; and

a processing system coupled with the memory configured to:

receive, from an application developer system, data indicative of: a metric to be collected after a feature treatment is deployed to a plurality of configurable applications executed by a plurality of end user systems, wherein the metric is associated with a performance characteristic of the plurality of configurable applications,

receive, from the configurable applications executed by the plurality of end user systems, feature treatment event messages generated by the configurable applications after deployment of the feature treatment, the event messages comprising metric values associated with the metric,

perform a sequential testing process using the metric values from the event messages to determine when statistical significance has been reached for the metric values satisfying or not satisfying a significance threshold associated with the metric,

in response to detecting when the statistical significance has been reached based on results of generated by the sequential testing process, generate an alert message indicative of at least the metric, the significance threshold associated with the metric, and the determination of the statistical significance of the metric satisfying or not satisfying the significance threshold, and

transmit, by the computer server to the application developer system, the alert message.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Aug 18, 2026
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY
To: HARNESS INC.; HARNESS INTERNATIONAL, INC.
Reel/Frame 075689/0062 →
RELEASE OF SECURITY INTEREST Recorded Aug 18, 2026
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
To: HARNESS INC.; HARNESS INTERNATIONAL, INC.
Reel/Frame 075689/0281 →
SECURITY INTEREST Recorded Mar 31, 2026
From: HARNESS INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 074240/0707 →
SECURITY INTEREST Recorded Mar 31, 2026
From: HARNESS INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 074240/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2024
From: SPLIT SOFTWARE, LLC
To: HARNESS INC.
Reel/Frame 068774/0983 →
MERGER Recorded Aug 29, 2024
From: SPLIT SOFTWARE, INC.; STRIPE MERGER SUB II, LLC
To: SPLIT SOFTWARE, LLC
Reel/Frame 068442/0695 →
MERGER Recorded Aug 6, 2024
From: STRIPE MERGER SUB I, INC.; SPLIT SOFTWARE, INC.
To: SPLIT SOFTWARE, INC.
Reel/Frame 068199/0763 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2024
From: WU, CHARLES; CONDORELLI, GIANPIERO; MOHAN, MANSI; ARAI, YONEO; SUDARSHAN, GAUTHAM
To: SPLIT SOFTWARE, INC.
Reel/Frame 067464/0795 →
Continuity (1)
Related Publication 20240311281A1 · Sep 19, 2024
References Cited (3)
US 20160103758A1 · Zhao · 2016 [cited by examiner]
US 20170034023A1 · Nickolov · 2017 [cited by examiner]
US 20170168924A1 · Dereszynski · 2017 [cited by examiner]