# US 12,008,006 B1 · Assessments based on data that changes retroactively

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

- Number: US 12,008,006 B1
- Document ID: US12008006B1
- Status: Granted
- Kind: B1
- Application number: 16/872,255
- Filed: 2020-05-11
- Granted: 2024-06-11
- Earliest claimed: 2019-09-04
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Anita Beveridge; Alec Schneider; Henry Stoke; Marissa Miracolo
- Web page: https://patentgrep.com/patent/US12008006B1

## CPC

- G06F 16/2474: {Sequence data queries, e.g. querying versioned data}
- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F 16/2477: {Temporal data queries}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system enables analysis of retroactively changing datasets and/or of various versions of logics. In an example, the system determines a first version of data and/or a first version of a logic and a second version of the data and/or a second version of the logic, wherein at least some of the second version of the data was retroactively added. The system determines two outputs each derived from one of a) applying the first version of the logic to the first version of the data, b) applying the second version of the logic to the first version of the data, c) applying the first version of the logic to the second version of the data, or d) applying the second version of the logic to the second version of the data. The system compares the outputs and determines one or more differences between the outputs.

## Claims

### Claim 1

A method comprising:
obtaining, by a processing device at a first time, a first derived dataset setting forth a first set of actions for a first input, wherein the first derived dataset is determined by applying a first version of logic to the first input, and wherein the first input comprises a first dataset and a first version of a second dataset, the first version of the second dataset comprising first data;
obtaining, by the processing device at a second time after the first time, a second version of the second dataset, wherein the second version of the second dataset comprises the first data and retroactively added second data that predates the first time and was not included in the first version of the second dataset at the first time for obtaining the first derived dataset, the retroactively added second data having been retroactively added to the second dataset after the first time;
determining, by the processing device, a second derived dataset setting forth a second set of actions for a second input by applying a second version of the logic to the second input, wherein the second input comprises the first dataset and the second version of the second dataset;
comparing, by the processing device, the first derived dataset to the second derived dataset; and
determining, by the processing device, one or more differences between the first set of actions and the second set of actions based on the comparing due to the retroactively added second data, wherein the one or more differences include an action applied to the second version of the second dataset being in the second set of actions and the action not in the first set of actions.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining, by the processing device at the second time, one or more performed actions that were performed in connection with the first derived dataset; and
determining, by the processing device, whether the one or more performed actions correspond to one or more suggested actions that were suggested based on the first derived dataset.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the first set of actions comprises a first set of suggested actions; and
the second set of actions comprises a second set of suggested actions.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining, by the processing device, one or more modifications to the first version of the logic based on the one or more differences between the first set of actions and the second set of actions.

### Claim 5 (depends on 1)

The method of claim 1, wherein the second dataset comprises:
a stateful dataset, the first version of the second dataset comprising a state of the first version of the logic.

### Claim 6 (depends on 5)

The method of claim 5, wherein the state of the first version of the logic comprises one or more alerts that had already been generated prior to the first time, wherein the first derived dataset comprises one or more additional alerts to be generated, and wherein the first derived dataset excludes the one or more alerts that had already been generated prior to the first time.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
generating, by the processing device, an alert comprising a notification of the one or more differences between the first set of actions and the second set of actions.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
receiving, by the processing device, a first user input identifying the first version of the second dataset and the first version of the logic via a user interface, the first user input enabling selection of the first version of the second dataset from a data store and selection of the first version of the logic from a logic store, wherein data stored in the data store is immutable such that a modification to the second dataset causes a new version of the second dataset to be generated without affecting a prior version of the second dataset; and
receiving, by the processing device via the user interface, a second user input identifying the second version of the second dataset and the second version of the logic.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
determining, by the processing device, a first action of the first set of actions that was performed in connection with the first derived dataset; and
determining, by the processing device, a second action of the second set of actions that should have been performed in connection with the first derived dataset.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
displaying, by the processing device via a graphical user interface (GUI), a first graphical representation of a first scenario that provides an association between the first dataset, the first version of the second dataset, the first version of the logic and the first derived dataset, the first graphical representation comprising a first graph that includes a first node representing the first dataset, a second node representing the first version of the second dataset, and a third node representing the first derived dataset; and
displaying, by the processing device via the GUI, a second graphical representation of a second scenario that provides an association between the first dataset, the second version of the second dataset, the second version of the logic and the second derived dataset, the second graphical representation comprising a second graph that includes a fourth node representing the first dataset, a fifth node representing the second version of the second dataset, and a sixth node representing the second derived dataset.

### Claim 11

