IP Library Granted Patent US 11,631,094
Granted Patent B2
US 11,631,094 · App. 15/014,376 · Granted Apr 18, 2023

Pre-computing data metrics using neural networks

Inventor: Mir Tariq (Kirkland, WA)
Assignee: IQVIA Inc.
G06Q30/0202G06N3/02
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,631,094
App. No.
15/014,376
Granted
Apr 18, 2023
Kind
B2
Abstract

Methods, system, and apparatus for pre-computing data metrics. A method can include receiving, by one or more computers, (i) data from a user including a plurality of data metrics, and (ii) historical data associated with the user; generating, by the one or more computers and based at least on the historical data associated with the user, a forecast for the user using an artificial neural network, the forecast indicating a prediction of future user behaviors; determining, by the one or more computers and based at least on the forecast for the user, a subset of data metrics, from among the plurality of data metrics, that are likely to be used by the user; performing, by the one or more computers, one or more automatic data operations on the subset of data metrics; and providing, by the one or more computers, the processed subset of data metrics for output.

Claims (84)

1. A computer-implemented method comprising:

obtaining first data indicative of a set of historical actions performed by a set of users through an application;

generating, based on clustering the first data, second data indicative of a set of simulated historical actions performed by the set of users, wherein the second data reproduce statistical properties of the first data;

determining, for each historical action indicated by the first data, a first likelihood of use by a user at a later time point, wherein the user belongs to the set of users;

determining, for each simulated historical action indicated by the second data, a second likelihood of use by the user at a later time point;

training, based at least on the first and second likelihoods, a neural network model configured to determine a user forecast indicative of a set of future actions to be performed by the user, wherein the neural network comprises an input layer, a hidden layer, and an output layer;

determining, based on accessing the neural network model, a user forecast of a first user, wherein the user forecast is indicative of a set of future actions to be performed by the first user through the application at a later time point, and the user forecast includes a set of data metrics accessible through the application;

obtaining, for each data metric of the user forecast of the first user, an importance score, wherein the importance score is based on frequency of use of a respective data metric by the first user;

selecting, based on the importance score for each of the data metrics, a subset of data metrics from the set of data metrics, wherein the subset of data metrics only includes data metrics that are predicted to be used by the first user in a data processing operation at the later time point;

generating a metric table, wherein the metric table includes a set of quantitative information, wherein each quantitative information is associated with a corresponding one of the data metrics of the subset of data metrics, and wherein generating the metric table comprises:

transforming the first data and the second data into a star schema that includes one or more fact tables;

determining, based on applying a first data metric to the star schema, first quantitative information for the first data metric included in the subset of data metrics, wherein the first data metric is associated with a first future action included in the set of future actions;

determining, based on applying a second data metric to the star schema, second quantitative information for the second data metric included in the subset of data metrics, wherein the second data metric is associated with a second future action that is (i) included in the set of future actions and (ii) different from the first data metric;

determining, based on the first and the second quantitative information, aggregated quantitative information; and

storing the first quantitative information, the second quantitative information, and the aggregated quantitative information in the metric table; and

providing the metric table, wherein the metric table is accessible before the set of future actions is performed by the first user.

2. The method of claim 1 , wherein:

the input layer includes a plurality of input nodes each of which receives a subset of the data indicating historical actions performed by the user through the application, each subset representing a different feature of user behavior exhibited by the user when previously using the application;

the hidden layer includes a plurality of hidden nodes that each approximates the set of future actions based on a trained statistical model for the user; and

the output layer includes one or more output nodes that determine the set of future actions.

3. The method of claim 1 , comprising:

after determining the user forecast of the first user, receiving data indicating one or more products associated with the first user;

identifying, using the neural network model, a second subset of data metrics, from among the set of data metrics, that correspond to the one or more products associated with the first user;

determining that the user forecast of the first user has changed based on the second subset of data metrics; and

in response to determining that the user forecast of the first user has changed, adjusting the user forecast of the first user based at least on the data indicating one or more products.

4. The method of claim 1 , wherein the set of historical actions performed by the set of users comprises prior data metrics computed by the set of users through the application.

5. The method of claim 1 , wherein the set of users comprise one or more other users that are determined to be similar to the first user.

6. The method of claim 1 , wherein selecting the subset of data metrics comprises:

computing, for each data metric included in the set of data metrics, likelihood that a particular data metric will be used by the first user through the application at the later time point, wherein the likelihood is computed based on the set of historical actions; and

