A computer-implemented method for accessing accounts and estimating an expected future value of an attribute associated with a user, the method comprising:
- by one or more hardware processors executing computer-readable instructions:
- receiving a request for transaction data for a given time period associated with an account of the user at an external user account system;
- instantiating a simulated instance of a software application, the software application being a first-party application associated with the external user account system, the software application specifically configured to interface via an application programming interface (API) of the external user account system with computing devices associated with the external user account system, wherein:
- the simulated instance of the software application is also configured to interface, via the API of the external user account system, with computing devices associated with the external user account system,
- the simulated instance of the software application is configured to appear to the computing devices associated with the external user account system to be the software application executing on a physical computing device of the user,
- the simulated instance of the software application is configured to query the computing devices associated with the external user account system for transaction data associated with the account, and
- the simulated instance of the software application is configured to receive the transaction data associated with the account from the computing devices associated with the external user account system;
- applying a filter to the transaction data associated with the account to remove internal transfer transactions of the external account system;
- categorizing transactions of the filtered transaction data into one or more transaction groups based on sources of the transactions;
- for each group of the one or more transaction groups:
- estimating a confidence value that the group is associated with the attribute, based at least in part upon a distribution of transaction amounts for the transactions of the group over a time period associated with the transaction group;
- determining whether a last transaction associated with the transaction group is within a threshold time period from a current point in time;
- and
- in response to determining that the last transaction is within the threshold period of time, estimating an attribute value for the group, based at least in part upon an aggregation of the transaction amounts for the transactions of the transaction group;
- determining the expected future value of the attribute based at least in part upon a combination of the estimated attribute values of the one or more transaction groups;
- and
- providing, via a normalized API, an output signal indicative of the expected future value of the attribute, wherein the normalized API is different from the API of the external user account system.