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.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method comprising: 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 indicating a prediction of future user behaviors using an artificial neural network, the artificial neural network including a input layer, a hidden layer, and an output layer; determining, by the artificial neural network 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. 2. The method of claim 1, wherein for the artificial neural network: the input layer includes a plurality of input nodes each receive a subset of the historical data indicating different user behaviors, the hidden layer includes a plurality of hidden nodes that each approximate future user behaviors based on a trained statistical model for the user, and the output layer includes one or more output nodes that generate a prediction of the future user behaviors. 3. The method of claim 1, comprising: receiving, by the one or more computers, a list of data metrics that have been previously determined to be used by the user; computing, for each metric within the list of data metrics that have been previously to be previously used by the user and based at least on the forecast for the user, a probability score that indicates a likelihood that a particular data metric will be used by the user; and training the artificial neural network based at least on the probability scores for the list of data metrics that have been determined to be previously used by the user. 4. The method of claim 1, comprising: after generating the forecast for the user, receiving data indicating one or more products associated with the user; processing the data indicating the one or more products using the artificial neural network; determining that that the prediction of future user behaviors has changed; and in response to determining that that the prediction of future user behaviors has changed, adjusting the forecast for the user based at least on the data indicating one or more products. 5. The method of claim 1, wherein the historical data associated with the user comprises prior data queries submitted by the user. 6. The method of claim 1, wherein the historical data associated with the user comprises historical data for one or more other users that are determined to be similar to the user. 7. The method of claim 1, wherein determining the subset of data metrics that are likely to be used by the user comprises: computing, for each of the plurality of data metrics and based at least on the historical data associated with the user, a probability score indicating a likelihood that a particular data metric will be used by the user; comparing the value of the probability score for each of the plurality of data metrics to a threshold value; and designating a subset of the plurality of data metrics that have probability score values greater than the threshold value as the subset of data metrics that are likely to be used by the user. 8. The method of claim 1, wherein performing the one or more automatic data operations on the subset of data metrics comprises computing a set of aggregate metrics for the subset of data metrics. 9. The method of claim 7, wherein: the set of aggregate metrics for the subset of data metrics are computed prior to initializing a data analysis application, and the set of aggregate metrics for the subset of data metrics are locally stored on the client device of the user. 10. The method of claim 1, wherein providing the processed subset of data metrics for output comprises providing the processed subset of data metrics to a data analysis application. 11. The method of claim 1, wherein providing the processed subset of data metrics for output comprises configuring the processed subset of data metrics for display on a data analytics dashboard. 12. 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: 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. 13. The system of claim 12, wherein for the artificial neural network: the input layer includes a plurality of input nodes each receive a subset of the historical data indicating different user behaviors, the hidden layer includes a plurality of hidden nodes that each approximate future user behaviors based on a trained statistical model for the user, and the output layer includes one or more output nodes that generate a prediction of the future user behaviors. 14. The system of claim 12, wherein the operations comprise: receiving, by the one or more computers, a list of data metrics that have been previously determined to be used by the user; computing, for each metric within the list of data metrics that have been previously to be previously used by the user and based at least on the forecast for the user, a probability score that indicates a likelihood that a particular data metric will be used by the user; and training the artificial neural network based at least on the probability scores for the list of data metrics that have been determined to be previously used by the user. 15. The system of claim 12, wherein the operations comprise: after generating the forecast for the user, receiving data indicating one or more products associated with the user; processing the data indicating the one or more products using the artificial neural network; determining that that the prediction of future user behaviors has changed; and in response to determining that that the prediction of future user behaviors has changed, adjusting the forecast for the user based at least on the data indicating one or more products. 16. The system of claim 12, wherein the historical data associated with the user comprises prior data queries submitted by the user. 17. A non-transitory computer storage device encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: 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. 18. The non-transitory computer storage device of claim 17, wherein for the artificial neural network: the input layer includes a plurality of input nodes each receive a subset of the historical data indicating different user behaviors, the hidden layer includes a plurality of hidden nodes that each approximate future user behaviors based on a trained statistical model for the user, and the output layer includes one or more output nodes that generate a prediction of the future user behaviors. 19. The non-transitory computer storage device of claim 17, wherein the operations comprise: receiving, by the one or more computers, a list of data metrics that have been previously determined to be used by the user; computing, for each metric within the list of data metrics that have been previously to be previously used by the user and based at least on the forecast for the user, a probability score that indicates a likelihood that a particular data metric will be used by the user; and training the artificial neural network based at least on the probability scores for the list of data metrics that have been determined to be previously used by the user. 20. The non-transitory computer storage device of claim 17, wherein the operations comprise: after generating the forecast for the user, receiving data indicating one or more products associated with the user; processing the data indicating the one or more products using the artificial neural network; determining that that the prediction of future user behaviors has changed; and in response to determining that that the prediction of future user behaviors has changed, adjusting the forecast for the user based at least on the data indicating one or more products.