designating data metrics that have likelihoods greater than a threshold value as being included in the subset of data metrics.

7. The method of claim 1 , wherein the metric table is locally stored on a client device of the first user.

8. The method of claim 7 , wherein providing the metric table comprises configuring the client device to execute the application at the later time point such that the first quantitative information, the second quantitative information, and the aggregated quantitative information are displayed on a data analytics dashboard provided through the application.

9. A system comprising: one or more computers; and

a non-transitory computer-readable medium coupled to the one or more computers having instructions stored thereon, which, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

obtaining first data indicative of a set of historical actions performed by a set of users through an application;

generating, based on clustering the first data, second data indicative of a set of simulated historical actions performed by the set of users, wherein the second data reproduce statistical properties of the first data;

determining, for each historical action indicated by the first data, a first likelihood of use by a user at a later time point, wherein the user belongs to the set of users;

determining, for each simulated historical action indicated by the second data, a second likelihood of use by the user at a later time point;

training, based at least on the first and second likelihoods, a neural network model configured to determine a user forecast indicative of a set of future actions to be performed by the user, wherein the neural network comprises an input layer, a hidden layer, and an output layer;

determining, based on accessing the neural network model, a user forecast of a first user, wherein the user forecast is indicative of a set of future actions to be performed by the first user through the application at a later time point, and the user forecast includes a set of data metrics accessible through the application;

obtaining, for each data metric of the user forecast of the first user, an importance score, wherein the importance score is based on frequency of use of a respective data metric by the first user;

selecting, based on the importance score for each of the data metrics, a subset of data metrics from the set of data metrics, wherein the subset of data metrics only includes data metrics that are predicted to be used by the first user in a data processing operation at the later time point;

generating a metric table, wherein the metric table includes a set of quantitative information, wherein each quantitative information is associated with a corresponding one of the data metrics of the subset of data metrics, and wherein generating the metric table comprises:

transforming the first data and the second data into a star schema that includes one or more fact tables;

determining, based on applying a first data metric to the star schema, first quantitative information for the first data metric included in the subset of data metrics, wherein the first data metric is associated with a first future action included in the set of future actions;

determining, based on applying a second data metric to the star schema, second quantitative information for the second data metric included in the subset of data metrics, wherein the second data metric is associated with a second future action that is (i) included in the set of future actions and (ii) different from the first data metric;

determining, based on the first and the second quantitative information, aggregated quantitative information; and

storing the first quantitative information, the second quantitative information, and the aggregated quantitative information in the metric table; and

providing the metric table, wherein the metric table is accessible before the set of future actions is performed by the first user.

10. The system of claim 9 , wherein:

the input layer includes a plurality of input nodes each of which receives a subset of the data indicating historical actions performed by the user through the application, each subset representing a different feature of user behavior exhibited by the user when previously using the application;

the hidden layer includes a plurality of hidden nodes that each approximates the set of future actions based on a trained statistical model for the user; and

the output layer includes one or more output nodes that determine the set of future actions.

11. The system of claim 9 , wherein the operations comprise:

after determining the user forecast of the first user, receiving, by the one or more computers, data indicating one or more products associated with the first user;

identifying, by the one or more computers and using the neural network model, a second subset of data metrics, from among the set of data metrics, that correspond to the one or more products associated with the first user;

determining, by the one or more computers, that the user forecast of the first user has changed based on the second subset of data metrics; and

in response to determining that the user forecast of the first user has changed, adjusting, by the one or more computers, the user forecast of the first user based at least on the data indicating one or more products.

12. The system of claim 9 , wherein the set of historical actions performed by the set of users comprises prior data metrics computed by the set of users through the application.

13. A non-transitory computer storage device encoded with a computer program, the computer program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

obtaining first data indicative of a set of historical actions performed by a set of users through an application;

generating, based on clustering the first data, second data indicative of a set of simulated historical actions performed by the set of users, wherein the second data reproduce statistical properties of the first data;

determining, for each historical action indicated by the first data, a first likelihood of use by a user at a later time point, wherein the user belongs to the set of users;

determining, for each simulated historical action indicated by the second data, a second likelihood of use by the user at a later time point;

training, based at least on the first and second likelihoods, a neural network model configured to determine a user forecast indicative of a set of future actions to be performed by the user, wherein the neural network comprises an input layer, a hidden layer, and an output layer;

determining, based on accessing the neural network model, a user forecast of a first user, wherein the user forecast is indicative of a set of future actions to be performed by the first user through the application at a later time point, and the user forecast includes a set of data metrics accessible through the application;

