# US 12,182,109 B1 · Augmenting decision making via interactive what-if analysis

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,182,109 B1
- Document ID: US12182109B1
- Status: Granted
- Kind: B1
- Application number: 17/941,393
- Filed: 2022-09-09
- Granted: 2024-12-31
- Earliest claimed: 2022-09-09
- Assignees: Sigma Computing, Inc.
- Applicants: Sigma Computing, Inc.
- Inventors: Çaǧatay Demiralp
- Web page: https://patentgrep.com/patent/US12182109B1

## CPC

- G06F 16/2428: {Query predicate definition using graphical user interfaces, including menus and forms (G06F16/2423 takes precedence)}
- G06F 16/2455: Query execution
- G06F 16/248: Presentation of query results
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Augmenting decision-making via interactive what-if analysis including presenting, by a query execution engine, via a graphical user interface, a constrained analysis view that indicates a set of values for a plurality of driver variables, where the graphical user interface receives requests for data and present data; receiving a state specification of the graphical user interface that includes a constraint on a value of a driver variable of the plurality of driver variables; generating, by the query execution engine, a database query using the received state specification that is composed to retrieve a query result from a cloud-based data warehouse; based on the query result, calculating an updated set of values for the plurality of driver variables that result in an optimized value for the target variable while the constraint on the driver variable is in effect; and presenting the updated set of values in an updated view.

## Claims

### Claim 1

A method comprising:
presenting, by a query execution engine, via a graphical user interface, a constrained analysis view that indicates a set of values for a plurality of driver variables that effect a target variable, the graphical user interface configured to receive requests for data and present data from datasets generated by the query execution engine;
receiving, by the query execution engine, a state specification of the graphical user interface that includes a constraint on a value of a driver variable of the plurality of driver variables;
generating, by the query execution engine, a database query using the received state specification, wherein the database query is composed to retrieve a query result from a cloud-based data warehouse;
based on the query result, calculating, by the query execution engine, an updated set of values for the plurality of driver variables that result in an optimized value for the target variable while the constraint on the value of the driver variable is in effect; and
presenting, by the query execution engine, the updated set of values in an updated constrained analysis view.

### Claim 2 (depends on 1)

The method of claim 1, further comprising calculating the updated set of values based on a machine learning model.

### Claim 3 (depends on 2)

The method of claim 2, wherein calculating the updated set of values based on the machine learning model further comprises:
training the machine learning model, the training comprising:
obtaining training data sets, each training data set of historical data comprising:
one or more values for the target variable; and
values of driver variables associated with the one or more values for the target variable;
training the machine learning model based on the training data sets; and
applying the machine learning model to the plurality of driver variables to calculate the updated set of values.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
applying the constraint to the machine learning model configured to calculate the optimized value of the target variable.

### Claim 5 (depends on 2)

The method of claim 2, further comprising:
generating the optimized value for the target variable based on the constraint on the driver variable.

### Claim 6 (depends on 1)

The method of claim 1, further comprising, in response to receiving the state specification that includes the constraint, determining that the constraint represents a lowest possible value of the driver variable.

### Claim 7 (depends on 1)

The method of claim 1, further comprising, in response to receiving the state specification that includes the constraint, determining that the constraint represents an highest possible value of the driver variable.

### Claim 8 (depends on 1)

The method of claim 1, further comprising, in response to receiving the state specification that includes the constraint, determining that the constraint represents a numeric value constraint on the driver variable.

### Claim 9 (depends on 1)

The method of claim 1, further comprising, in response to receiving the state specification that includes the constraint, determining that the constraint represents a percentage value constraint on the driver variable.

### Claim 10

An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed therein computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
presenting, by a query execution engine, via a graphical user interface, a constrained analysis view that indicates a set of values for a plurality of driver variables that effect a target variable, the graphical user interface configured to receive requests for data and present data from datasets generated by the query execution engine;
receiving, by the query execution engine, a state specification of the graphical user interface that includes a constraint on a value of a driver variable of the plurality of driver variables;
generating, by the query execution engine, a database query using the received state specification, wherein the database query is composed to retrieve a query result from a cloud-based data warehouse;
based on the query result, calculating, by the query execution engine, an updated set of values for the plurality of driver variables that result in an optimized value for the target variable while the constraint on the value of the driver variable is in effect; and
presenting, by the query execution engine, the updated set of values in an updated constrained analysis view.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the computer program instructions further cause the apparatus to carry out the step of calculating the updated set of values based on a machine learning model.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein calculating the updated set of values based on the machine learning model further comprises:
training the machine learning model, the training comprising:
obtaining training data sets, each training data set of historical data comprising:
one or more values for the target variable; and
values of driver variables associated with the one or more values for the target variable;
training the machine learning model based on the training data sets; and
applying the machine learning model to the plurality of driver variables to calculate the updated set of values.

### Claim 13 (depends on 11)

The apparatus of claim 11, wherein the computer program instructions further cause the apparatus to carry out the steps of applying the constraint to the machine learning model configured to calculate the optimized value of the target variable.

### Claim 14 (depends on 11)

The apparatus of claim 11, wherein the computer program instructions further cause the apparatus to carry out the steps of generating the optimized value for the target variable based on the constraint on the value of the driver variable.

### Claim 15

A computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
presenting, by a query execution engine, via a graphical user interface, a constrained analysis view that indicates a set of values for a plurality of driver variables that effect a target variable, the graphical user interface configured to receive requests for data and present data from datasets generated by the query execution engine;
receiving, by the query execution engine, a state specification of the graphical user interface that includes a constraint on a value of a driver variable of the plurality of driver variables;
generating, by the query execution engine, a database query using the received state specification, wherein the database query is composed to retrieve a query result from a cloud-based data warehouse;
based on the query result, calculating, by the query execution engine, an updated set of values for the plurality of driver variables that result in an optimized value for the target variable while the constraint on the value of the driver variable is in effect; and
presenting, by the query execution engine, the updated set of values in an updated constrained analysis view.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the computer program instructions further cause the computer to carry out the steps of calculating the updated set of values based on a machine learning model.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein calculating the updated set of values based on the machine learning model further comprises:
training the machine learning model, the training comprising:
obtaining training data sets, each training data set of historical data comprising:
one or more values for the target variable; and
values of driver variables associated with the one or more values for the target variable;
training the machine learning model based on the training data sets; and
applying the machine learning model to the plurality of driver variables to calculate the updated set of values.

### Claim 18 (depends on 16)

The computer program product of claim 16, wherein the computer program instructions further cause the computer to carry out the steps of:
applying the constraint to the machine learning model configured to calculate the optimized value of the target variable.

### Claim 19 (depends on 16)

The computer program product of claim 16, wherein the computer program instructions further cause the computer to carry out the steps of:
generating the optimized value for the target variable based on the constraint on the value of the driver variable.

### Claim 20 (depends on 15)

The computer program product of claim 15, wherein the computer program instructions further cause the computer to carry out the steps of:
in response to receiving the state specification that includes the constraint, determining that the constraint represents a lowest possible value of the driver variable.