A system comprising:
memory; and
one or more processors coupled to the memory, the one or more processors to:
obtain, at a first time, a first derived dataset setting forth a first set of actions for a first input, wherein the first derived dataset is determined by applying a first version of logic to the first input, and wherein the first input comprises a first dataset and a first version of a second dataset, the first version of the second dataset comprising first data;
obtain, at a second time after the first time, a second version of the second dataset, wherein the second version of the second dataset comprises the first data and retroactively added second data that predates the first time and was not included in the first version of the second dataset at the first time for obtaining the first derived dataset, the retroactively added second data having been retroactively added to the second dataset after the first time;
determine a second derived dataset setting forth a second set of actions for a second input by applying a second version of the logic to the second input, wherein the second input comprises the first dataset and the second version of the second dataset;
make a comparison of the first derived dataset to the second derived dataset; and
determine one or more differences between the first set of actions and the second set of actions based on the comparing due to the retroactively added second data, wherein the one or more differences include an action applied to the second version of the second dataset being in the second set of actions and the action not in the first set of actions.

### Claim 12 (depends on 11)

The system of claim 11, wherein the one or more processors are further to:
determine, at the first time, one or more performed actions that were performed in connection with the first derived dataset; and
determine whether the one or more performed actions correspond to one or more suggested actions that were suggested based on the first derived dataset.

### Claim 13 (depends on 11)

The system of claim 11, wherein:
the first set of actions comprises a first set of suggested actions; and
the second set of actions comprises a second set of suggested actions.

### Claim 14 (depends on 11)

The system of claim 11, wherein the second dataset comprises:
a stateful dataset, the first version of the second dataset comprising a state of the first version of the logic.

### Claim 15 (depends on 11)

The system of claim 11, wherein the one or more processors are further to:
receive a first user input identifying the first version of the second dataset and the first version of the logic via a user interface, the first user input enabling selection of the first version of the second dataset from a data store and selection of the first version of the logic from a logic store, wherein data stored in the data store is immutable such that a modification to the second dataset causes a new version of the second dataset to be generated without affecting a prior version of the second dataset; and
receive a second user input identifying the second version of the second dataset and the second version of the logic.

### Claim 16

A non-transitory computer readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to:
obtain, at a first time, a first derived dataset setting forth a first set of actions for a first input, wherein the first derived dataset is determined by applying a first version of logic to the first input, and wherein the first input comprises a first dataset and a first version of a second dataset, the first version of the second dataset comprising first data;
obtain, at a second time after the first time, a second version of the second dataset, wherein the second version of the second dataset comprises the first data and retroactively added second data that predates the second time and was not used at the second time for obtaining the first derived dataset, the retroactively added second data having been retroactively added to the second dataset after the first time;
determine a second derived dataset setting forth a second set of actions for a second input by applying a second version of the logic to the second input, wherein the second input comprises the first dataset and the second version of the second dataset;
make a comparison of the first derived dataset to the second derived dataset; and
determine one or more differences between the first set of actions and the second set of actions based on the comparing due to the retroactively added second data, wherein the one or more differences include an action applied to the second version of the second dataset being in the second set of actions and the action not in the first set of actions.

### Claim 17 (depends on 16)

The non-transitory computer readable storage medium of claim 16, wherein:
the first set of actions comprises a first set of suggested actions; and
the second set of actions comprises a second set of suggested actions.

### Claim 18 (depends on 11)

The system of claim 11, wherein the one or more processors are further to perform at least one of:
determine one or more modifications to the first version of the logic based on the one or more differences between the first set of actions and the second set of actions; or
generate an alert comprising a notification of the one or more differences between the first set of actions and the second set of actions.

### Claim 19 (depends on 11)

The system of claim 11, wherein the one or more processors are further to:
determine a first action of the first set of actions that was performed in connection with the first derived dataset; and
determine a second action of the second set of actions that should have been performed in connection with the first derived dataset.

### Claim 20 (depends on 11)

The system of claim 11, wherein the one or more processors are further to:
display, via a graphical user interface (GUI), a first graphical representation of a first scenario that provides an association between the first dataset, the first version of the second dataset, the first version of the logic and the first derived dataset, the first graphical representation comprising a first graph that includes a first node representing the first dataset, a second node representing the first version of the second dataset, and a third node representing the first derived dataset; and
display, via the GUI, a second graphical representation of a second scenario that provides an association between the first dataset, the second version of the second dataset, the second version of the logic and the second derived dataset, the second graphical representation comprising a second graph that includes a fourth node representing the first dataset, a fifth node representing the second version of the second dataset, and a sixth node representing the second derived dataset.