obtaining, for each data metric of the user forecast of the first user, an importance score, wherein the importance score is based on frequency of use of a respective data metric by the first user;

selecting, based on the importance score for each of the data metrics, a subset of data metrics from the set of data metrics, wherein the subset of data metrics only includes data metrics that are predicted to be used by the first user in a data processing operation at the later time point;

generating a metric table, wherein the metric table includes a set of quantitative information, wherein each quantitative information is associated with a corresponding one of the data metrics of the subset of data metrics, and wherein generating the metric table comprises:

transforming the first data and the second data into a star schema that includes one or more fact tables;

determining, based on applying a first data metric to the star schema, first quantitative information for the first data metric included in the subset of data metrics, wherein the first data metric is associated with a first future action included in the set of future actions;

determining, based on applying a second data metric to the star schema, second quantitative information for the second data metric included in the subset of data metrics, wherein the second data metric is associated with a second future action that is (i) included in the set of future actions and (ii) different from the first data metric;

determining, based on the first and the second quantitative information, aggregated quantitative information; and

storing the first quantitative information, the second quantitative information, and the aggregated quantitative information in the metric table; and

providing the metric table, wherein the metric table is accessible before the set of future actions is performed by the first user.

14. The non-transitory computer storage device of claim 13 , wherein:

the input layer includes a plurality of input nodes each of which receives a subset of the data indicating historical actions performed by the user through the application, each subset representing a different feature of user behavior exhibited by the user when previously using the application;

the hidden layer includes a plurality of hidden nodes that each approximates the set of future actions based on a trained statistical model for the user; and

the output layer includes one or more output nodes that determine the set of future actions.

15. The non-transitory computer storage device of claim 13 , wherein the operations comprise:

after determining the user forecast of the first user, receiving, by the one or more computers, data indicating one or more products associated with the first user;

identifying, by the one or more computers and using the neural network model, a second subset of data metrics, from among the set of data metrics, that correspond to the one or more products associated with the first user;

determining, by the one or more computers, that the user forecast of the first user has changed based on the second subset of data metrics; and

in response to determining that the user forecast of the first user has changed, adjusting, by the one or more computers, the user forecast of the first user based at least on the data indicating one or more products.

Assignments (11)
SECURITY INTEREST Recorded Mar 12, 2026
From: IMS SOFTWARE SERVICES LTD.; IQVIA INC.; IQVIA RDS INC.; RULES-BASED MEDICINE, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 075047/0061 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTIES INADVERTENTLY NOT INCLUDED IN FILING PREVIOUSLY RECORDED AT REEL: 065709 FRAME: 618. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Dec 6, 2023
From: IQVIA INC.; IQVIA RDS INC.; IMS SOFTWARE SERVICES LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065790/0781 →
SECURITY INTEREST Recorded Nov 29, 2023
From: IQVIA INC.; IQVIA RDS INC.; IMS SOFTWARE SERVICES LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065710/0253 →
SECURITY INTEREST Recorded Nov 29, 2023
From: IQVIA INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065709/0618 →
SECURITY INTEREST Recorded May 24, 2023
From: IQVIA INC.; IQVIA RDS INC.; IMS SOFTWARE SERVICES LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 063745/0279 →
CHANGE OF NAME Recorded Mar 2, 2023
From: QUINTILES IMS INCORPORATED
To: IQVIA INC.
Reel/Frame 062931/0223 →
MERGER AND CHANGE OF NAME Recorded Jan 22, 2018
From: IMS HEALTH INCORPORATED; QUINTILES TRANSNATIONAL CORP.
To: QUINTILES IMS INCORPORATED
Reel/Frame 045102/0549 →
MERGER AND CHANGE OF NAME Recorded Feb 23, 2017
From: IMS HEALTH INCORPORATED; QUINTILES TRANSNATIONAL CORP.
To: QUINTILES IMS INCORPORATED
Reel/Frame 041791/0233 →
MERGER AND CHANGE OF NAME Recorded Jan 5, 2017
From: IMS HEALTH INCORPORATED; QUINTILES TRANSNATIONAL CORP.
To: QUINTILES IMS INCORPORATED
Reel/Frame 041260/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2016
From: TARIQ, MIR
To: IMS HEALTH INCORPORATED
Reel/Frame 038446/0950 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded May 2, 2016
From: IMS HEALTH INCORPORATED
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038592/0194 →