IP Library Granted Patent US 11,210,823
Granted Patent B1
US 11,210,823 · App. 16/585,106 · Granted Dec 28, 2021

Systems and methods for attributing value to data analytics-driven system components

Inventors: Simeon Simeonov (Lincoln, MA); Edward Zahrebelski (Hoffman Estates, IL)
Assignee: Swoop Inc.
G06T11/206G06N20/00
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,210,823
App. No.
16/585,106
Filed
Sep 27, 2019
Granted
Dec 28, 2021
Kind
B1
Art Unit
2616
USPC
345/440
Abstract

Values are attributed to components of a data analytics-driven system by representing the system as a computational graph. The computational graph embodies a function that takes one or more inputs and produces an output, and each component of the system is represented as a subgraph of the computational graph. A usage metric is calculated for each component of the system by determining whether the output of the function of the system is affected by the component. A utility metric is also calculated for each component of the system. Based on the calculated component usage metrics and utility metrics, respective value are allocated to the system components.

Claims (48)

1. A computer-implemented method for attributing value to components of a data analytics-driven system, the method comprising:

representing the data analytics-driven system as a function that takes one or more inputs and produces one or more outputs, the data analytics-driven system having a plurality of components;

forming a computational graph of the function, wherein each component of the data analytics-driven system is represented as a subgraph of the computational graph, wherein a particular subgraph of the computational graph comprises a node representing a machine learning or artificial intelligence (ML/AI) component in the data analytics-driven system, and

wherein the data analytics-driven system takes inputs and produces outputs that are respectively different from the inputs and outputs of the function of which the computational graph is formed, and wherein the function is configured to facilitate determining respective values of one or more of the components of the data analytics-driven system rather than to replicate behavior of the data analytics-driven system;

calculating a usage metric for each component of the data analytics-driven system by determining whether the output of the function of the data analytics-driven system is affected by the component;

calculating a utility metric for each component of the data analytics-driven system; and

based on the usage metric and the utility metric calculated for each component of the data analytics-driven system, allocating a respective value to one or more of the components of the data analytics-driven system, wherein the allocating comprises determining a value of the ML/AI component given its inclusion in the data analytics-driven system.

2. The method of claim 1 , wherein calculating the usage metric for a first component of the data analytics-driven system represented by a first subgraph of the computational graph comprises:

transforming the first subgraph such that each other subgraph connected to the first subgraph is a single node;

calculating a usage value for each node in the transformed first subgraph; and

calculating the usage metric based on the usage values.

3. The method of claim 1 , wherein calculating the utility metric for a first component of the data analytics-driven system comprises:

if a utility function exists for the component, using the utility function to calculate the utility metric for the first component; and

if a utility function does not exist for the component, assigning a placeholder utility to the first component.

4. The method of claim 1 , further comprising combining the usage metric and the utility metric calculated for each component of the data analytics-driven system to form combined metric data.

5. The method of claim 4 , wherein combining the usage metric and the utility metric calculated for each component comprises associating a particular usage metric and a particular utility metric at a same level of granularity.

6. The method of claim 5 , wherein allocating a respective value to a first component of the data analytics-driven system comprising a first subgraph of the computational graph comprises applying a node-specific value decomposition algorithm to the first subgraph.

7. The method of claim 1 , wherein allocating a respective value to one or more of the components of the data analytics-driven system comprises:

providing the usage metric and the utility metric calculated for each component as input to a machine learning algorithm; and

receiving as output from the machine learning algorithm a value for each component according to an expected marginal utility of the component.

8. The method of claim 1 , further comprising aggregating values calculated for the components of the data analytics-driven system at a package level.

9. The method of claim 1 , wherein a particular subgraph of the computational graph comprises nodes representing data sources and/or machine learning processes.

10. The method of claim 1 , wherein the computational graph comprises a directed acyclic graph.

11. A system for attributing value to components of a data analytics-driven system (DAS), the system comprising:

a processor; and

a memory storing computer-executable instructions that, when executed by the processor, program the processor to perform the operations of:

representing the DAS as a function that takes one or more inputs and produces one or more outputs, the DAS having a plurality of components;

forming a computational graph of the function, wherein each component of the DAS is represented as a subgraph of the computational graph, wherein a particular subgraph of the computational graph comprises a node representing a machine learning or artificial intelligence (ML/AI) component in the DAS,

wherein the data analytics-driven system takes inputs and produces outputs that are respectively different from the inputs and outputs of the function of which the computational graph is formed, and wherein the function is configured to facilitate determining respective values of one or more of the components of the data analytics-driven system rather than to replicate behavior of the data analytics-driven system;

calculating a usage metric for each component of the DAS by determining whether the output of the function of the DAS is affected by the component;

calculating a utility metric for each component of the DAS; and

based on the usage metric and the utility metric calculated for each component of the DAS, allocating a respective value to one or more of the components of the DAS, wherein the allocating comprises determining a value of the ML/AI component given its inclusion in the DAS.

12. The system of claim 11 , wherein calculating the usage metric for a first component of the DAS represented by a first subgraph of the computational graph comprises:

transforming the first subgraph such that each other subgraph connected to the first subgraph is a single node;

calculating a usage value for each node in the transformed first subgraph; and

calculating the usage metric based on the usage values.

13. The system of claim 11 , wherein calculating the utility metric for a first component of the DAS comprises:

if a utility function exists for the component, using the utility function to calculate the utility metric for the first component; and

if a utility function does not exist for the component, assigning a placeholder utility to the first component.

14. The system of claim 11 , further comprising combining the usage metric and the utility metric calculated for each component of the DAS to form combined metric data.

15. The system of claim 14 , wherein combining the usage metric and the utility metric calculated for each component comprises associating a particular usage metric and a particular utility metric at a same level of granularity.

16. The system of claim 15 , wherein allocating a respective value to a first component of the DAS comprising a first subgraph of the computational graph comprises applying a node-specific value decomposition algorithm to the first subgraph.

17. The system of claim 11 , wherein allocating a respective value to one or more of the components of the DAS comprises:

providing the usage metric and the utility metric calculated for each component as input to a machine learning algorithm; and

receiving as output from the machine learning algorithm a value for each component according to an expected marginal utility of the component.

18. The system of claim 11 , further comprising aggregating values calculated for the components of the DAS at a package level.

19. The system of claim 11 , wherein a particular subgraph of the computational graph comprises nodes representing data sources and/or machine learning processes.

20. The system of claim 11 , wherein the computational graph comprises a directed acyclic graph.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Apr 11, 2025
From: ANTARES CAPITAL LP
To: SWOOP.COM, INC.
Reel/Frame 070814/0200 →
PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: SWOOP.COM, INC.
To: ANTARES CAPITAL LP
Reel/Frame 070822/0226 →
SECURITY INTEREST Recorded Dec 8, 2020
From: SWOOP.COM, INC.
To: ANTARES CAPITAL LP
Reel/Frame 054576/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2019
From: SIMEONOV, SIMEON; ZAHREBELSKI, EDWARD
To: SWOOP INC.
Reel/Frame 051280/0009 →
Continuity (2)
Continuation 16431143 · Jun 4, 2019
Provisional Application 62680261 · Jun 4, 2018
Cited By (3)
US 12,381,951 US 12,423,615 US 12,670,389