GENERATION OF DATA STRUCTURES BASED ON CATEGORIES OF MATCHED DATA ITEMS
A data processing system communicates with a secure third-party database to provide updated user data that is then usable by a plurality of other entities. In some embodiments, the system may be configured to coordinate access to user account information via user-provided authentication credentials, apply account identification rules to the accessed account information to identify a plurality of accounts of the user, and initiate updates to a database record of the user at the secure third-party database associated indicative of any accounts identified.
A portion of the disclosure of this patent document includes material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyrights whatsoever.
BACKGROUNDElectronic databases provide storage and retrieval of digital data records. Data records in such databases may be electronically updated. Certain data records have access restrictions, such as restrictions regarding entities that can view or make use of the records, as well as restrictions on entities that can provide updates or changes to such records.
SUMMARY OF EMBODIMENTSThe systems, methods, and devices described herein each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this disclosure, several non-limiting features will now be described briefly.
In some embodiments, an account discovery system interfaces between an end-user (for example, a consumer) and one or more external accounts of the user to identify accounts of the user based on data items accessed at the external accounts. Multiple data items, which may be accessed or received from one or more third-party entities, such as via a direct application programming interface (API) communication channel, are analyzed to determine whether any of the data items, or combinations of data items, meet rules for addition of the data items to a secure third-party risk item database.
A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions, such as those described below as computerized methods or simply methods, by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.
In one embodiment, a computerized method is performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprising receiving, via network communication with a user computing device, selection of a third-party entity from a plurality of third-party entities indicated in a user interface displayed on the user computing device, and credentials for directly accessing, by proxy on behalf of the user via an application programming interface (API), a plurality of data items associated with the user stored in one or more databases associated with the selected third-party entity. The method may further include transmitting at least an API token associated with the selected third-party and the credential to one or more databases associated with the selected third-party, accessing a plurality of data items associated with the user, via an API communication channel established with the one or more databases associated with the selected third-party entity. The method may further include selecting a first data item of the plurality of data items, determining a recipient identified in the first data item, identifying a subset of data items each indicating the determined recipient, wherein the subset of data items includes at least the first data item and one or more other data items. The method may further include determining, based at least on the identified subset of data items, account data associated with an account of the user associated with the recipient, the account data comprising at least one or more of: a number of data items each having time stamps within a predetermined time period, average number of days between time stamps of sequential data items, applying a first account identification rule, associated with a first account type, to the account data, determine, based on said application of the first account identification rule, a first confidence level indicating likelihood that the account is the first type of account. The method may further include, in response to determining that the first confidence level is about a first threshold, applying a first account scoring model to the account data, the first account scoring model configured to determine an expected change to a risk score associated with the user. The method may further include receiving, from the user computing device, confirmation that the account of the user is the first type of account, receiving, from the user computing device, a request to add the account with the recipient to risk data associated with the user at a secured third-party risk database. The method may further include generating, based on portions of the plurality of data items and the account data associated with the recipient, an account creation data package, the account creation data package formatted for ingestion at the secured third-party risk database to initiate addition of the account to risk data of the user, identifying a security key associated with the secured third-party risk database. The method may further include transmitting the security key and the account creation data package to the third-party risk database via a secure communication channel established with the third-party risk database, requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, wherein the risk scoring algorithm is based at least partly on portions of the plurality of data items or the account data included in the risk data of the user. The method may further include providing risk score change information to the user computing device.
In one embodiment, the method further includes, prior to receiving credentials from the user computing device, transmit user interface data to the user computing device, the user interface data configured to depict a permissions interface element that is selectable to indicate authorization to access account information associated with the user, and receiving, from the user computing device, authorization to access account information associated with the user.
In one embodiment, the method further includes transmitting user interface data to the user computing device, the user interface data configured to depict a user interface including one or more interactive elements selectable to indicate authorized uses of the data items associated with the user by the computing system, receiving, from the user computing device, selection of authorized uses of the data items, and selectively sharing, based on the authorized uses of the data items, the data items with one or more third parties.
In one embodiment, determining a recipient identified in the first data items comprises: determining a recipient identifier in the first data item, accessing a recipient data structure storing indications of associations between recipient identifiers and corresponding recipients, wherein the recipient is associated with a plurality of recipient identifiers used by different third-party databases to identify the recipient, and determining that the recipient identifier is associated with the recipient in the recipient data structure. In one embodiment, associations between recipient identifiers and corresponding recipients are deterministic. In one embodiment, associations between recipient identifiers and corresponding recipients are probabilistic.
In one embodiment, the account creation data package includes at least: an identifier of the recipient, a data furnisher identifier associated with an entity that provides consumer data to the secured third-party risk database, and at least a portion of the account information formatted for ingestion by the secured third-party risk database to initiate addition of the account to risk data of the user. In one embodiment, the security key comprises an API token associated with the secured third-party risk database.
In one embodiment, the method further includes determining a first one or more items available to the user based on the current risk score, determining a second one or more items not available to the user based on the current risk score, determining an estimated risk score of the user based on potential addition of a new account of the user to risk data of the user, in response to determining that at least one of the second one or more items would be available to the user based on the estimated risk score, providing an option to the user in the interactive user interface to initiate updates to risk data of the user, in response to receiving an indication of selection of the option in the interactive user interface on the user device, initiating receiving via network communication with the user computing device, determining an updated risk score based at least on the risk score change information, determining at least one of the second one or more items eligible to the user based on the updated risk score, and updating the interactive user interface data to depict information regarding the at least one of the second one or more items in the user interface on the user device. In one embodiment, the first account scoring model is configured to determine an estimated risk score change if the first account of the first account type is added to the risk data of the user, wherein the first account scoring model is based at least on actual risk score changes of a plurality of other users in response to addition of accounts of the first account type to their respective risk data. In one embodiment, the method further includes, for each of a plurality of accounts included in the risk data of the user, determining an account type from a plurality of account types, identifying a second account type of the plurality of account types that impacts risk scores of users that is not included in the determined account types of the plurality accounts of the user, executing a score impact algorithm, based at least on the second account type and the risk data of the user, to determine a possible risk score change if an account of the second account type is added to the risk data of the user, and providing, to the user, an indication of the possible risk score change prior to receiving the request to add the account with the recipient to risk data of the user at the secured third-party risk database.
In one embodiment, a computing system comprising a hardware computer processor is configured to perform processor-executable instructions comprising receiving, via network communication with a user computing device, selection of a third-party entity from a plurality of third-party entities indicated in a user interface displayed on the user computing device, and credentials for directly accessing, by proxy on behalf of the user via an application programming interface (API), a plurality of data items associated with the user stored in one or more databases associated with the selected third-party entity, transmitting at least an API token associated with the selected third-party and the credential to one or more databases associated with the selected third-party, accessing a plurality of data items associated with the user, via an API communication channel established with the one or more databases associated with the selected third-party entity, selecting a first data item of the plurality of data items, determining a recipient identified in the first data item, identifying a subset of data items each indicating the determined recipient, wherein the subset of data items includes at least the first data item and one or more other data items, determining, based at least on the identified subset of data items, account data associated with an account of the user associated with the recipient, the account data comprising at least one or more of: a number of data items each having time stamps within a predetermined time period, and average number of days between time stamps of sequential data items. In one embodiment, the operations further comprise applying a first account identification rule, associated with a first account type, to the account data; determining, based on said application of the first account identification rule, a first confidence level indicating likelihood that the account is the first type of account, in response to determining that the first confidence level is about a first threshold, applying a first account scoring model to the account data, the first account scoring model configured to determine an expected change to a current risk score associated with the user, receiving, from the user computing device, confirmation that the account of the user is the first type of account, receiving, from the user computing device, a request to add the account with the recipient to risk data associated with the user at a secured third-party risk database, generating, based on portions of the plurality of data items and the account data associated with the recipient, an account creation data package, the account creation data package formatted for ingestion at the secured third-party risk database to initiate addition of the account to risk data of the user, identifying a security key associated with the secured third-party risk database, transmitting the security key and the account creation data package to the third-party risk database via a secure communication channel established with the third-party risk database, requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, wherein the risk scoring algorithm is based at least partly on portions of the plurality of data items or the account data included in the risk data of the user, and providing risk score change information to the user computing device.
In one embodiment, the operations further comprise, prior to receiving credentials from the user computing device, transmit user interface data to the user computing device, the user interface data configured to depict a permissions interface element that is selectable to indicate authorization to access account information associated with the user, and receiving, from the user computing device, authorization to access account information associated with the user. In one embodiment, the operations further comprise transmitting user interface data to the user computing device, the user interface data configured to depict a user interface including one or more interactive elements selectable to indicate authorized uses of the data items associated with the user by the computing system, receiving, from the user computing device, selection of authorized uses of the data items, and selectively sharing, based on the authorized uses of the data items, the data items with one or more third parties.
In one embodiment, a non-transitory computer readable medium has processor-executable instructions stored thereon that are executable by a hardware computer processor to perform operations comprising receiving, via network communication with a user computing device, selection of a third-party entity from a plurality of third-party entities indicated in a user interface displayed on the user computing device, and credentials for directly accessing, by proxy on behalf of the user via an application programming interface (API), a plurality of data items associated with the user stored in one or more databases associated with the selected third-party entity, transmitting at least an API token associated with the selected third-party and the credential to one or more databases associated with the selected third-party, accessing a plurality of data items associated with the user, via an API communication channel established with the one or more databases associated with the selected third-party entity, selecting a first data item of the plurality of data items, determining a recipient identified in the first data item, identifying a subset of data items each indicating the determined recipient, wherein the subset of data items includes at least the first data item and one or more other data items, determining, based at least on the identified subset of data items, account data associated with an account of the user associated with the recipient, the account data comprising at least one or more of: a number of data items each having time stamps within a predetermined time period, and average number of days between time stamps of sequential data items. In one embodiment, the operations further comprise applying a first account identification rule, associated with a first account type, to the account data; determining, based on said application of the first account identification rule, a first confidence level indicating likelihood that the account is the first type of account, in response to determining that the first confidence level is about a first threshold, applying a first account scoring model to the account data, the first account scoring model configured to determine an expected change to a current risk score associated with the user, receiving, from the user computing device, confirmation that the account of the user is the first type of account, receiving, from the user computing device, a request to add the account with the recipient to risk data associated with the user at a secured third-party risk database, generating, based on portions of the plurality of data items and the account data associated with the recipient, an account creation data package, the account creation data package formatted for ingestion at the secured third-party risk database to initiate addition of the account to risk data of the user, identifying a security key associated with the secured third-party risk database, transmitting the security key and the account creation data package to the third-party risk database via a secure communication channel established with the third-party risk database, requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, wherein the risk scoring algorithm is based at least partly on portions of the plurality of data items or the account data included in the risk data of the user, and providing risk score change information to the user computing device.
In one embodiment, a non-transitory computer readable medium has processor-executable instructions stored thereon that are executable by a hardware computer processor to perform operations comprising transmitting user interface data to a user computing device, the user interface data configured to depict a permissions interface element that is selectable to indicate authorization to access account information associated with the user, receiving, from the user computing device, authorization to access account information associated with the user, in response to receiving the authorization to access account information associated with the user, receiving, from the user computing device, selection of a third-party entity from a plurality of third-party entities indicated in a user interface on the user computing device, receiving credentials for accessing account information associated with the user at the selected third-party entity, identifying an API token associated with the selected third-party entity, transmitting to an online address associated with a system in electronic communication with the selected third-party entity, the API token and the credentials, receiving, via the system, indicators of one or more accounts of the user with the selected third-party entity, receiving, from the user computing device, selection of an account of the one or more financial accounts, accessing, via a secure communication session initiated with the API token, a plurality of data items of the selected account of the user at the third-party entity, transmitting user interface data to the user computing device, the user interface data configured to depict a user interface on a display of the user computing device, the user interface including one or more interactive elements selectable to indicate authorized uses of the data items by the computing system, receiving, from the user computing device, selection of authorized uses of the data items, and selectively sharing, based on the authorized uses of the data items, the data items with one or more third parties.
In one embodiment, a computerized method performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system comprises transmitting user interface data to a user computing device, the user interface data configured to depict a permissions interface element that is selectable to indicate authorization to access account information associated with the user, receiving, from the user computing device, authorization to access account information associated with the user. The method may further include, in response to receiving the authorization to access account information associated with the user, receiving, from the user computing device, selection of a third-party entity from a plurality of third-party entities indicated in a user interface on the user computing device, receiving credentials for accessing account information associated with the user at the selected third-party entity, identifying an API token associated with the selected third-party entity, transmitting to an online address associated with a system in electronic communication with the selected third-party entity, the API token and the credentials, receiving, via the system, indicators of one or more accounts of the user with the selected third-party entity, receiving, from the user computing device, selection of an account of the one or more financial accounts, accessing, via a secure communication session initiated with the API token, a plurality of data items of the selected account of the user at the third-party entity, transmitting user interface data to the user computing device, the user interface data configured to depict a user interface on a display of the user computing device, the user interface including one or more interactive elements selectable to indicate authorized uses of the data items by the computing system, receiving, from the user computing device, selection of authorized uses of the data items. The method may further include selectively sharing, based on the authorized uses of the data items, the data items with one or more third parties.
In one embodiment, transaction data items associated with a post date more than one year prior to a current date are disregarded. In one embodiment, transaction data items associated with a post date more than two years prior to a current date are disregarded. In one embodiment, the computing system comprises the system in electronic communication with the selected third-party. In one embodiment, the system in electronic communication with the selected third-party entity is operated by a third-party. In one embodiment, the user interface includes an iframe provided by the system in electronic communication with the selected third-party, wherein the credentials are provided directly to the system electronic communication with the selected third-party. In one embodiment, the credentials are not stored by the computing system. In one embodiment, the credentials comprises a username and password. In one embodiment, the credentials comprise biometric data of the user. In one embodiment, the system in electronic communication with the selected third-party entity communicates with the third-party entity via a secured API communication channel initiated via use of a second API token associated with the third-party entity. In one embodiment, the system in electronic communication with the selected third-party entity stores the credentials for use in a later request for information associated with the user from the selected third-party entity.
In one embodiment, a computerized method performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system comprises receiving, from a user computing device, a request to update risk data of the user with account information regarding an account identified in account data items associated with the user stored by a third-party entity, generating an account creation data package formatted for ingestion at a secured third-party risk database to initiate addition of the account to risk data of the user. The account creation data package may include an identifier of recipient indicated in each of the account data items, a data furnisher identifier associated with an entity that provides consumer data to the secured third-party risk database, and at least a portion of the account information formatted for ingestion by the secured third-party risk database to initiate addition of the account to risk data of the user, identifying an API token associated with the secured third-party risk database. The method may include transmitting the API token and the account creation data package to the secured third-party risk database via an secure communication channel established with the third-party risk database, wherein the account information is usable to update a risk score of the user.
In one embodiment, the account information includes a plurality of historical transaction data items indicating a corresponding plurality of historical transactions between the recipient and the user. In one embodiment, the method further includes requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, including the plurality of historical transaction data items included in the risk data of the user. In one embodiment, the method further includes receiving, from the secured third-party risk database, a risk score of the user based on said execution of the risk scoring algorithm, and transmitting a notification to the user indicating the risk score. In one embodiment, the method further includes, in response to determining that the risk score is lower than a previous risk score of the user, initiating activation of a user interface on the user computing device that includes an option to remove the account information from the risk data of the user, in response to selection of the option to remove the account information from the risk data of the user, generating an account removal data package formatted for ingestion at the secured third-party risk database to initiate removal of the account from risk data of the user, the account removal data package including: the identifier of the recipient and the data furnisher identifier associated with the entity that provides consumer data to the secured third-party risk database, and transmitting the account removal data package to the secured third-party risk database via a secure communication channel.
In one embodiment, the method further includes receiving updated account information regarding the account associated with the user, the updated account information including a transaction data item not included in the plurality of historical transaction data items, generating an account update data package formatted for ingestion at the secured third-party risk database to initiate update of risk data of the user associated with the account, the account update data package including: an identifier of the recipient indicated in the transaction data item, the data furnisher identifier associated with the entity that provides consumer data to the secured third-party risk database, and at least a portion of the updated account information formatted for ingestion by the secured third-party risk database to initiate addition of the transaction data item to risk data of the user, and transmitting the API token associated with the secured third-party risk database and the account update data package to the secured third-party risk database. In one embodiment, the method further includes, requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, wherein the risk scoring algorithm is based at least partly on portions of the plurality of historical transaction data items and the transaction data item. In one embodiment, the method further includes receiving, from the secured third-party risk database, a risk score of the user based on said execution of the risk scoring algorithm, and in response to determining that a risk score of the user is different than prior to transmitting the account update data package to the secured third-party risk database, transmitting a notification to the user. In one embodiment, the notification comprises a push notification to the user computing device, the push notification configured to automatically activate an application on the user computing device to cause display of information associated with the notification. In one embodiment, the notification is transmitted to the user in real-time from receiving the updated account information.
In one embodiment, the computerized method further comprises receiving, via network communication with the user computing device, selection of a third-party entity from a plurality of third-party entities indicated in a user interface displayed on the user computing device, credentials for directly accessing, by proxy on behalf of the user via an application programming interface (API), the account items associated with the user stored in one or more databases associated with the third-party entity, transmitting at least an API token associated with the selected third-party and the credential to one or more databases associated with the selected third-party entity, accessing the account data items associated with the user, via an API communication channel established with the one or more databases associated with the selected third-party entity, selecting a first data item of the plurality of account data items, determining a recipient identified in the first data item, identifying a subset of account data items each indicating the determined recipient, wherein the subset of account data items includes at least the first data item and one or more other account data items, determining, based at least on the identified subset of account data items, account data associated with an account of the user associated with the recipient, the account data comprising at least one or more of: a number of account data items each having time stamps within a predetermined time period, and average number of days between time stamps of sequential account data items, applying a first account identification rule, associated with a first account type, to the account data, determine, based on said application of the first account identification rule, a first confidence level indicating likelihood that the account is the first type of account. In some embodiments, the method further includes, in response to determining that the first confidence level is above a first threshold, applying a first account scoring model to the account data, the first account scoring model configured to determine an expected change to a current risk score associated with the user, requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, wherein the risk scoring algorithm is based at least partly on portions of the plurality of account data items or the account data included in the risk data of the user, and providing risk score change information to the user computing device.
In one embodiment, a computing system comprising a hardware computer processor is configured to perform operations comprising receiving, from a user computing device, a request to update risk data of the user with account information regarding an account identified in account data items associated with the user stored by a third-party entity, generating an account creation data package formatted for ingestion at a secured third-party risk database to initiate addition of the account to risk data of the user, the account creation data package including: an identifier of recipient indicated in each of the account data items, a data furnisher identifier associated with an entity that provides consumer data to the secured third-party risk database, and at least a portion of the account information formatted for ingestion by the secured third-party risk database to initiate addition of the account to risk data of the user. In some embodiments, the operations further include identifying an API token associated with the secured third-party risk database and transmitting the API token and the account creation data package to the secured third-party risk database via a secure communication channel established with the third-party risk database, wherein the account information is usable to update a risk score of the user.
In one embodiment, the account information includes a plurality of historical transaction data items indicating a corresponding plurality of historical transactions between the recipient and the user. In one embodiment, the operations further comprise requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, including the plurality of historical transaction data items included in the risk data of the user. In one embodiment, the operations further comprise receiving, from the secured third-party risk database, a risk score of the user based on said execution of the risk scoring algorithm and transmitting a notification to the user indicating the risk score.
In one embodiment, a non-transitory computer readable medium having processor-executable instructions stored thereon that are executable by a hardware computer processor to perform operations comprising receiving, from a user computing device, a request to update risk data of the user with account information regarding an account identified in account data items associated with the user stored by a third-party entity, generating an account creation data package formatted for ingestion at a secured third-party risk database to initiate addition of the account to risk data of the user, the account creation data package including: an identifier of recipient indicated in each of the account data items, a data furnisher identifier associated with an entity that provides consumer data to the secured third-party risk database, and at least a portion of the account information formatted for ingestion by the secured third-party risk database to initiate addition of the account to risk data of the user. In one embodiment, the operations further comprise identifying an API token associated with the secured third-party risk database, and transmitting the API token and the account creation data package to the secured third-party risk database via a secure communication channel established with the third-party risk database, wherein the account information is usable to update a risk score of the user.
In one embodiment, a computerized method performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system comprises receiving authentication information from a user computing device, the authentication information including at least a name and address of a user, transmitting, to a secured third-party risk system, a request for execution of a risk scoring algorithm to determine a current risk score of the user based at least on risk data of the user at the secured third-party risk system, receiving, from the secured third-party risk system, the current risk score of the user, accessing an item database including information associated with a plurality of items and, for each item, an associated criteria for matching the item with users, querying the item database with at least the current risk score of the user, receiving, in response to said querying the item database, information indicating: a first one or more items matched to the user based on the current risk score, and a second one or more items not matched to the user based on the current risk score. In one embodiment, the method further comprises generating interactive user interface data configured to display an interactive user interface on the user computing device, the user interface depicting information regarding at least one of the first one or more items, determining an estimated risk score of the user based on potential addition of a new account of the user to risk data of the user, in response to determining that at least one of the second one or more items would be matched to the user based on the estimated risk score, providing an option to the user in the interactive user interface to initiate updates to risk data of the user, in response to receiving an indication of selection of the option in the interactive user interface on the user computing device, initiating communication between the user computing device and an account discovery system, wherein the account discovery system is configured to identify a new account of the user through analysis of data items associated with the user stored by one or more third-party databases, transmitting, to the secured third-party risk system, a second request for execution of the risk scoring algorithm to determine an updated risk score of the user based at least on risk data of the user, including information regarding the new account of the user, at the secured third-party risk system, receiving, from the secured third-party risk system, the updated risk score of the user, querying the item database with at least the updated risk score of the user, receiving, in response to said querying the item database, information indicating that at least one of the second one or more data items matched to the user based on the updated risk score and updating the interactive user interface data to depict information regarding the at least one of the second one or more items in the user interface on the user computing device.
In one embodiment, the updated risk score equals the estimated risk score. In one embodiment, the user interface further depicts a first access link to a first enrollment entity associated with a first of the one or more items. In one embodiment, the first access link is configured to redirect communication of the user computing device to an enrollment website. In one embodiment, the access links comprise hyperlinks. In one embodiment, said determining the estimated risk score comprises determining a first account type of a plurality of account types that impacts risk scores of users that is not included in risk data of the user, determining a score impact associated with the determined first account type, and calculating the estimated risk score based at least on the current risk score and the score impact. In one embodiment, said determining the score impact associated with the determined first account type comprises identifying a plurality of other users associated with addition of accounts of the first account type to respective risk data, and, based on account data of the plurality of other users, generating a score impact algorithm configured to determine, for respective users, score impacts in response to addition of accounts of the first account type. In one embodiment, the plurality of other users are identified as users having accounts of the first account type with account attributes within a predetermined threshold of account attributes of the new account of the user.
In one embodiment, the method further comprises generating a first access link associated with a first item, the first access link including an online address of a first enrollment entity and personally identifiable information of the user, wherein the personally identifiable information is usable by the first enrollment entity to auto-populate an enrollment user interface with the personally identifiable information of the user. In one embodiment, the items are products or services. In one embodiment, first criteria for matching a first item with users is based on a risk score of the user being greater than a predetermined risk score threshold. In one embodiment, the user interface further includes a filter control configured for interaction with the user of the user computing device to receive a filter criteria, wherein application of the filter criteria generates a filtered set of the first one or more items.
In one embodiment, the account discovery system is configured to perform operations comprising receiving, via network communication with a user computing device, selection of a third-party entity from a plurality of third-party entities indicated in a user interface displayed on the user computing device, credentials for directly accessing, by proxy on behalf of the user via an application programming interface (API), a plurality of data items associated with the user stored in one or more databases associated with the selected third-party entity, transmitting at least an API token associated with the selected third-party and the credential to one or more databases associated with the selected third-party entity, accessing a plurality of data items associated with the user, via an API communication channel established with the one or more databases associated with the selected third-party entity, selecting a first data item of the plurality of data items, determining a recipient identified in the first data item, identifying a subset of data items each indicating the determined recipient, wherein the subset of data items includes at least the first data item and one or more other data items, determining, based at least on the identified subset of data items, account data associated with an account of the user associated with the recipient, the account data comprising at least one or more of: a number of data items each having time stamps within a predetermined time period, and an average number of days between time stamps of sequential data items, applying a first account identification rule, associated with a first account type, to the account data, determine, based on said application of the first account identification rule, a first confidence level indicating likelihood that the account is the first type of account. In one embodiment, the method further includes, in response to determining that the first confidence level is above a first threshold, applying a first account scoring model to the account data, the first account scoring model configured to determine an expected change to a current risk score associated with the user, receiving, from the user computing device, confirmation that the account of the user is the first type of account, receiving, from the user computing device, a request to add the account with the recipient to risk data associated with the user at a secured third-party risk database, generating, based on portions of the plurality of data items and the account data associated with the recipient, an account creation data package, the account creation data package formatted for ingestion at the secured third-party risk database to initiate addition of the account to risk data of the user, identifying a security key associated with the secured third-party risk database, and transmitting the security key and the account creation data package to the third-party risk database via a secure communication channel established with the third-party risk database.
In one embodiment, a computing system comprises a hardware computer processor configured to perform operations comprising receiving authentication information from a user computing device, the authentication information including at least a name and address of a user, transmitting, to a secured third-party risk system, a request for execution of a risk scoring algorithm to determine a current risk score of the user based at least on risk data of the user at the secured third-party risk system, receiving, from the secured third-party risk system, the current risk score of the user, accessing an item database including information associated with a plurality of items and, for each item, an associated criteria for matching the item with users, querying the item database with at least the current risk score of the user, receiving, in response to said querying the item database, information indicating: a first one or more items matched to the user based on the current risk score; and a second one or more items not matched to the user based on the current risk score, generating interactive user interface data configured to display an interactive user interface on the user computing device, the user interface depicting information regarding at least one of the first one or more items, determining an estimated risk score of the user based on potential addition of a new account of the user to risk data of the user, in response to determining that at least one of the second one or more items would be matched to the user based on the estimated risk score, providing an option to the user in the interactive user interface to initiate updates to risk data of the user, in response to receiving an indication of selection of the option in the interactive user interface on the user computing device, initiating communication between the user computing device and an account discovery system, wherein the account discovery system is configured to identify a new account of the user through analysis of data items associated with the user stored by one or more third-party databases, transmitting, to the secured third-party risk system, a second request for execution of the risk scoring algorithm to determine an updated risk score of the user based at least on risk data of the user, including information regarding the new account of the user, at the secured third-party risk system, receiving, from the secured third-party risk system, the updated risk score of the user, querying the item database with at least the updated risk score of the user, receiving, in response to said querying the item database, information indicating that at least one of the second one or more data items matched to the user based on the updated risk score, and updating the interactive user interface data to depict information regarding the at least one of the second one or more items in the user interface on the user computing device.
In one embodiment, the operations further include generating a first access link associated with a first item, the first access link including an online address of a first enrollment entity and personally identifiable information of the user, wherein the personally identifiable information is usable by the first enrollment entity to auto-populate an enrollment user interface with the personally identifiable information of the user.
In one embodiment, a computerized method performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system performs the computerized method comprising determining identification information of a user, obtaining a current risk score associated with the user, determining a first one or more items available to the user based on the current risk score, determining a second one or more items not available to the user based on the current risk score, generating interactive user interface data configured to display an interactive user interface on a user device, the user interface depicting information regarding at least one of the first one or more items, including an access link to an enrollment entity associated with the at least one of the first one or more items, determining an estimated risk score of the user based on potential addition of a new account of the user to risk data of the user, in response to determining that at least one of the second one or more items would be available to the user based on the estimated risk score, providing an option to the user in the interactive user interface to initiate updates to risk data of the user, in response to receiving an indication of selection of the option in the interactive user interface on the user device, initiating communication between the user device and an account discovery system, wherein the account discovery system is configured to identify a new account of the user through analysis of data items associated with the user stored by one or more third-party databases and to trigger generation of an updated risk score, receiving an indication of an updated risk score of the user, wherein the updated risk score is higher than the current risk score based on addition of the new account to risk data of the user by the account discovery system, determining at least one of the second one or more items eligible to the user based on the updated risk score, and updating the interactive user interface data to depict information regarding the at least one of the second one or more items in the user interface on the user device.
In one embodiment, a non-transitory computer readable medium having processor-executable instructions stored thereon are executable by a hardware computer processor to perform operations comprising receiving authentication information from a user computing device, the authentication information including at least a name and address of a user, transmitting, to a secured third-party risk system, a request for execution of a risk scoring algorithm to determine a current risk score of the user based at least on risk data of the user at the secured third-party risk system, receiving, from the secured third-party risk system, the current risk score of the user, accessing an item database including information associated with a plurality of items and, for each item, an associated criteria for matching the item with users, querying the item database with at least the current risk score of the user, receiving, in response to said querying the item database, information indicating: a first one or more items matched to the user based on the current risk score, and a second one or more items not matched to the user based on the current risk score, generating interactive user interface data configured to display an interactive user interface on the user computing device, the user interface depicting information regarding at least one of the first one or more items, determining an estimated risk score of the user based on potential addition of a new account of the user to risk data of the user, in response to determining that at least one of the second one or more items would be matched to the user based on the estimated risk score, providing an option to the user in the interactive user interface to initiate updates to risk data of the user, in response to receiving an indication of selection of the option in the interactive user interface on the user computing device, initiating communication between the user computing device and an account discovery system, wherein the account discovery system is configured to identify a new account of the user through analysis of data items associated with the user stored by one or more third-party databases, transmitting, to the secured third-party risk system, a second request for execution of the risk scoring algorithm to determine an updated risk score of the user based at least on risk data of the user, including information regarding the new account of the user, at the secured third-party risk system, receiving, from the secured third-party risk system, the updated risk score of the user, querying the item database with at least the updated risk score of the user, receiving, in response to said querying the item database, information indicating that at least one of the second one or more data items matched to the user based on the updated risk score, and updating the interactive user interface data to depict information regarding the at least one of the second one or more items in the user interface on the user computing device.
In one embodiment, a computerized method performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system comprises accessing a score impact rule indicating one or more account types that impacts risk scores of users, identifying an API token associated with a secured third-party risk database, transmitting the API token and a request for risk data of a user to the third-party risk database. The method may include accessing, via an secure communication channel established with the third-party risk database, risk data of the user, identifying a plurality of groupings of data items (which may also be referred to as subsets of data items) included in the risk data of the user, each of the groupings including a plurality of data items associated with an entity, determining an account type of a plurality of account types for each of the groupings of data items, identifying a first account type of the one or more account types that impacts credit scores of users that is not included in the determined account types of the plurality of groups of data items associated with the user, execute a score impact algorithm, based at least on the first account type and the risk data of the user, to determine a possible risk score change if an account of the first account type is added to the risk data of the user. The method may include providing, to the user, an indication of the possible risk score change.
In one embodiment, the possible risk score changes indicates an estimated risk score. In one embodiment, the possible risk score changes indicates an estimated risk score increase or decrease. In one embodiment, the method further comprises providing, to the user, an option to initiate addition of an account of the first account type to risk data of the user. In one embodiment, a first plurality of data items associated with a second entity indicate transactions of the user in a second account of the second account type. In one embodiment, the score impact algorithm is developed based at least on historical risk score changes of a plurality of other users in response to addition of respective accounts of the first account type to respective risk data of the users. In one embodiment, the method further comprises executing a second score impact algorithm configured to estimate a second possible risk score associated with addition of a second account of a second account type to the risk data of the user, and providing, to the user, a second indication of the second possible risk score change.
In one embodiment, the computerized method of further comprises receiving, via network communication with a user computing device, selection of a third-party entity from a plurality of third-party entities indicated in a user interface displayed on the user computing device, credentials for directly accessing, by proxy on behalf of the user via an application programming interface (API), a plurality of data items associated with the user stored in one or more databases associated with the selected third-party entity, transmitting at least an API token associated with the selected third-party and the credential to one or more databases associated with the selected third-party entity, accessing a plurality of data items associated with the user, via an API communication channel established with the one or more databases associated with the selected third-party entity, wherein said identifying a plurality of groupings of data items further comprises: selecting a first data item of the plurality of data items, determining a recipient identified in the first data item, identifying a subset grouping of data items each indicating the determined recipient, wherein the subset grouping of data items includes at least the first data item and one or more other data items, determining, based at least on the identified subset grouping of data items, account data associated with an account of the user associated with the recipient, the account data comprising at least one or more of: a number of data items each having time stamps within a predetermined time period, and an average number of days between time stamps of sequential data items. In one embodiment, the method further includes applying a first account identification rule, associated with the first account type, to the account data, determine, based on said application of the first account identification rule, a first confidence level indicating likelihood that the account is the first type of account, in response to determining that the first confidence level is above a first threshold, applying a first account scoring model to the account data, the first account scoring model configured to determine an expected change to a current risk score associated with the user, receiving, from the user computing device, confirmation that the account of the user is the first type of account type, receiving, from the user computing device, a request to add the account with the recipient to risk data associated with of the user at a the secured third-party risk database, generating, based on portions of the plurality of data items and the account data associated with the recipient, an account creation data package, the account creation data package formatted for ingestion at the secured third-party risk database to initiate addition of the account to risk data of the user, identifying a security key associated with the secured third-party risk database, transmitting the security key and the account creation data package to the third-party risk database via a secure communication channel established with the third-party risk database, requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, wherein the risk scoring algorithm is based at least partly on portions of the plurality of data items or the account data included in the risk data of the user, and providing risk score change information to the user computing device.
In one embodiment, a computing system is configured to perform operations comprising accessing a score impact rule indicating one or more account types that impacts risk scores of users, identifying an API token associated with a secured third-party risk database, transmitting the API token and a request for risk data of a user to the third-party risk database, accessing, via a secure communication channel established with the third-party risk database, risk data of the user, identifying a plurality of groupings of data items included in the risk data of the user, each of the groupings including a plurality of data items associated with an entity, determining, for each of the groupings of data items, an account type of a plurality of account types, identifying a first account type of the plurality of account types that impacts risk scores when added to risk data of respective users and is not included in the determined account types associated with the user, executing a score impact algorithm, based at least on the first account type and the risk data of the user, to determine a possible risk score change if an account of the first account type is added to the risk data of the user, and providing, to the user, an indication of the possible risk score change.
In one embodiment, the possible risk score changes indicates an estimated risk score. In one embodiment, the possible risk score changes indicates an estimated risk score increase or decrease. In one embodiment, the operations further comprise providing, to the user, an option to initiate addition of an account of the first account type to risk data of the user. In one embodiment, a first plurality of data items associated with a second entity indicate transactions of the user in a second account of the second account type. In one embodiment, the score impact algorithm is developed based at least on historical risk score changes of a plurality of other users in response to addition of respective accounts of the first account type to respective risk data of the users. In one embodiment, the operations further comprise executing a second score impact algorithm configured to estimate a second possible risk score associated with addition of a second account of a second account type to the risk data of the user, and providing, to the user, a second indication of the second possible risk score change.
In one embodiment, a non-transitory computer readable medium having processor-executable instructions stored thereon that are executable by a hardware computer processor to perform operations comprising accessing a score impact rule indicating one or more account types that impacts risk scores of users, identifying an API token associated with a secured third-party risk database, transmitting the API token and a request for risk data of a user to the third-party risk database, accessing, via a secure communication channel established with the third-party risk database, risk data of the user, identifying a plurality of groupings of data items included in the risk data of the user, each of the groupings including a plurality of data items associated with an entity, determining, for each of the groupings of data items, an account type of a plurality of account types, identifying a first account type of the plurality of account types that impacts risk scores when added to risk data of respective users and is not included in the determined account types associated with the user, executing a score impact algorithm, based at least on the first account type and the risk data of the user, to determine a possible risk score change if an account of the first account type is added to the risk data of the user, and providing, to the user, an indication of the possible risk score change.
Although several embodiments, examples and illustrations are disclosed below, the systems and methods described herein extends beyond the specifically disclosed embodiments, examples and illustrations and includes other uses of the embodiments and modifications and equivalents thereof. Embodiments are described with reference to the accompanying figures, wherein like numerals refer to like elements throughout. The terminology used in the description presented herein is not intended to be interpreted in any limited or restrictive manner simply because it is being used in conjunction with a detailed description of certain specific embodiments. In addition, various embodiments can comprise several novel features and no single feature is solely responsible for its desirable attributes or is essential to practicing the embodiments herein described.
In this example, aggregation unit 20 accesses the multiple data items 10, and identifies groupings (also referred to as “subsets”) of data items each associated with a common entity. For example, multiple data items of a user stored in a third-party database may be included in a grouping. A categorization unit 30 may then apply rules to the groupings of data items to identify groupings that match one or more patterns indicative of groupings of data items that should be added to the item database 70.
Authentication unit 40 allows a user of a user device 50 to provide authentication credentials that uniquely identify the user as associated with a set of data items in a particular data item database, such as a database operated by a particular third-party entity. In some embodiments, the authentication unit 40 also receives authentication credentials via the aggregation unit 20, for example. Thus, authentication of the user may occur at various levels. In some embodiments, the user is the owner of data items associated with the user and can control, set, change, and/or issue electronic permissions for use of varying sets, silos, individual data items, or even particular pieces of data within a data item, via the authentication unit 40.
The authentication unit 40 may then provide a set of authenticated data items 60 to item database 70, such as multiple data items 10 that were aggregated to a particular grouping of data items associated with the user, and matching a rule for addition to the items database 70. The user may then authenticate the grouping of data items, via input from the user device 50, to authenticate the grouping of data items for addition to the item database 70.
The item database 70, after receipt of authenticated data items 60, may determine that information of the corresponding database record, such as a record associated with the user, is to be updated. For example, the authenticated data items 60 may include a grouping of data items each associated with a particular entity (different than the entity from which the data items were accessed) that the user authenticated as begin associated with an account that the user would like to add to the item database 70, such as in a new database record associated with the user. Communication of the authenticated data items 60 to the item database 70 may occur via a secure communication channel established via an application programming interface (API).
In some embodiments, the item database 70 includes records associated with unique identifiers (for example, a key value and/or index value) for users. The system may determine that the received authenticated grouping of data items are associated with a particular database record because the authenticated data items include information that associates them with the particular database record. For example, the authenticated data items may include the unique user identifier, and/or the authenticated data items may include another identifier that may be used to map to the unique user identifier by reference to additional information. The system may then determine that the authenticated data items include additional information regarding the user that is not already in the database record for the user, and may therefore update the database record with the new information.
In some instances, the system may determine that the corresponding database record is not to be updated. For example, the authenticated data items may include one or more groupings of data items that are already included in the database record of the user. Accordingly, no update may be necessary, or in some instances the database record or associated database items may be updated to indicate that a duplicate of the authenticated data items was received.
The system may generate a log of each database record update performed by the system. In some implementations, the log includes one or more (which may include all) data items included in the corresponding database record, including any newly added grouping of data items. Further, the log may include an indication of the change or update that was performed in the item database 70.
Database record updates/changes may be continuously logged as the item database 70 is updated. Logging updates to the item database 70 may speeds up later evaluation of triggers. For example, as described below, triggers may be evaluated against the log of record changes, and may not need to be evaluated against the records database 70 as a whole. This aspect may significantly reduce processing power needed to generate event notifications. Further, because much information related to the updated record may be included in the log, the system may not need to re-query the database to generate notifications, further making the process of generating notification more efficient and less processor intensive. In some implementations, logs of database record updates may be stored in a historical database.
The triggers database 80 maintains rules indicating when alerts should be transmitted to entities responsive to changes in the item database 70. For example, the triggers database may maintain rules or criteria for transmitting a notification 90 to a user (such as via the user device 50) in response to certain changes in the database record of the user in the item database 70. For example, the user may establish such criteria based on various levels of granularity, so that the user is alerted of only those changes to their database record at the item database 70 of particular interest to the user. For example, a user may indicate that an alert should be sent to the user device 50 in response to addition of a new account data (associated with a grouping of data items) to the user's record in the item database 70. Thus, the trigger database 80 may monitor continuously or periodically, changes to the item database 70, apply trigger rules for each of a plurality of users, and transmit notifications accordingly.
The notification 90 may be in various forms, which may be selected by the user, by the system, and/or set as a system default. For example, notification 90 may be a push notification to a mobile application on the user device 50, which may cause an immediate display of the notification information on the user device screen, text message, email, and/or update to an online portal that the user may access to review additional information regarding the users database record with the item database.
In the example of
Aggregation unit 20 may aggregate account data from financial institutions, such as the data items 10. As an example, aggregation unit 20 may download transaction data items 10 associated with users from financial institutions, such that the users can review the transaction data from one or more financial institutions in one place. Aggregation unit 20 may also provide transaction data to the categorization unit 30, which is similar to the account discovery systems discussed below, such as after receiving authorization from users to provide such transaction data to the categorization unit.
Financial institutions may include, as examples, institutions maintaining demand deposit accounts (for example, checking and savings accounts) or other accounts (for example, credit card accounts, revolving card accounts, prepaid cash card accounts, reloadable card accounts, and so forth) on behalf of users, including accepting deposits into users' accounts and processing payments (including check and electronic payments) out of users' accounts to third parties such as utility or rent providers. Financial institutions may provide transaction data to account discovery system showing users' payments to utility and rent providers (for example, at the direction or authorization of said users).
Vendors or service providers may include various service providers such as landlords (for example, rental service providers), telecoms (for example, providers of telephone, internet, wireless accounts, cable, media such as television, movies, games, music, and other related services), and utilities (for example, providers of electricity, gas, water, trash, and related services). In general, service providers may include any entity which is regularly paid by users, such that those payments can be used as an indicator of credit risk associated with the user, and as discussed herein, added as a trade line in a users' credit data. For example, service provider accounts may include accounts for payment of child care, school tuition, gym memberships, after school programs, daycare service, medical care, home owners association dues, country club dues, insurance (such as, for example, automobile insurance, life insurance, medical insurance, dental insurance, vision insurance, disability insurance, and so forth), sports team dues, as well as other service provider account payments. While much of the disclosure references rental and utility providers, accounts with other service providers may also be added to users' credit data and used in credit scoring algorithms.
TermsTo facilitate an understanding of the systems and methods discussed herein, a number of terms are described below. The terms described below, as well as other terms used herein, should be construed to include the provided descriptions, the ordinary and customary meaning of the terms, and/or any other implied meaning for the respective terms. Thus, the descriptions below do not limit the meaning of these terms, but only provide example descriptions.
The terms user, individual, consumer, and customer generally refer to single persons, as well as groups of users, such as, for example, married couples, households, or domestic partners, organizations, groups, and business entities. Additionally, the terms may be used interchangeably. In some embodiments, the terms refer to a computing device of a user rather than, or in addition to, an actual human operator of the computing device.
User Input (also referred to as Input) generally refers to any type of input provided by a user that is intended to be received and/or stored by one or more computing devices, to cause an update to data that is displayed, and/or to cause an update to the way that data is displayed. Non-limiting examples of such user input include keyboard inputs, mouse inputs, digital pen inputs, voice inputs, finger touch inputs (for example, via touch sensitive display), gesture inputs (for example, hand movements, finger movements, arm movements, movements of any other appendage, and/or body movements), and/or the like.
Credit data generally refers to user data that is collected and maintained by one or more credit bureaus (for example, Experian, TransUnion, and Equifax) and is subject to regulatory requirements that limit, for example, sharing of credit data to requesting entities based on the Fair Credit Reporting Act (FCRA) regulations in the United States and/or other similar federal regulations. Regulated data, as used herein, often refers to credit data as an example of such regulated data. However, regulated data may include other types of data, such as HIPPA regulated medical data. Credit data can describe each user data item associated with a user, for example, an account balance, or any combination of the user's data items. Credit file and credit report generally refer to a collection of credit data associated with a user, such as may be provided to the user, to a requesting entity that the user has authorized to access the user's credit data, or to a requesting entity that has a permissible purpose (for example, under the FCRA) to access the users credit data without the user's authorization.
Credit Event (also referred to as an event) generally refers to information associated with an event that is reported by a financial institution to one or more credit bureaus and/or the credit data system discussed herein. The credit events may include, for example, information associated with a payment, purchase, bill payment due date, bank transaction, credit inquiries, and/or any other event that may be reported to a credit bureau. Typically one credit event is associated with one single user. For example, a credit event may be a specific transaction, such as details regarding purchase of a particular product (for example, Target, $12.53, grocery, and so forth) or a credit event may be information associated with a credit line (for example, Citi credit card, $458 balance, $29 minimum payment, $1000 credit limit, and so forth, such as a periodic (for example, monthly) provision of summary information regarding the credit line of the consumer that is provided by the credit issuer.
Non-traditional Credit Data generally refers to data that is not generally included in FCRA regulated credit data of consumers, such as consumer data stored by one or more bureaus. Types of nontraditional credit data may change over time, such as if the FCRA revises regulations to allow or require credit bureaus to store additional types of consumer data as credit data. Depending on the jurisdiction, nontraditional credit data types may include rental, utility, and/or telecom data, for example.
Self-Reported Account generally refers to a consumer account with a vendor or service provider, such as a utility, telecom, or rental company, that is added to credit data of the consumer at the request of the user. The account discovery system discussed herein provides an example of a computing system that may interact with a user to identify and update credit data of the user to include accounts that are Self-Reported Accounts. In general, self-reported accounts are associated with non-traditional credit data, such as utility, rental, and/or telecom payment data.
DDA Account generally refers to a checking, savings, or money market account of a user, but could be any other type of account. DDA accounts typically allow the user to deposit to and withdraw from the account substantially immediately, such as on demand, for example, through use of a credit card, debit card, paper check, online check, electronic transfer, and so forth.
While DDA accounts are discussed herein as sources for transaction data from which transactions of a user may be accessed, in some implementations additional types of accounts, such as credit card, PayPal, Venmo, and/or other currently existing or later developed payment platforms, may be used in identifying new consumer trade lines. Thus, any reference herein to a DDA account, or any specific type of DDA account, should be interpreted to include other embodiments where other types of accounts, such as credit card accounts, are accessed in place of (or in addition to) the referenced DDA account.
Financial institution generally refers to a bank or lender with which a user may have a DDA account, such as a bank with which a user may have a checking or savings account.
Trade line generally refers to credit data associated with a financial account of a user. For example, a checking account at a particular financial institution may be a first trade line of a user, while a savings account at the same, or another, financial institution may be a second trade line of a user. Trade lines may be summarized in credit data of users, such as by providing information regarding the financial institution, account balance, last account payment amount, payment status over prior months, and so forth.
Transaction and transaction data item generally refer to a particular payment from one entity to another entity. For example, a transaction may include Bob purchasing coffee on Friday morning. A transaction data item associated with that transaction may include data about the transaction, such as that it occurred on Aug. 10, 2018 and $7.18 was paid to Coffee123 from Bob's checking account 123 at Bank XYZ. Transaction data items may indicate transactions using various user accounts, such as checking account, savings account, or credit card account. While discussions herein of transaction data items is primarily with reference to transaction identified in DDA account data of a user, transaction data items may also include transaction in a credit card account, or other credit-based account, of the user. Thus, the groupings and analysis of transaction data items that is discussed herein is not limited to only DDA account data, but also may include credit card transaction (and other payment account) data. As another example, cash, cashier check, money order, wire transfers, and other similar forms of payment may be included in transaction data items that are analyzed by the account discovery system. Such forms of payment may require additional validation procedures, such as a photograph of a receipt from the payee.
Application Programming Interface (API) generally refers to a defined communication channel, protocol, settings, and so forth that allows two devices to exchange information between one another in a more direct manner than might otherwise be possible. In some embodiments, an API registration module may be configured to register individual devices (for example, computing devices, Internet of things devices, sensors, and so forth) for communication with a particular computing device (for example, a central server that receives, processes, stores, provides, information to the individual devices) by issuing a security token (for example, such as an API token or an API key) to the individual devices that authorizes such direct communications. Thus, a computing system may establish secure and direct communication channels with multiple devices via APIs.
Example EmbodimentsThe credit score is an important indicator of a user's financial health. A user's credit score may impact availability and/or terms (for example, interest rate) of such things as loan applications, rental applications, and real estate mortgages, as well as impacting the user's ability to find employment. Therefore, users have a substantial interest in monitoring and improving their credit scores.
Making timely payments and having those payments reported to national credit bureaus may improve a user's credit score. However, the types of financial accounts for which data is reported to the credit reporting agencies (CRAs), otherwise referred to as credit bureaus, is limited. For example, certain types of consumer accounts that could be used as indicators of risk associated with a lender extending credit to the consumer have not been historically included in credit data that is reported to the credit bureaus. In particular, telecommunications, utilities, real estate rentals, and other types of accounts associated with recurring statements, are not included in most credit score algorithms used by the credit bureaus. Thus, consumers that have good payment history with a home rental are not able to use that payment history in improving its the consumer's credit score. Accordingly, it may be desirable for a user to add telecommunications, utility, rental, and/or other recurring accounts (for example, records of payments to utility and rental providers) to users' credit data in order to improve the users' credit scores and related risk scores. Various systems and methods discussed herein provide a networking device architecture, as well as software usable on the various computing devices, to address this need for additional types of payment information being reportable to the credit bureaus. Other examples of recurring accounts that may be identified and added as trade lines to credit data of users may include accounts for payment of child care, school tuition, gym memberships, after school programs, daycare service, medical care, home owners association dues, country club dues, insurance (such as, for example, automobile insurance, life insurance, medical insurance, dental insurance, vision insurance, disability insurance, and so forth), sports team dues, as well as any other service provider account payments.
Some users, particularly those with poor credit scores or limited credit data, may benefit from adding non-traditional credit data to their credit reports. As an example, a user with limited credit data may see a significant boost in their credit score by adding, to their credit data, a utility account, showing recurring on-time payments to a utility provider, and a rental account, showing recurring on-time rent payments to a landlord. The present disclosure describes systems and methods that provide a technology platform for identifying and adding non-traditional credit data, such as rent and utility trade lines, to users' credit reports. Such accounts may then be referred to as self-reported accounts of the consumer. Additionally, the present disclosure describes issues that arise when attempting to add rent and utility accounts, such as issues with obtaining transaction data and assessing the reliability of transaction and account data.
In the embodiment of
In one embodiment, the data permissioning component 112 provides a communication channel with the transaction providers 100, such as via application programming interfaces (API's) of the particular transaction providers. Thus, the data permissioning component 112 advantageously allows the account discovery system 110 to access transaction data items of the user. With access to the transaction data items of the user, the account discovery system 110 may analyze the transaction data items to potentially identify one or more recurring payment accounts that are not already included in the consumer's credit data. As an example, the data permissioning component 112 may store users' usernames and passwords or security tokens in order to download transaction data from the financial institutions. As another example, the data permissioning component 112 may store records, certificates, or other material enabling the user account discovery system to download transaction data directly from financial institutions or via account aggregation services.
In the embodiment of
In one embodiment, the account verification component 116 performs account verification, such as by interacting with the user and/or one or more third-party system 130 to verify that the appropriate account type has been associated with the set of transaction data items and/or that the account is truly associated with the particular user.
In one embodiment, the trade line update component 117 provides information to one or more credit bureaus requesting addition of an identified and verified user account (for example, a “self-reported account” of the user) to credit data of the user. For example, the trade line update component 117 may format and compile information regarding a new account to be added to credit data of the user in different formats for each of multiple different credit bureaus and generate a secure data packet storing such information to be transmitted to a remote system. Additionally, the trade line update component 117 may coordinate periodic updates to trade line data stored at the credit bureau 140, such as monthly updates to a rental account that was added to the credit data of the user previously by the trade line update component 117.
In one embodiment, the updated credit score usage component 118 provides updated credit information regarding the user (for example, an updated credit score of the user that considers a newly added rental account) to credit requesters. For example, a new account (or trade line in the credit data of the user) may be considered by various credit scoring algorithms in calculating risk scores of the user. Thus, if a new rental account of the consumer is added to the consumer's credit data, and the consumer has a history of on time rental payments, the consumer's credit score may increase immediately, or very soon, after addition of the new rental account information at the one or more credit bureaus. In some embodiments, the updated credit score usage component 118 provides alerts, such as in real time as credit data of a user is changed.
In some embodiments, the account discovery system 110 includes a user interface module (not shown) that interfaces with users. As an example, the user interface module may generate user-facing user interfaces, such as the user interfaces shown in the figures discussed below. Additionally, the user interface module may receive inputs and commands from the users, such as via interface with the user interfaces. As examples, the user interface module may receive a user's agreement with terms and conditions, may receive a user's identification of which financial institution to connect to, may receive credentials for connecting to an identified financial institution, may receive confirmations of and/or revisions to transaction data, may receive additional verification information such as copies of a lease agreement, and so forth.
In this way, the account access system 202 maintains a layer of security between the account discovery system and the consumers financial data held by the financial institution (or other transaction provider 100). In other embodiments, the various components 112, 114, 116, 117, and 118 may be combined or separated, various computing systems and/or entities. For example, in one embodiment each of the components 112, 114, 116, 117, and 118 are operated by different entities.
In one embodiment, the systems and methods discussed herein provide an authenticated access and aggregation database platform. For example, in one embodiment a data processing system is disclosed for data processing, including database and file management, as well accessing one or more databases or other data structures, authenticating users, and categorizing data items for addition to the database system. In some embodiments, the system may be configured to coordinate access to user account information via user-provided authentication credentials; apply account identification rules to the accessed account information to identify a plurality of accounts of the user; and initiate updates to a database record associated with the user indicative of any accounts identified.
In one embodiment, a computerized method of obtaining information regarding user accounts is performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform operations comprising receiving, from a user computing device, a request to access financial account information associated with a user, selection of a financial institution indicator from a plurality of financial institution indicators indicated in a user interface on the user computing device. The method may further include receiving, from an account access system, account data associated with a financial account of the user with a payee, the account data indicating an account type and an associated payee, wherein the financial account is a rental account, a utility account, or a telecommunication account. The method may further include receiving, from the user computing device, confirmation that identified account type for the payee is accurate, a request to add the financial account with the payee to credit data of the user. The method may further include generating, based on portions of the plurality of transaction data items and the account data associated with the payee, a trade line creation data package, the trade line creation data package formatted for ingestion by a credit bureau to initiate addition of the trade line to credit data of the user, transmitting the trade line creation data package to the credit bureau, requesting a credit score of the user from the credit bureau, wherein a credit scoring algorithm executed by the credit bureau to generate the credit score is based at least partly on portions of the plurality of transaction data items or the account data included in the credit data of the user. The method may further include providing credit score change information to the user computing device.
In one embodiment, the method may further include receiving, from the user computing device credentials for accessing financial account information associated with the user at the selected financial institution, the credentials including a username and a password, selection of a financial account of the user at the financial institution via the user interface on the user computing device, the user interface displaying one or more of a checking account, a savings account, or a credit card account of the user at the financial institution. The method may further include accessing a plurality of transaction data items of the selected financial account of the user at the financial institution. The method may further include selecting a first transaction data item of the plurality of transaction data items, determining a payee identified in the first transaction data item, identifying a subset of transaction data items each indicating the determined payee, wherein the subset of transaction data items includes at least the first transaction data item and one or more other transactions data items. The method may further include, for individual payees, determining, based at least on the identified subset of transaction data items, account data associated with a financial account of the user with the payee, the account data comprising at least one or more of a number of payments, an annual payment amount, average payment amount, or average number of days between payments. The method may further include applying a first account identification rule, associated with a first account type, to the account data, the first account identification rule based on one or more of the number of payments, the annual payment amount, the average payment amount, or the average number of days between payments, determine, based on said application of the first account identification rule, a first confidence level indicating likelihood that the financial account is the first type of account. The method may further include applying a second account identification rule, associated with a second account type, to the account data, the second account identification rule based on one or more of the number of payments, the annual payment amount, the average payment amount, or the average number of days between payments, determine, based on said application of the second account identification rule, a second confidence level indicating likelihood that the financial account is the second type of account. The method may further include, if the first confidence level is higher than the second confidence level, identifying the financial account as of the first type of account, if the first confidence level is lower than the second confidence level, identifying the financial account as of the second type of account.
In one embodiment, the systems and methods discussed herein provide user permissions for access to secure data at third-party. For example, in one embodiment a user permission system manages and regulates access to secure data at one or more third-party data sites. The system may provide access to one or more databases or other data structures based on user authentication and access rules that have been established, such as by a user associated with the data being accessed at the third party data store. Access may be provided via an API to the third-party data site, along with access credentials of a user with data stored with the third-party data site, allowing the system to access data on behalf of the user.
In one embodiment, a computerized method of obtaining information regarding user accounts is performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform operations comprising transmitting user interface data to a user computing device, the user interface data configured to depict a permissions interface element that is selectable to indicate authorization to access financial account information associated with the user, receiving, from the user computing device, authorization to access financial account information associated with the user. The method may further include, in response to receiving the authorization to access financial account information associated with the user, receiving, from the user computing device, selection of a financial institution from a plurality of financial institutions indicated in a user interface on the user computing device, receiving credentials for accessing financial account information associated with the user at the selected financial institution, identifying an API key associated with the selected financial institution, transmitting, to an online address of a system in electronic communication with the selected financial institution, the API token and the credentials, receiving, via the system, indicators of one or more financial accounts of the user with the selected financial institution, receiving, from the user computing device, selection of a financial account of the one or more financial accounts, accessing, via a secure communication session initiated with the API token, a plurality of transaction data items of the selected financial account of the user at the financial institution. The method may further include transmitting user interface data to the user computing device, the user interface data configured to depict a user interface on a display of the user computing device, the user interface including one or more interactive elements selectable to indicate authorized uses of the transaction data items by the computing system, receiving, from the user computing device, selection of authorized uses of the transaction data items, selectively sharing, based on the authorized uses of the transaction data items, the transaction data items with one or more third parties.
In some embodiments, the authorized uses of the transaction data items include one or more of use in: identifying recurring payments, updating credit data of the user, calculating derived attributes, or calculating a risk score. In some embodiments, transaction data items associated with a post date more than one year prior to a current date are disregarded. In some embodiments, transaction data items associated with a post date more than two years prior to a current date are disregarded. In some embodiments, the access component is operated by the computing system. In some embodiments, the access component is operated by a third-party.
In one embodiment, a computerized method performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprises accessing a plurality of data items associated with a user via an application programming interface (API) communication channel established with a third-party database, selecting a first data item of the plurality of data items, determining a recipient identifier in the first data item, accessing a recipient data structure storing indications of associations between recipient identifiers and corresponding recipients, wherein a first recipient is associated with a plurality of recipient identifiers used by different third-party databases to identify the first recipient, determining that the recipient identifier is associated with the first recipient in the recipient data structure, scanning the plurality of data items to identify a subset of the data items each associated with the recipient identifier, wherein the subset of data items includes at least the first data item and one or more other data items, determining, based at least on the identified subset of data items, account data associated with an account of the user with the first recipient, the account data comprising at least one or more of a number of data items each having time stamps within a predetermined time period; or an average number of days between time stamps of sequential data items, applying a first account identification rule, associated with a first account type, to the account data, determining, based on said application of the first account identification rule, a first confidence level indicating likelihood that the account is the first type of account. The method may further include, in response to determining that the first confidence level exceeds a threshold confidence level, initiating addition of the account to the secured third-party risk database.
In one embodiment, a computerized method of identifying accounts of a user each associated with a plurality of transaction data items is performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprising accessing a plurality of transaction data items indicative of transactions of a user with one or more financial institution, selecting a first transaction data item of the plurality of transaction data items, determining a payee identifier in the first transaction data item, accessing a payee data structure storing indications of associations between payee identifiers and corresponding payees, wherein a first payee is associated with a plurality of payee identifiers used by different financial institutions to identify the first payee, determining that the payee identifier is associated with the first payee in the payee data structure, scanning the plurality of transaction data items to identify a subset of the transaction data items each associated with the payee identifier, wherein the subset of transaction data items includes at least the first transaction data item and one or more other transactions data items, determining, based at least on the identified subset of transaction data items, account data associated with a financial account of the user with the payee, the account data comprising at least one or more of: a number of payments, an annual payment amount, an average payment amount, or an average number of days between payments, applying a first account identification rule, associated with a first account type, to one or more of the number of payments, the annual payment amount, the average payment amount, or the average number of days between payments of the account data, determining, based on said application of the first account identification rule, a first confidence level indicating likelihood that the financial account is the first type of account, in response to the first confidence level exceeding a threshold confidence level, determining an expected risk score impact of including the account data a risk data set associated with the user, in response to the expected risk score exceeding a threshold, initiating addition of the account data to the risk data set associated with the user.
The method may further include selecting, based on the account data, the first account type from a plurality of account types including at least a rental account type, a utility account type, and a telecommunication account type. The method may further include selecting, based on the account data, the first account type from a plurality of account types that each require recurring payments from account holders. The method may further include applying a second account identification rule, associated with a second account type, to the account data, the second account identification rule based on one or more of the number of payments, the annual payment amount, the average payment amount, or the average number of days between payments, and determining, based on said application of the second account identification rule, a second confidence level indicating likelihood that the financial account is the second type of account. In one embodiment, the plurality of transaction data items are indicative of transactions of the user with a first financial institution and a second financial institution, a second transaction data item from the second financial institution includes a second payee indicator that is different from the first payee indicator, and the first payee indicator and the second payee indicator are each associated the first payee in the payee data structure.
In one embodiment, the systems and methods discussed herein provide generation of data structures based on categories of matched data. For example, in one embodiment a data processing system communicates with a secure third-party database to provide updated user data that is then usable by a plurality of other entities. In some embodiments, the system may be configured to coordinate access to user account information via user-provided authentication credentials, apply account identification rules to the accessed account information to identify a plurality of accounts of the user, and initiate updates to a database record of the user at the secure third-party database associated indicative of any accounts identified.
In one embodiment, a computerized method of updating user risk data, the computerized method performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprises receiving, from a user computing device, a request to update credit data of the user with account information regarding an account identified in direct deposit account data of a financial payment account of the user, generating a trade line creation data package including an identifier of an issuer of the account identified in the direct deposit account data, a data furnisher identifier associated with an entity that provides consumer data to a credit bureau; and at least a portion of the account information formatted for ingestion by a credit bureau to initiate addition of the account to credit data of the user. The method may include identifying an API key associated with the credit bureau, and transmitting the API key and the trade line creation data package to the credit bureau, wherein the account information is usable by the credit bureau to update a risk score of the user.
The method may further include periodically receiving payment information associated with the account from the direct deposit account data of the financial payment account; and transmitting the periodically received payment information to the credit bureau.
The method may further include executing a credit scoring algorithm to generate the credit score of the user based at least on the account information stored by the credit bureau.
In one embodiment, the systems and methods discussed herein provide a database platform for realtime updating of user data from third party sources. For example, in one embodiment a data processing system communicates with a secure third-party database to obtain information about a user that is usable to determine one or more items associated with the user. The system then coordinates gathering and identification of additional data relevant to the user from other third-party data sources, to potentially update the user's information stored with the secure third-party database. The updated information may then be accessed at the secure third-party database to determine items associated with the user, which may include additional items in view of the additional data.
In one embodiment, a computerized method, performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprises determining identification information of a user, obtaining a current risk score associated with the user, determining a first one or more product offers available to the user based on the current risk score, determining a second one or more product offers not available to the user based on the current risk score, determining an estimated risk score of the user based on hypothetical addition a new trade line of the user to risk data of the user, in response to determining that at least one of the second one or more product offers would be available to the user based on the estimated risk score, providing an option to the user to initiate updates to risk data of user, in response to the user selecting the option to initiate updates to risk data, initiating communication of the user with an account discovery system, receiving, from the account discovery system, an indication of an updated risk score of the user, wherein the updated risk score is higher than the current risk score based on addition of the new trade line to risk data of the user by the account discovery system, determining at least one of the second one or more product offers that are now available to the user based on the updated risk score, and providing the at least one of the second one or more product offers to the user. The method may include providing credit score change information to the user computing device.
In one embodiment, the systems and methods discussed herein are usable in estimating changes to user risk indicators based on modeling of similarly categorized users. For example, in one embodiment a data processing system communicates with a secure third-party database to obtain information about a plurality of users and generates a model usable to identify other users with similar characteristics. A scoring algorithm may be selected for use on user data based on the associated users identified with the model. The scoring algorithm determines an estimated score change for the user, and may provide the user information regarding how the user can achieve the estimated score change.
In one embodiment, a computerized method, performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprises accessing a score impact rule indicating one or more account types that impacts credit scores of users, accessing credit data of a user, identifying a plurality of accounts included in the credit data, determining account types of the plurality of accounts in the credit data, identifying a first account type of the one or more account types that impacts credit scores of users that is not included in the determined account types of the plurality of accounts of the user, execute a score impact algorithm, based at least on the first account type and credit data of the user, to determine a possible credit score change if an account of the first account type is added to the credit data of the user. The method may include providing, to the user, an indication of the possible credit score change.
The method may include identifying a plurality of other users associated with addition of accounts of the first account type, analyzing account data of the plurality of other users, based on the aggregated account data, generating the score impact algorithm configured to determine, for respective users, possible credit score changes based on addition of accounts of the first account type.
In some embodiments, other users are identified as users having accounts of the first account type with account attributes within predetermined threshold of the account attributes of the account of the user.
In some embodiments, the predetermined threshold is of payment history, payment amount, or account subtype of the accounts.
Example System and ProcessThe illustration of
Beginning with block 402, the user engages an account discovery system, such as a system that may be controlled and/or operated by a credit bureau. Account discovery systems may include credit bureaus, such as Experian, TransUnion, and Equifax, as well as agents of credit bureaus, such as entities that provide credit data to users that is accessed from one or more credit bureaus, but is made available to the user via a third-party user interface (for example, via a website or mobile application). In some embodiments, the user provides login credentials, or establishes a credit monitoring account with a credit bureau, in order to access credit information via the account discovery system 110.
In some embodiments, the user accepts terms and conditions 404 agreeing to the account discovery system's rights and responsibilities, authorizing performance of the functional modules of
In the embodiment of
At block 410, the user may be provided with a user interface that lists, or allows the user to search for, a financial institution (or other transaction provider 100) with which the user has a DDA account. In other embodiments, the user may indicate a financial institution in other manners. Next, in block 412, the user provides credentials that allow the account discovery system 110 (
Moving to block 414, the user selects a particular DDA account held at the financial institution, such as from a list of DDA accounts that is retrieved directly from the financial institution by the data permissioning component 112 (whether performed by account discovery system 102 or another system/entity). For example, the user may be provided with an option to select one or both of a XYZ bank checking account or a XYZ savings account after providing credentials for XYZ bank in block 412. In some embodiments, the user may be allowed to connect a credit card account also, so that transaction data items include payments made through the credit card account. While
Depending on the embodiment, user authentication may be performed using various methods and based on various information. For example, authentication information may comprise a user-selected personal identifier, a username/password combination, biometric data (for example, faces, fingerprints or eye scans), and/or other information that can be used to authenticate a user. Similarly, various authentication protocols may be implemented to authenticate the user and/or any entities that are requesting information regarding the user's credit information, such as the service providers discussed herein. For example, a requesting user may send an electronic request to a token gateway environment (of the account discovery system 110 or account access system 202) with credentials, and then the token gateway environment may validate the credentials with a security and access management environment using a standard open protocol such as OAuth (for example, OAuth 2.0, which is generally an authorization framework that enables applications to obtain limited access to user accounts).
Account IdentificationIn the example of
As another example of an account identification process that may be performed by the account identification module, transaction data items in Bob's checking account with XYZ bank may indicate that Bob has paid a regular amount to Al's Landlord Service on the last day of each month over the last two years. Thus, the account identification module may identify these regular transactions as being part of a rental account that may qualify for inclusion as a trade line in Bob's credit data (at one or more credit bureaus). Other types of accounts that may be identified include utility accounts (electrical, gas, water, and so forth), mobile phone accounts, and other accounts that are associated with payments indicative of credit worthiness of the account holder.
In some embodiments, the transaction processing of block 420 may be performed by the account discovery system 110, while in other embodiments a third-party that accesses and/or aggregates financial account information, such as account access system 202 (for example, as illustrated in
In some embodiments, the account identification component 114 applies or executes one or more models that are configured to categorize transactions across multiple months or years of transactional data of the user. For example, in some embodiments, the account identification component 114 may search transaction data items of a user for transactions that occur with a certain periodicity, within a certain monetary range of one another, with certain keywords or characters in the payee's name (or other information, such as a memo or “for:” information field provided by the user), and/or any other attributes that may be associated with transaction data for the user. Data item groupings may then be created to indicate sets of data items that are believed to be associated with a particular account of the user. In some embodiments, each data item groupings is associated with a different payee.
In some embodiments the account identification component 114 may calculate a confidence level or score indicating likelihoods that the particular transaction data item should be included in a grouping of data items. Thus, for a particular transaction data item (for example, $4.58 purchase at Starbucks #417325 on Mar. 21, 2018 at 6:38 AM), multiple confidence levels may be calculated to indicate strength of correlation with multiple transaction groupings. In this implementation, the transaction data items may be associated with a transaction grouping for with a highest confidence level for the transaction data item was calculated. In some embodiments, a transaction data item confidence level may additionally need to exceed a threshold confidence level for the transaction data item to be associated with a grouping.
The account identification component 114 may associate an account type with each identified account (for example, each grouping of data items for particular payees) in the user's transactional data. For example, a first identified account (for example, associated with 24 separate monthly payments identified in Bob's checking account data) may be indicated as a rental type account. Account types may include a general account type (for example, telecom, utility) and/or a specific account type, or may have additional levels of categorization. For example, telecom account types may be further categorized as mobile phone, phone, internet, cable, or satellite accounts, while utilities account types may be further categorized as gas, electric, water, power, solar, or trash account.
In some embodiments, characteristics of transaction data items that are analyzed to help identify potential accounts of a given user may include payee identifier (or normalized payee identifier), description or memo associated with the transactions, transaction amount, transaction periodicity, and/or other related transaction characteristics. For example, in one embodiment information regarding the payee on each transaction (for example, in the transaction data item for the transaction) is normalized for matching with other transactions, such as from the same payee. For example, extraneous characters in the payee information, such as characters that are associated with a payment account or number of the transactions (for example, an electronic check number), may be removed or disregarded. Additionally, payee information may be standardized, such as by identifying a standardized identifier for a particular payee that may be associated with various adaptations of payee information for that particular payee. For example, a standardized identifier for a payee (for example, “Southern California Edison”) may be associated with multiple variations of payee information that could be used by different financial institutions in identifying transactions with that payee (for example, “SCE”, “So Calif Edison”, and so forth). Thus, through standardizing payee information of transaction data items, matching of transaction, even from multiple DDA accounts of the user, may be associated as payments to a particular account.
In some embodiments, additional data of a transaction data item may be normalized, standardized, or otherwise cleansed for use in matching the corresponding transaction with other related transactions (for example, other transactions to the same payee). For example, the description or memo associated with transactions may be analyzed and used in matching. For example, memo information that is handwritten on a paper check may be recognized using optical character recognition to determine the memo. A handwritten “rent” in the memo of rental payment checks each month may be used by the account identification component 114 to match the monthly rental payment checks as each being related to a rental payment of the user. Further, text input into a memo field may be parsed to be used in the matching. Additionally, in some embodiments the transaction amount of transactions is used in matching to other related transactions. For example, transactions of an identical amount (for example, to transactions for exactly $29.99) may have a higher likelihood of each being grouped together as associated with a common payee and user account than transactions of different amounts. In some embodiments, a range or percentage variation in payment amounts may be determined as within a tolerance zone such that transaction data items that vary within the tolerance zone (for example, payment amounts within 5% of the average payment amount for the grouping) are not disqualified from being in the grouping associated with a particular payee. For example, an electrical account may vary from month to month depending on usage by the user that month. Thus, a transaction amount rule may indicate that transaction amounts within a range of 20% of an average transaction amount for a group of transactions does not disqualify the transaction as being associated with the electrical account of the user. In some embodiments, third-party data may be access to determine and/or adjust tolerance zones for grouping transaction data items with one another. For example, for an electrical account, whether information may be accessed for the month corresponding to a particular transaction data item to determine an expected change in electrical power usage based on weather conditions that might cause additional (or less) power use.
In some embodiments, the account identification component 464 identifies a transaction periodicity for transactions that are preliminarily identified as being associated with a common payee. For example, the account identification component 464 may calculate an average time between payments to Electric Company as 31 days, with the shortest time between payments as 26 days and the longest time between payments as 34 days. Other statistical values associated with timing of the transaction data items, such as median, mean, standard deviation, and so forth, may also be calculated in certain embodiments. This transaction periodicity may then be used as a factor in determining whether the transactions should be grouped as being associated with a common payee and, thus, with a particular account of the user.
In some embodiments, the account identification component 114 determines one or more confidence levels or scores for each identified grouping of transaction data items. For example, a confidence score may indicate a likelihood that the identified grouping of transaction data items is associated with an account of the indicated type. For example, the confidence level may be based on factors such as periodicity of transactions, amount of transactions, payee information, and so forth that may indicate likelihood that each of the associated transactions are properly correlated with a particular payee and account of the indicated type. Thus, a lower confidence score may indicate that the identified transactions are only somewhat likely to be associated with a particular account type or trade line of the user, while higher confidence scores would indicate that the identified transactions are more likely associated with a particular trade line of the user.
Depending on the implementation, the account identification component 114 may determine an overall confidence level or score (for example, a single common score that indicates the overall likelihood that a grouping of transaction data items are associated with a particular type of account and/or with a particular payee) and/or may determine transaction-level confidence scores (for example, a score for each individual transaction, or for groups of transactions, each of which indicates the likelihood that that particular transaction, or group of transactions, is associated with a particular grouping of transaction data items and/or with a particular payee). In some embodiments, the confidence levels or scores may further consider a minimum frequency and/or recency requirement for addition of a self-report account as a tradeline in the user's credit data. For example, some or all types of self-reported accounts may be required to have at least three payments within six months to even be considered for addition as a trade line. Thus, for an account with three payments within seven months, even if there is a high confidence level in the account type being appropriate for addition as a trade line (for example, the transaction data items are associated with a wireless account), the account will not be transmitted to the credit bureau for addition as a tradeline. In some embodiments, the frequency and recency requirements for addition of trade lines may vary based on account type.
In some embodiments, the account identification component (and/or the account verification component) validate ownership of a DDA account by the user to ensure that the appropriate user is provided the potential credit score boost from payments included in the DDA account. For example, an account ownership validation component may receive information regarding an account, such as name, address, email address, phone number, etc, from the financial institution. This account ownership information may then be compared to user information associated with the user's account with the account identification system, such as a credit monitoring account. The account ownership information could be provided by the account access system, such as via an API communication to the account discovery system, so that the account discovery system may perform the account ownership validation matching and validation. Such account ownership validation may increase the likelihood that a user only gets credit for the accounts that they pay (and belong to them).
Account VerificationThe account verification module generally processes the account information provided by the account identification component 464, attempts to verify the account information as being accurate, and/or determines if additional information may be needed to confirm accuracy of the account information. For example, an account of a user should not be added to the user's credit data unless the account accurately indicates payment activity of the user and, correspondingly, can be used as a factor in determining creditworthiness of the user. In the discussion below, an “account” is generally associated with a single payee (for example, a particular electric company, cellular provider, and so forth) as well as a grouping of transaction data items that have each been determined to be associated with the single payee by the account identification component 464. The accounts identified by the account identification component 464 may not include an account number provided by the payee since the account was identified based on transaction data items of the user that may not include the account number. As discussed below, in some embodiments additional information regarding an account, which may include an account number that is verifiable with the payee, for example, may be automatically collected and/or provided to the account discovery system.
At block 430, a list of accounts for possible inclusion in credit data of the user is provided to the account verification module (whether provided by the same or different entity as the account identification component 464). For example, the list of accounts may include, for each account, an account type, transactions associated with the account (for example, the transaction data items that were each categorized as associated with the account), a confidence score or scores, and/or other related information.
At block 432, the user confirms accuracy of each of the identified accounts, or indicates that one or more of the accounts is not accurately reflected (for example, transactions indicated as associated with a cell phone account may not actually be associated with a cell phone account). In some embodiments, a user interface indicating the identified accounts, or potentially just those identified accounts having confidence scores below a threshold or minimum confidence score for positive identification of the account type, may be provided to the user. The user may then select, or deselect, identified accounts to indicate those that are accurate. In some embodiments, transaction data associated with an indicated account may be displayed for review by the user. Additionally, the user may indicate that an identified account is legitimate, but that one or more of the particular associated transactions are not associated with the identified account. For example, an identified utility account may be associated with 14 transaction data items (for example, payments) over the prior 12 month period, and the user may indicate that two of the indicated transactions are not associated with that particular utility account. In such embodiments, the account verification module (and/or other modules discussed herein) may update the transaction data items associated with the identified account, which may in turn update the confidence level that the account is of the determine type (for example, a utility type).
In some embodiments, the user can indicate missing transaction data items to be added to an account. For example, if a cellular service provider account is missing three monthly payments over a 12 month period, the user may indicate that the payments were made during those three months with information regarding the payments. For example, the user may indicate that the payments were made from another DDA account with another financial institution and provide credentials allowing the account discovery system to access transaction data items of the user at that other financial institution. The transaction data items may then be identified in the other DDA account data and combined with the grouping for the cellular service provider.
Moving to block 434, for those accounts that the user has verified (for example, indicated are actual accounts of the user of the identified type at block 432), a determination is made as to whether additional information may be needed from the user and/or a third-party before providing the account to one or more credit bureaus for addition as a trade line to the user's credit. Thus, in some embodiments one or more criteria or rules may be applied to the identified account information to determine whether the account is sufficiently accurate and reliable for inclusion in the user's credit data. For example, a rule may indicate that for any identified rental accounts, additional account verification information is required before providing the new rental account to a credit bureau. As another example, a rule may indicate that a minimum number of transactions and/or minimum number of payments must be associated with an account for the account to qualify for addition to the user's credit data. In some embodiments, such a rule may vary based on the identified account type (and/or subtype), such that for a first account type (for example, rental) a minimum of eight payments are required, while for a second account type (for example, electricity), a minimum of 12 payments are required.
If additional information is needed (for example, the result of block 434 is a determination that additional information is needed), the process moves to block 436, where additional information is requested from the user and/or a third-party. For example, a user may be asked to provide additional information, such as a typical monthly payment amount and/or payment date for a particular identified account. This additional information may then be provided back to the account identification module (and block 420 repeated) to better categorize transactions that may be associated with the account. For example, with the typical payment amount and payment date provided by the user, the account identification module may identify additional payments that were not initially identified (and, similarly, may exclude certain payments that were initially identified). Thus, the additional information may increase likelihood of the identified accounts being eligible for addition to the user's credit data. In some embodiments, the user may provide information regarding an account that was not identified in the initial account identification block 420, so that the account identification module may potentially identify a new account only after the user provides additional information.
In some embodiments, a third-party is contacted for further information to verify a (potential) account of the user. For example, a mobile phone account may be verified with a request to the mobile carrier identified in the transaction data for the account. Such verification may be performed via an API call to the mobile carrier, which may return simply a binary (for example, yes or no) verification indication, or detailed transaction information regarding the account (such as payment history, payment timing, bill due dates, and so forth).
In some embodiments, the user and/or a third-party may provide documentation confirming authenticity of the identified account. For example, for an identified (potential) rental account of a user, the user may be asked to upload a scanned or photographed copy of a lease agreement that may be analyzed to confirm the rental account. In this example, the lease agreement may be automatically parsed (for example, after optical character recognition) and information, such as monthly payment amount, payment due date, landlord, and so forth, may be extracted and compared to account information included with that particular account (such as the grouping of transaction data items associated with the payee from the account identification module 464).
In some embodiments, other information and/or data sources may be accessed to verify accuracy of financial accounts. In some embodiments, one or more of the processes of scanning the user's DDA account (block 420), transmitting identified accounts (block 430), providing the user an opportunity to confirm accuracy (block 432), determining if additional information is needed (block 434) and requesting such additional information (block 436), may be repeated multiple times to enhance the accuracy of the identified account information and/or confidence level in categorization of transaction data. Additionally, in some embodiments the data permissioning process (beginning at block 410) may be performed as part of the account verification process to access additional transaction data items of the user from additional DDA accounts.
Trade Line UpdatingIn the embodiment of
If the user indicates a desire not to add the account to the user's credit data at block 440, the process may end, or may return to a prior block, such as block 410 where the user is asked to connect to one or more additional financial institutions, to block 430 where a list of accounts already identified is provided to the user, or to another block.
At block 442, the account discovery system updates profile information of the user to indicate the added trade line. In some embodiments, the account discovery system may generate or estimate the user's credit score based on account information (for example, trade line information) maintained by the account discovery system (or by a credit bureau or other entity that controls the account discovery system), such as without requesting credit data from a credit bureau. Additionally, the user profile information may be provided to the user in various formats and levels of detail, such as in user interfaces that are displayed to the user via a mobile application, web browser, text messages, and so forth, and which allow the user to interact with the provided information.
If the user requests the addition of the account to credit data of the user (at block 440), at block 444 the account discovery system generates a new trade line request for transmission to a credit bureau (or multiple credit bureaus in some embodiments). For example, the account information may be formatted in the same manner as account information provided by a typical credit data furnisher, such as a credit card lender that regularly provides account information to credit bureaus for addition (or updating) of trade lines associated with its credit card holders. In some embodiments, the format is the Metro 2 format. In other embodiments, other formatting may be used to prepare account information for transmission to the credit bureau. In some embodiments, the format of the trade line request is customized for the particular credit bureau. For example, a first format may be used for transmission to the first credit bureau while a second format is used for transmission to a second credit bureau. In some embodiments, communication with credit bureaus may be accomplished via API calls.
At block 446, the credit bureau receives the formatted trade line information (generated at block 444) and processes the information to add the trade line to the user's credit data. In some embodiments, the credit bureau applies the same requirements for adding new trade line information to a user's credit file as would be applied to other trade line information (for example, from other data furnishers). Thus, if the trade line information is not usable to uniquely identify a user in the credit bureau's data, the trade line information may not be added to the requesting user's credit data or, depending on the circumstances, may be added with reference to a newly added credit record for the user indicated in the trade line information.
In some instances where trade line information is transmitted to the credit bureau, a trade line for the payee may already exist in the user's credit data. Thus, the transmitted trade line information may be used to supplement the account information (for example, to include additional transactions that are not already reflected in the user's credit file).
Updated Credit Score UsageIn the embodiment of
At block 450, one or more scoring models may be applied to the user's credit data (including the newly added trade line) to generate updated credit scores for the user. For example, a scoring algorithm that includes utility account data as an input variable may be evaluated after addition of a utility trade line to the user's credit data to produce an updated (for example, higher) credit score for the user.
Various entities may apply scoring algorithms and/or otherwise access credit data of users. For example, in some embodiments the credit bureau may apply a credit scoring algorithm periodically to each users' credit data, such as nightly, so a credit score that is no more than 24 hours old is always quickly available to requesters. In some embodiments, the credit bureau may apply a credit scoring algorithm in response to requests for credit data of a particular user, such as in real-time in response to receiving an inquiry for credit data of a user. In some embodiments, the credit bureau may apply a scoring algorithm provided by another user risk assessment entity, such as by providing credit data of the user to a scoring server configured to analyze the credit data using a proprietary credit scoring algorithm and output to the credit bureau the resultant credit score for the user. Thus, in some embodiments, the account discovery system 110 may not know how particular credit data of users' impacts credit scores generated using the proprietary credit scoring algorithm. In other embodiments, other entities, such as financial institutions, marketing companies, and so forth, may generate risk scores based on credit data, and possibly other data, of the user.
At block 452, the updated credit score of the user may be used in identifying offers to provide to the user. For example, the account discovery system 110 may receive an indication of the user's new credit score (after addition of a new rental, utility, or telecom trade line, for example) and determine whether the user is prequalified for one or more financial products, such as credit cards, personal loans, refinance loans, car loans, and so forth Such financial products may not have been available to the user or may only have been available on less desirable terms (such as a higher interest rate) prior to addition of the new rental, utility, or telecom trade line to the user's credit data (for example, Alice's credit score may have increased from 600 to 625 after adding a rental trade line indicating she has regularly paid her rent over a two-year period, and Bank XYZ Bronze Credit Card may only be offered to users with a credit score above 620). Depending on the embodiment, the updated credit score (and/or additional user credit data) may be compared to offer criteria by the account discovery system 102 and/or another entity, such as directly by a financial institution.
At block 454, the user receives a notification of a change in credit data, such as an indication that the user's credit score has changed. The notification of block 454 may be one example of notification 90 sent to user device 50 of
In some embodiments, the account discovery system 102 requests an updated credit score of the user after providing the new trade line information to the credit bureau. Account discovery system 102 may request the updated credit score immediately after providing the new trade line information or after some amount of elapsed time (for example, one second, five seconds, and so forth after transmitting the trade line data to the credit bureau). Thus, in this embodiment the account discovery system 102 may receive the newly calculated credit score of the user within seconds of addition of the trade line to the user's credit file. After the new calculated credit score is received, the account discovery system 102 may optionally display to the user a change in the user's credit score (for example, a plus or minus amount) attributable to the newly added account.
In some embodiment, after the user has been shown an updated credit score, an option to remove a trade line from the user's credit file is provided via the user interface. For example, if the user adds a new utility account to the user's credit data, such as via the method discussed above, a newly calculated credit score may be displayed to the user via the account discovery system website, mobile application, text message, and so forth If the newly calculated score is lower than a previous score of the user, for example, the new utility account trade line actually decreased the user's credit score, the user interface may provide an option for the user to remove the new trade line credit data. For example, a button, check-box, link, or other user interface feature associated with removal of an account from credit data may be selected by the user to initiate a removal process. In response to a request for removal of a trade line, the account discovery system 102 may transmit a properly formatted request to one or more credit bureaus requesting removal of the trade line.
In various embodiments discussed herein, alerts and/or notifications (which may be used interchangeably) are automatically transmitted to a device operated by the user whose credit data has been updated and/or requested (for example, such as notification 90 sent to user device 50 of
In some embodiments, an estimate of impact on the user's credit score may be provided to the user, such as an expected credit score increase (or decrease) even before the user provides permission to the account discovery system to identify new trade line's (for example, at block 402). For example, an expected credit score impact may be calculated for users based on an expected impact of adding an account type (for example, an electrical account) that is currently missing from the user's credit data, and perhaps that is typically included in credit data, to the user's credit data. The account discovery system and/or an affiliated system may provide the expected credit score increase associated with the addition of an electrical account to the user as an incentive for the user to engage the account discovery system.
Depending on the embodiment, this expected (or “simulated”) credit score may be generated using the same scoring model or algorithm as is used to provide the user with their actual credit score (for example, that would appear in the user's credit report). In some embodiments, the expected credit score, or credit score change (for example, a plus or minus amount), may be determined based on a different model or algorithm, such as a scoring algorithm that is developed by the account discovery system 102 based on previous changes in credit scores of other users due to addition of particular types of accounts and/or accounts with particular ranges of attributes (for example, payment history, payment amount, account subtype, and so forth).
In one implementation, a score impact rule indicating one or more account types that impact risk scores of users are accessed. Next, an API key associated with the financial institution is identified and transmitted to the financial institution with a request for transaction data of the user. Via secure communication channel established with the financial institution, transaction data items of the user are obtained. Next, a plurality of groupings of the accessed data items are identified, such as groupings of data items associated with an entity. An account type for each of the groupings of data items may be determined, and then a first account type that impacts credit scores of users that is not included in the determined account types of the user may be identified. This account type represents a type of account that could be added to the credit data of the user to potentially impact credit score of the user. A score impact algorithm may be executed to determine a possible risk score change if an account of the first account type is added to the risk data of the user. The score impact algorithm may be based on the first account type and the existing credit data of the user.
Thus, in some embodiments a scoring model may be developed and improved over time, such as by a machine learning algorithm that analyzes credit information of users before and after addition of new trade lines for patterns in how credit scores are affected by such additions of trade lines. In some embodiments, such a scoring model may also consider user demographics and credit history in developing an algorithm for predicting credit score impact by the addition of new trade lines. For example, a user with a thin credit file (for example, less than two trade lines) may benefit greatly by addition of a cellular service account, while a user with a thick credit file (for example, three or more trade lines) may not see a credit score impact by addition of the same cellular service account. In some embodiments, an estimated credit score is not provided to the user prior to adding the account to the user's credit data (for example, a newly generated credit score may only be provided after the new account is added as a trade line at block 440).
Example MethodsBeginning at block 510, an account discovery system may be accessed by a user. For example, the user may visit a website of a credit monitoring service, such as may be provided by a credit bureau. The user may contact the account discovery system in response to an advertisement or other communication offering to help the user increase the user's credit score and/or qualify for a financial account. The user may then provide the account discovery system authorization to access DDA transaction data of the user at one or more identified financial institutions. As an example, the account discovery system may receive a user's authorization together with the user's username and password for a particular financial institution, such that the user account discovery system can prove to the financial institution it is authorized to retrieve the user's transaction data. In some embodiments, other forms of authentication of the user are requested for decreasing likelihood that a fraudster is attempting to access the user's financial account data. Further details of receiving the user's authorization to access DDA transaction data are discussed below.
Moving to block 520, the account discovery system accesses DDA transactions at the identified financial institution(s). Block 520 may involve downloading records of some or all of the DDA transactions made available to the user by the identified financial institution(s). In some embodiments, the access to DDA transactions is via an API communication channel that is established between the account discovery system and the financial institution. In other embodiments, the DDA transactions are accessed via a front end interface, such as the same or similar user interface that may be displayed to the user.
Continuing to block 530, the account discovery system categorizes the DDA transactions. For example, the user account discovery system identifies, from a plurality of transaction data items accessed at the indicated financial institution, a group of transactions associated with a particular payee. As an example, the system may identify monthly recurring transactions made to the same payee as being categorized together and associated with a single account (for example, an electric, water, or wireless account). Additionally, the system may identify a second set of transaction data items made to another payee and, based on account identification rules, determines that the second set of transaction data items are associated with a rental account of the user.
At block 540, the account discovery system receives a user's confirmation of the identified accounts. For example, the user account discovery system may identify, in block 530, a particular set of transaction data items as being associated with a particular utility account, may identify that the utility account is believed to be of a certain type (such as an electricity bill from a given utility), and may identify various attributes of the account such as the average payment, the maximum payment, the minimum payment, and so forth. Then, in block 540, the user account discovery system may provide at least some of this identified information to the user and receive the user's verification that the information is correct. The user may verify that individual transactions are properly categorized, that the identified account is correctly identified, and so forth.
At block 550, the user account discovery system may assess the reliability of the identified account and may, optionally, obtain additional information to verify that the account is of the type indicated. For example, the user may be asked to take a driver license photo, use an app to scan in a document (for example, associated with the account), provide electronic authorization to request automatic sending of electronic verification from a third-party (such as the account issuer), and so forth. Further details of account verification processes are discussed below.
At block 560, the account discovery system initiates addition of the account(s) as trade line(s) in the user's credit data. For example, the system may generate a data package formatted for ingestion by a particular credit bureau to allow the credit bureau to add the account as a new trade line of the user.
At block 570, the account discovery system recalculates the credit score of the user, based on the newly updated credit data (for example, including any newly added trade lines).
At block 580, the user account discovery system provides the updated credit score to the user and/or to third-parties. The updated credit score can be used by such third parties in determining whether to offer credit, and at what terms to offer said credit, to the user. By including additional trade lines such as rent and utility accounts, the updated credit score may more accurately reflect the credit worthiness of the user. In some embodiments, the updated credit score may be provided to, and usable, by the user and/or authorized third parties substantially immediately after the account is added as a new trade line to credit data of the user. For example, the credit score of the user may be recalculated in substantially real-time in response to addition of a new trade line to credit data of the user, and the recalculated credit score may similarly be provided to the user and/or authorized third parties substantially real-time in response to calculation of the updated credit score.
Example System, Method, and User Interfaces for Accessing DDA Data of UsersThe data permissioning component 112 may further communicate with the user device 120 to obtain credentials that allow the data permissioning component 112 to access transaction data items of the user at a transaction provider. These user credentials may include a login ID and password for a particular transaction provider, or any other credentials that the user may have been issued that allow the user and/or the account access system 202 to access transaction data items in the user's secure account with the transaction provider. The data permissioning component 112, with a valid API token issued from a transaction provider and access credentials from the user device 124 that transaction provider, may initiate communication with the particular transaction provider and access transaction data items of the user with that transaction provider.
In the embodiment of
Beginning at block 710, a user provides authorization to the data permissioning component 112 to access DDA account information of the user at one or more transaction providers. For example, a consumer may authorize a credit bureau to initiate communication with a financial institution at which the consumer has a checking account for purposes of analyzing transactions in that checking account. For example, user interface 810 illustrates an example user interface that may be presented to a consumer on a mobile device, such as a cell phone or tablet. A similar user interface may be provided on a desktop computing device of a user or any other consumer electronic device. Any references herein to a mobile device or mobile user interface are provided for illustration purposes and should not be construed to limit implementations of the systems and methods herein to only those specifically mentioned mobile device or mobile user interfaces. Conversely, any mobile device or mobile user interface could also be implemented with a desktop, laptop, or other computing device and associated user interfaces.
Returning to
In one example implementation, the account discovery system may create a user record in an API from the account access system 202 (or more particularly, with the data permissioning component 112). The account discovery system 110 A may then generate a redirect URL and iFrame URL that are delivered to the user device (for example, user interface 910). The user within interacts with the iFrame URL, such as to provide login credentials and two factor authentication information, directly with the data permissioning component 112. After the user is authenticated with the financial institution, the account identification component 114 and/or other components of the account discovery system 110 A may access financial account information of the user has the financial institution via an API connection established by the data permissioning component 112. In one embodiment, after authorization to access a particular user's financial account information at a particular financial institution has been established, the data permissioning component 112 (and/or other related components) may request financial account information (for example, transaction data items) of the using a user-specific token, such as may be issued by the data permissioning component 112 and/or an API token generator/manager of the financial institution. Thus, the account identification component 114, for example, may immediately and/or periodically in the future, access transaction data items of the user at the financial institution using an API call that includes the user specific token. In some embodiments, an entity token may also be required, such as a token issued to the data permissioning component 112 that authorizes the account access system 202 to access user data at the financial institution (for example, with a user specific token).
Next, at block 730, with the user authenticated at the financial institution (via the data permissioning component 112), the account identification component 114 and/or other components of the account discovery system 110A, may access the users financial account information. In the example of
At block 745, a security token, such as an API token or key, is associated with the user account at the financial institution, so that the account identification component 114 and/or account access system 202 can use the security token to securely access transaction data items of the user at the financial institution. In one embodiment, a security token is an encrypted way of storing a username and password. It ensures that when the account discovery system is connecting to the financial institution of the user to get account information, it is safe and secure. For example, the security token may be provided to an API interface of the financial institution to authorize access to financial account data of the user at the financial institution. The security token may have a limited life (for example, two hours, two days, two weeks, and so forth) and may be associated with additional restrictions on use of the security token.
Moving to block 750, the account identification component 114 may use the established communication channel with the financial institution to access transaction data items of the user. For example, the account access system 202 may provide the user specific token (for example, as discussed above with reference to block 745) to the financial institution to obtain access to transaction data items in the one or more DDA accounts of the user associated with the user specific token (which the user previously authorized the account access system 202 to access).
At block 780, transaction data items of the user are accessed via a secure communication session with the financial institution. In some embodiments, transaction data items are copied to the account access system 202 for further analysis. In some embodiments, a subset of transaction data items, such as those within a predetermined time or meeting other filter criteria, are provided to the account access system 202.
At block 790, the transaction data items are accessible to the account identification component 114, for example, to analyze for indications of financial accounts (for example, utility, rental, telecom, and so forth) that may not already be in the credit data of the user, and which could be added to credit data of the user to potentially increase the credit score of the user.
Example System, Method, and User Interfaces for Categorizing Data ItemsIn some embodiments, the method of
Beginning at block 1110, a payee included in the transaction data items is selected. A user transaction data items, even with a single financial institution, may include dozens, hundreds, thousands or more transaction data items. Thus, categorization or grouping of the transaction data items may be initiated in various manners. For purposes of illustration, at block 1110, a particular transaction data items included in the set of access transaction data items is selected for analysis. In some embodiments, multiple transaction data items may be concurrently selected and analyzed, such as via a process similar to that illustrated in
For the selected transaction data items, at block 1120 a payee identified in the transaction data item is determined. For some transaction data items, the payee is included in a separate payee field as digital information, for example, a payee may be indicated as “ABC Rentals” in a “PAYEE” field of a transaction data item. For some transaction data items, the payee may not be as easily identifiable. For example, a paper check may include a handwritten payee. The account identification component 114 may analyze the handwritten payee information, such as by using a handwriting analysis algorithm and/or other optical character recognition algorithm, to identify digital characters included in the payee field. For the example payee ABC Rentals, character recognition of a handwritten version of ABC Rentals may result in something that is not precise such as “ABC Reatils”. Thus, correlation of transaction data items by payee may be technically challenging in such circumstances. In some embodiments, categorization of transaction data items associated with a recurring account of the user may be based on other parameters of the transaction data items, rather than or in addition to the payee identifier.
In some embodiments, the account identification component 114 performs a normalization and/or standardization process on data values of the transaction data items. For example, standardization may include removal of certain special characters (for example, symbols), correction of typographical errors (for example, which could catch the typo “Reatils” and correct to “Rentals”) and/or perform other standardization processes. A normalization process may involve accessing a payee data structure associating a normalized payee identifier with one or multiple possible payee identifiers that could be located in transaction data items. Example, the payee data structure could include a standard payee identifier of “ABC Rentals” that is associated with multiple variations of that payee identifier, such as “ABC Rental”, “ABC-Rentals”, “ABC Rentals Inc.”, and so forth. In this way, the account identification component 114 can more accurately associate transaction data items that are each involve a common payee.
In some embodiments, other data values of transaction data items are normalized, standardized, and used in generating groupings of similar transaction data items. For example, information provided in a memorandum or other informational field of a transaction data item may be analyzed.
After performance of block 1120 on a selected payee (block 1110), a grouping of transaction data items, each associated with the selected payee, are identified. Thus, if the transaction data items are associated with monthly payments to the selected payee, and two years of transaction data items are processed, the grouping of transaction data items identified at block 1120 may include 24 transaction data items.
Moving to blocks 1130-1150, information summarizing, characterizing, or aggregating information in the grouping of transaction data items located at block 1120, is performed. The information derived in blocks 1130-1150 is provided as examples of information that may be determined to help evaluate whether the grouping of transaction data items indicate an account of the user that potentially could be added to the credit data of the user. In other embodiments, other information may be derived from the grouping of transaction data items.
At block 1130, an annual payment amount for the transaction data items is calculated. For example, transaction amounts for each transaction data item dated within a prior 12 month period may be summed to determine the annual payment amount. A similar process may be performed for a prior yearly period, such as transaction data items dated from 24 months prior to 12 months prior. Similarly, total payment amounts for other time periods may be developed, such as quarterly or semiannually.
At block 1140, an average payment amount is determined. For example, an average payment amount over the prior one year period may be determined by averaging payments received over the last 12 month period.
At block 1150, periodicity of payments is determined. For example, an average number of days between payments over the prior one year period may be determined by averaging the number of days between each pair of sequential transaction data items.
At block 1160, the account identification component 114 determines whether there are additional payees in the transaction data items that have not yet been analyzed for categorization. In some embodiments, those transaction data items grouped with the transaction data item selected at block 1110 are not the selected for grouping. In other embodiments, each transaction data item, whether already associated with a grouping of transaction data items or not, is analyze with the method of blocks 1110-1150. If additional payees have not yet been analyzed for categorization, the method returns to block 1110 where another payee is selected. If no additional payees need categorization, the method continues to process for identifying the type of account each grouping of transaction data items is most associated with and identifying any accounts that may be added to credit data of the user.
Beginning at block 1210, a payee included in the transaction data items is selected. For example, a payee that is associated with a grouping of multiple transaction data items (for example, 24 transaction data items spanning a period of 24 months of transaction data items) is selected.
Next, at block 1220, rules for identifying a probable account type associated with the grouping of transaction data items are executed. Such rules may be stored in a datastore and/or in a rules engine. In some embodiments, the payee identifier (for example, the normalized payee identifier) may be a significant factor in determining account type associated with the transaction data items. For example, is the normalized payee identifier is associated with a well-known wireless provider, designation of those transaction data items grouped with the wireless provider ID may be categorized as a wireless account without further application of account determination rules. In some implementations, even where a payee of multiple groups transaction data items is well-known, additional rules may be applied to the transaction data items, as well as the overall information derived at blocks 1130-1150, for example, to validate that the grouping of transaction data items really is for the believed account type. For payee identifiers that are not well-known (for example, an account types is not readily known for a grouping of transaction data items associated with a particular payee), account identification rules may be applied.
Next, at block 1230, a confidence level that a grouping of transaction data items is of a particular account type is determined. For example, at block 1220 a rule set for a rental account may be applied to the grouping of transaction data items and at block 1230 the confidence level that the grouping of transaction data items really is a rental account is determined. In some embodiments, the rules applied at block 1220 automatically output the confidence level of block 1230, thus, these blocks may be combined in certain implementations.
At block 1240, the account identification component 114 determines whether the confidence level calculated at block 1230 is above a threshold that indicates sufficient confidence that the selected account type accurately reflects the grouping of transaction data items. For example, if a rental account rule set is applied to the grouping of transaction data items at block 1220, a confidence level that the grouping of transaction data items are associated with a rental account is determined at block 430, and at block 1240 a confidence level threshold is compared to the confidence level calculated at block 1230 to determine if the transaction data items are associated with a rental account. In some embodiments, the threshold levels vary based on the account type. For example, a confidence level may be higher for rental account then for a wireless account.
If the confidence level is above the threshold at block 1240, the method continues to block 1270 where the grouping of transaction data items are associated with the selected account type.
Depending on the embodiment, the confidence level associate with a grouping of transaction data items may be based on various information regarding the transaction data items, the financial account of the user, the financial institution from which the account information was obtained, the user (and/or related users, such as those in the same household), and/or other related characteristics. As an example, the account identification component 114 may determine if there are a sufficient number of transactions for the account to be reliable, may determine if the transactions were reported by a sufficiently reliable financial institution, and/or may determine if the transactions are consistent enough with patterns expected for such accounts (for example, rent transactions with amounts that vary each month may indicate a lower reliability that the transactions accurately reflect a rental account of the user, utility transactions with a payee name that doesn't match a known utility provider may indicate a lower reliability, and so forth). In some embodiments, the account identification component 114 may assign individual reliability scores to each of multiple factors, such as number of transactions, reliability of the associated financial institution, consistency with typical patterns for such accounts, and so forth, and may combine the individual reliability scores to determine an overall reliability score. In some embodiments, a threshold confidence level may include both individual reliability scores for each of one or more individual factors and a an overall reliability score for all of the factors that are determinative of reliability.
If the confidence level is not above the threshold at block 1240, the method continues to block 1250 where the account identification component 114 determines if additional information may be helpful in increasing the confidence level associated with the grouping of transaction data items. As an example, the account identification component 114 may determine that the account is a rental account and that obtaining a copy of the lease agreement would significantly improve the confidence of the system that the rental transactions are accurate, reliable, and properly associated with a rental agreement. As another example, the user account discovery system may determine that the account is a utility account and that confirming one or more details of the user's account directly with the utility provider would significantly improve the system's confidence in the utility account (for example, the account's reliability).
If additional information may be useful at block 1250, at block 1280 additional information is requested from the user and/or a third-party. In some embodiments, information regarding transactions that may be missing in a grouping of transaction data items may be requested from the user and/or third-party to supplement the transaction data items acquired directly from the transaction provider and increase the confidence level. In some embodiments, the types of additional information and/or sources of additional mission may vary based on the account type being analyzed. In some embodiments, additional information may only be requested if the confidence level is already near the threshold, such as within 10% of the required confidence level.
As other examples, the user may be asked to provide the date and amount of a monthly rent (or other utility, wireless, or other) payment; the user may be asked to provide a copy of a lease agreement, a utility bill, or other such confirming information, the financial institution may be asked to provide additional details of the transactions, utilities may be asked to confirm account and/or transaction details, rental providers may be asked to confirm rental agreement details, and so forth.
If additional information is not needed at block 1250, the account identification component 114 determines at block 1260 whether the grouping of transaction data items should be analyzed against other account types. For example, if the transaction data items are initially tested against rental account rules, at block 1260 the account identification component 114 may determine that utility account type rules should now be applied to determine whether those transaction data items are an utility account. If no additional account types are to be tested, the method continues to block 1290 where additional payees, or groupings of transaction data items associated with an additional payee, remain to be tested against the account type rules. If additional groupings of transaction data items do remain, the method continues to block 1210 where another grouping of transaction data items, associated with a particular payee, is selected and analyzed. At block 1295, associations of transaction data item groupings with account types, as well as potentially the confidence levels associated with the identified account types, are stored for later access.
If a determination is made that additional information is requested from a third-party, at block 1320 a request for the additional information is transmitted to the third-party and at block 1330 the third-party provides additional information. Such additional information may include, for example, demographic information of the user that may be compared to information associated with a payee on the groups transaction data items to confirm that the user lives within a service district of the payee. If a determination is made that additional information is to be requested from the user, at block 1340 the information is requested from the user, such as via the mobile application or website with which the user is already interacting with the account discovery system, and the user provides requested additional information at block 1350. Examples of additional information that may be provided by a user could include a payment type (for example, cash, handwritten check, cashier check, and so forth), payment amount, digital images of payments, digital images of account specific information (for example, monthly invoices or statements from the payee), and so forth. In one example embodiment, the user is requested to provide a digital copy of at least a portion of a rental agreement to validate terms and existence of a rental account. Information from the rental agreement may be extracted, such as through an optical character recognition processing, to identify key terms of the rental agreement and compare such terms to information included in (or derived from) the grouping of transaction data items.
Beginning at
In some embodiments, the system may interact with the user via a chat window (for example, a pop-up window) that may be operated by a chatbot to request the information needed from the user and/or provide the user with educational information regarding the process. In some embodiments, such chatbots may be entirely automated (for example, using artificial intelligence that learns how to best interact with users over time) or may be partially operated by a human operator (for example, when the chatbot is unsure of how to respond to a query from the user). Similarly, any other user interactions discussed herein may be partially or fully performed via a conversational format, with a chatbot (for example, fully or partially automated) interacting with the user via primarily textual communications.
User interface 1910 request information from the user regarding a few potential accounts that could be added to the credit data of the consumer. The user interface request that the user confirm that payments to the identified payees are actually made by the user and, accordingly, could properly be used in calculating credit worthiness of the user. In this embodiment, if the user does not recognize payees listed, those payees can be removed by clicking the acts the right of the payee data identifiers.
After the user selects payees with which the user has an account, the user may select a confirmation indicator element, such as an “I make these payments” link or button, and be presented with a user interface 1920 which indicates that the account identification process performed by account identification component 114 (referred to loosely as a “scan” in certain of the user interface features discussed herein) has completed. The user interface further indicates that two accounts, of the type that may be added to credit data of users, have been identified. In this particular example, an electrical account (associated with the payee “So Calif Edison”) and a wireless account (associated with the payee “T Mobile”) have been identified.
User interface 1930 illustrates an example of a request for additional information from the user, in this case related to a potential lease account for which transaction data items were identified in the user's transaction data. Advantageously, the user may launch a camera on their mobile application directly via the user interface 1930 and take one or more snapshots of the lease agreement. The lease agreement may then be processed by the account identification component 114 to validate a grouping of transaction data items associated with a lessee as indicative of a rental account of the user that may be added to credit data of the user.
User interface 2020 includes further details regarding the payments that were found in the transaction data items. In this example, two years of prior data is illustrated graphically such that the user can identify months where they transaction data item was not located. In this example, April 2018 payment was not identified in the transaction data items. In some embodiments, the user is given an opportunity to update the account information with payments may outside of the linked DDA account. For example, the user may be given the opportunity provide a copy of a cashiers check that was used to make the payment to So Calif Edison in April 2018 so that the historical payment activity for the account shows no missed payments over the last two years. Finally, after the user has reviewed information regarding the located account and related transaction data items, the user can select the “add to my credit file” button to initiate addition of the account to the user's credit file.
Since there are a few missing payments, the user may want to review the payment transaction items that were identified by the account identification component 114 to determine if some of those missing payments can be located (for example, in another DDA account of the user). Similarly, the user may want to provide the account identification component 114 with additional information regarding payments made to the payee, such as an alternate payee identifier that may have been used in certain transaction data items. As another example, the user may want to authorize access to another DDA account where payments to the payee may also be located. Through these processes, the user may improve the payment history associated with the account and, accordingly, may further increase a score impact by addition of the account to credit data of the user. In some implementations, a user interface such as
The user interfaces of
Also shown in the example of
In some implementations, the account discovery system 110 periodically access transaction data items of the user, such as via the data permissioning component 112 that communicates with the financial institution of the user using the user security token. For example, the account discovery system 110 may periodically access recent transaction data items, for example, those transaction data items that are new since the financial account of the user was last accessed, to search for additional accounts of the user that could be added to the user's credit data. In some embodiments, the user is provided with a permissions dashboard that allows the user to selectively authorize uses of data associated with self-reported (and possible other) accounts of the user. For example, the user may opt into use of their credit data (including self-reported data) in calculation of other risk indicators and/or for other financial analysis or products. In one embodiment, the use can authorize use of credit data to calculate multiple risk indicators using various risk scoring algorithms. Some risk scoring algorithms may consider the self-reported accounts in the credit score calculation, while others may not directly consider the self-reported accounts in a credit score calculation, but may indirectly consider the accounts to the extent they impact the total debt, monthly payment obligations, equity, and so forth of the user.
Example user interface 2320 provides the user with example circumstances where further information may be available to identify accounts for addition to the user's credit data. In this example, the user is provided an opportunity to connect an additional account to the account discovery system 110, such that additional transaction data items may be included in the account discovery process. For example, if the user previously authorized access to a checking account, the user may additionally authorize access to a savings account or another checking account at different financial institution, to allow analysis of additional transaction data items that may be indicative of a utility, telecom, rental, and so forth account.
Example user interface 2330 is an example request the may be made to the user in an attempt to update payee information that may be indicated in transaction data items of the user (and/or other users). Such a request may be used to obtain data from the user that enhances the system's ability to identify transactions that the user can use to boost their credit score. In some embodiments, the user may be asked to provide examples of transactions that should qualify for the boost (for example, telecom and utility payments) and/or payee identifiers in transactions that are associated with a particular payee or type of payee. This user-provided information may then be used by the account identification component 114 to better identify transactions and accounts that could be added to credit data of the user.
In the example user interface 2330, the user is requested to provide information regarding the specific payee ID that is used in the transaction name by the user's financial institution, where the specific payee ID used by the financial institution may differ from other payee IDs for the same payee that are used by other financial institutions and/or that are included in the payee database. Thus, the payee ID information provided by the user may then be added to the payee database and used when analyzing other user transaction data items to better match transaction data items from that particular financial institution and payee with the appropriate standardized payee identifier.
In some embodiments, the account identification component 114 periodically accesses additional transaction data items of the user and searches those transaction data items for new payment information associated with accounts that have previously been added to the user's credit data. For example, if a wireless account is added after an initial processing of transaction data items from a checking and savings account of a user added financial institution, those same checking and savings accounts of the user may be accessed monthly (or other time period) to search for new payments to the wireless account. After identifying payments to the wireless account, information regarding the new payment may be provided to the credit bureau as an update to status of the trade line. In this way, self-reported accounts may be added to credit data and updated on an ongoing basis with payment information, in a similar manner as traditional credit accounts are initially reported to the credit bureaus and updated with monthly payment information.
In some embodiments, ongoing access to transaction data items and providing updated payment information on self-reported tradelines may continue indefinitely. For example, as long as the account remains connected and the credentials remain active, the account discovery system may periodically access new transaction data items which may allow identification of new payments that meet criteria for addition of an account as a trade line, and user may be notified they have new boost available for them to use to increase their credit score.
Such ongoing access to transaction data items may allow new accounts for a boost to be identified as more payments are made to the corresponding payee. For example, if the user on initial scan only had one or two months of payment history identified for a particular payee, new transaction data items may be received over the following months to obtain the required threshold payment months for adding credit data. In this example, the user may be notified via email (or other communication medium) of the qualifying account based on newly received transaction data items, and the account may be added to the user's credit data at the request of the user, or automatically upon identification (for example, if the user authorized later addition of the account when the initial scan was performed).
In some embodiments, the user provides permissions for later accesses to transaction information and/or may provide subsequent permissions to access the transaction information. In some embodiments, if a new payment for a tradeline has not been identified in transaction data items for more than a threshold time period (for example, three months, six months, and so forth), the self-reported tradeline may automatically be removed from credit data of the consumer. Additionally, as noted elsewhere, the user can remove permissions to periodically access transaction data at one or more financial institutions at any time.
In some embodiments, any disruption in monthly (or other periodic) updates to self-reported accounts, such as based on accessing transaction data items that one or more financial institutions in identifying payment information on those self-reported accounts, may trigger a notification to the user. For example, if a monthly scan of transaction data items from a DDA account (where a previous 12 months of payments on a self-reported account were identified) does not result in identification of a payment on the account, an alert may be transmitted to the user. For example, a text message, push notification, email, or other notification may be transmitted to the user device to alert the user of the missing payment. In some circumstances, the user may have inadvertently missed payment on the self-reported accounts and the notification provides the user with the ability to remedy the missed payment as quickly as possible. Alternatively, if the user purposefully missed payment, perhaps in conjunction with closing the account, the notification allows the user to indicate to the account discovery system that the self-reported accounts should be removed from credit data of the user. In some embodiments, alerts may be provided to the user based on other triggers, such as if credentials associated with a DDA account with financial institution have changed (for example, the transaction data items are no longer accessible by the account access system). Such an alert may request updated credentials (and/or new account information if the account has been canceled or transferred) from the user so that the system may be re-permissioned to access the transaction data items of the user account.
Example System, Method, and User Interfaces Associated with Trade Line Addition
As noted above, after the new trade line has been added to the user's credit data, that new trade line is immediately usable by credit scoring algorithms. User interface 2720 illustrates a scoring interface that may be displayed to the user shortly after addition of a new trade line to the user's profile. For example, after the user selects and identified account to be added as a trade line to credit data of the user, the new trade line creation data package may be prepared and sent to the credit bureau (and a user interface such as user interface 2710 may be provided to the user), and in response to confirmation that the new trade line has been added to the credit data of the user a scoring algorithm may be executed on the updated credit data of the user to generate an updated credit score. In the example of
In some implementations, addition of new trade line to the user's credit data may not have the desired effect on credit score of the user. For example, in some situations, addition of a new trade line may actually cause the credit score of the user to decrease, or to not change at all. Accordingly, in some embodiments, the account discovery system 110 provides a mechanism allowing the user to remove any previously added self-reported trade line from their credit data.
In some implementations, an improvement to the credit situation of a user may be realized through addition of self-reported accounts, even if the credit score of the user decreases or stays the same. For example, a user's overall credit health could be seen as improving if addition of a self-reported account increases the total number of trade lines above a thin file threshold (for example, four or more trade lines) so that the user is seen as a thick file user. Thus, while a credit score increase is a straightforward indicator of credit health of a user, other factors associated with creditability of the user may also be considered by potential lenders, landlords, partners, and so forth. Accordingly, in some embodiments, the accounts discovery system provides educational material to the user, such as when their credit score has not increased responsive to a boost (or has actually decreased responsive to a boost), so that the user has an option to either remove the self-reported account or to maintain the self-reported account in the user's credit data because of an advantage in overall creditability of the user with the newly added self-reported account.
Example user interface 2920 provides additional information to the user regarding reasons that newly added accounts that have caused the credit score of the user to drop may still be beneficial to keep in credit data of the user. For example, user interface 2920 explains that the credit file of the user is being evaluated different now that it has additional trade line's, which may allow the user to qualify for additional offers even with a lower credit score. User interface 2930 further explains that lenders won't see newly added positive bill payments in the trade line that was added by the account discovery system, but that the user's credit score will go back up when the trade line is removed.
Should the user decide to remove one or more self-reported accounts that have been added by the account discovery system, such as by selecting user interface element 2912 or 2932, removal of the recently added account from the credit data of the user is initiated. Thus, users can remove accounts added through the account discovery system and their credit score will revert to the same score they had prior to addition of the new trade line. If the user continues to pay their utility and telecom bills on time to build positive payment history, they may later use the credit score update features again to recalculate their (hopefully increased) score,
Example System, Method, and User Interfaces Associated with Updating Offers to the User
Beginning at block 3000, the offer provider determines identification information of a user, such as information that is usable to obtain a credit score of the user. In block 3010, a current risk score of the user is obtained and/or calculated. For example, identification information obtained at block 3000 (for example, first name, last name, address, Social Security number, and so forth) may be provided to a consumer reporting agency with a request for a current credit score of the user. If the offer provider has the necessary permissible purpose for obtaining credit data of the user, the consumer reporting agency will calculate and return a current credit score of the user.
Moving to block 3020, the offer provider determines a first one or more product offers available to the user based on the current risk score. For example, each of multiple credit card offers (or automobile loans, home loans, or other offers) may be associated with a minimum credit score that qualifies users for the particular credit card offer. Thus, the credit score of the user may disqualify the user from eligibility for certain credit offers. Similarly, the credit score of the user may qualify the consumer for a first one or more credit offers (for example, those credit offers having eligibility criteria including a minimum credit score that is lower than the current credit score of the user). Accordingly, the offer provider may determine a first set of offers that the user is eligible to receive (and which the user may ultimately qualify for after full application) at block 3020 and a second set of offers that the user is not ineligible to receive (and for which the user would ultimately not qualify for after full application) at block 3030.
Next, at block 3040, the offer provider provides the user with an option to initiate updates to risk data of the user, such as by allowing the user to interface with the account discovery system to potentially identify self-reported accounts that could be added to credit data of the user to increase the user's credit score. In response to the user selecting the option to initiate updates to credit data, at block 3050 the offer provider initiates communication between the user and the account discovery system. The user may then interface with the account discovery system to provide the necessary permissions to access financial data, validation of account information, and confirmation that located accounts may be added to the user's credit data.
Next, at block 3060, the account discovery system may automatically provide an updated credit score of the user to the offer provider, such as by requesting execution of a credit scoring algorithm on credit data of the user after a new trade line creation data package has been transmitted to the credit bureau. In other embodiments, after the account discovery system has interfaced with the user, a notification may be transmitted to the offer provider indicating that a new credit score of the user may be requested again. In such case, the offer provider may obtain an updated risk score of the user with a similar process as described above with reference to block 3010.
At block 3070, with the newly calculated credit score of the user, the offer provider identifies one or more of the second set of product offers (which the user was not eligible for previously) for which the user is now qualified. For example, if the user's credit score increased from 650 to 680 based on one or more added trade line's by the account discovery system, the user would not have qualified for a credit card requiring a credit score of 660 prior to the score increase, but would qualify for the credit card after the score increase (assuming the user meets any other eligibility requirements for the credit card).
At block 3080, the new credit offers for which the user now qualifies are provided to the user, so that the user can potentially apply for any of the first set of credit offers and/or any of the newly identified credit offers from the set.
The example user interface 3220 is provided to a user after detecting that the user does not have a credit score yet, which could be the case for teenagers or young adults, retired persons, ex-patriots, and so forth. With the availability of self-reported accounts to credit data of users, establishment of a credit report having one or multiple trade lines, as well as a corresponding credit score, may be significantly simplified. For example, payment history for a rental property over the course of many months or years may very quickly be added to credit data of the user.
The example user interface 3230 is provided to a user in response to the user applying for credit, perhaps prior to the user finalizing and agreement for credit. In this example, the user may increase their credit score by adding self-reported accounts to their credit data and thereby become eligible for a better credit offer than the one they previously applied for. In other embodiments, other triggers for providing invitations to explore addition of nontraditional accounts to credit data of users may be used.
System, Method, and Example User Interface Associated with Calculating Expected Score Increase
Beginning at block 3310, a score impact rule indicating a plurality of account types impacting credit scores of users may be accessed. For example, the score impact rule may indicate that rental accounts, water accounts, and electrical accounts impact credit scores of users, while country club accounts do not impact credit scores of users.
At block 3320, credit data of a user is accessed, such as information regarding current trade lines and trade line types included in credit data of the user.
Next, at block 3350, the score impact rule is applied to the determined account types already in the user's credit data to identify any account types that are not already in the user's credit data. For example, if the user's credit data does not already include an electrical account, electrical account may be identified at block 3350 as a potential new account type that could be added to credit data of the user to increase credit score of the user. In one embodiment, an expected score impact may be calculated for each multiple account types, regardless of whether the user already has an account of any of the account types.
At block 3360, a score impact algorithm may be executed to determine a possible credit score change if an account of the identified account type is added to the credit data of the user. For example, with reference to the example above, the score impact algorithm may calculate a numerical credit score change that is possible if the user adds an electrical account to the user's credit data. For example, the score impact algorithm may be based on a model developed through analysis of a plurality of users each having added electrical accounts to credit data, such as via the account discovery system or similar system for identifying and adding self-reported accounts to consumer credit data. Thus, the score impact algorithm may estimate, based on realized credit score changes by those other users that also added an electrical account to their credit data, an expected credit score change for the particular user.
In some embodiments, the score impact algorithm considers other factors, such as demographic information of the user as compared to the base set of users from which the model was generated, in calculating the potential credit score change. For example, if users in general experienced a credit score increase of 12 points by addition of a rental account to their credit data, but users in northern California experienced a credit score increase of 24 points by addition of a rental account to their credit data, the calculated credit score change may be impacted based on the location of the rental unit associated with the rental account. Similarly, the score impact algorithm may vary based on number of trade line's already in the user's credit data, outstanding balances, public record information, and so forth, where, in general, the more similar a user is to a group of users that previously added an account of the same type to their credit data, the more similar the possible credit score change for the particular user will be to that group of users.
In the example user interface 3410, the user is notified that addition of a utility account to credit data of the user would potentially increase the user's credit score. In one embodiment, this message is provided to the user based on a determination that the user does not already have a utility account in credit data of the user. Additionally, in some embodiments the notification may only be provided if the user has the right quantity of other trade line, outstanding debt balances, and so forth, in their existing credit data, such that addition of the identified account type would actually increase the credit score of the user.
Example user interface 3420 indicates that an expected credit score increase of 22 points could be possible for the user with the addition of six months of consistent rental history. In one embodiment, the notification may be based on little information regarding the user, such as perhaps only a geographic location of the user, while in other embodiments the possible credit score change may be more precisely based on additional known information of the user, such as that the user has three trade lines on their credit report already, but no rental account in their credit data. As another example, a more precise estimate could be developed based on information associated with existing credit data of the user, such as payment history, how much each monthly payment affects their overall balance, if addition of a new tradeline would cause the credit file to move from a thin file to a thick file, and other attributes of the user's credit data.
Example user interface 3430 indicates that 87% of people with a credit file similar to the user saw an increase in their credit score with a boost (for example, with an addition of a new self-reported account to credit data of the user). In this example, the credit scoring algorithm may consider multiple attributes of the user in identifying a group of other users from which to calculate a likelihood of a credit score increase. For example, other users with a similar credit score (prior to boost), a similar quantity of trade lines, a similar amount of credit utilization, in a similar geographic region, and/or other factors, may be the basis for estimating how a new self-reported account might impact credit score of the user. In some embodiments, such estimations may be based on analytics of other users with similar credit files who have leverage the boost product (and/or other data indicative of changes to credit scores responsive to addition of self-reported accounts).
In one embodiment, the system provides an interactive score simulator interface that allows the user to be provided with real-time estimates of credit score changes in response to selection of hypothetical updates to credit data. For example, at block 3350 of
In some embodiments, multiple estimated credit scores are provided simultaneously to the user, such as an estimated risk score associated with addition of each of multiple account types. The user may then be able to select an account type, such as one that has the highest estimated risk score increase, to initiate addition of transaction data associated with an account of the selected account type, such as using the systems and methods discussed herein.
Disputing Self-Reported Account InformationIn one embodiment, the account discovery system 3802 is configured to interface with multiple devices and/or data sources. The account discovery system 3802 may be configured to implement certain systems and methods described herein. The functionality provided for in the components and modules of the account discovery system 3802 may be combined into fewer components and modules or further separated into additional components and modules. The account discovery system 110, account discovery system 110A, and/or the account access system 202 may include the same or similar components as illustrated in
In general, the word component or module, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language such as, for example, C, C++, C #. A software module may be complied and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Java, Perl, or Python. It will be appreciated that software modules may be callable from other modules or from themselves or may be invoked in response to detected events and interrupts, or both. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware modules may be comprised of connected logic units, such as programmable gate arrays or processors. The modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware. Generally, the modules described herein refer to logical modules that may be combined with other modules or devices into sub-modules despite their physical organization or storage.
In one embodiment, the account discovery system 3802 includes, for example, one or more servers or personal computers that are IBM, Macintosh, or Linux/Unix compatible. In another embodiment, the account discovery system 3802 includes one or more laptop computers, smart phones, personal digital assistants, or other computing devices. The account discovery system 3802 may include a memory 3830, which may include a random access memory (RAM) for temporary storage of information, a read only memory (ROM) for permanent storage of information, and/or a mass storage device, such as a hard drive, diskette, optical media storage device, or USB flash drive. Typically, the modules of the monitoring system are in communication with each other via a standards based bus system. In different embodiments, the standards based bus system could be Peripheral Component Interconnect (PCI), Microchannel, SCSI, Industrial Standard Architecture (ISA), and Extended ISA (EISA) architectures, for example.
The account discovery system 3802 may be generally controlled and coordinated by operating system software, such as Windows 95, 98, NT, 4000, XP, Vista, 7, 8, SunOS, Solaris, Blackberry OS, or other compatible operating systems. In Macintosh systems, the operating system may be any available operating system, such as MAC OS X. In other embodiments, the account discovery system 3802 may be controlled by a proprietary operating system. Conventional operating systems control and schedule computer processes for execution, perform memory management, provide file systems, networking, and I/O services, and provide a user interface, such as a graphical user interface (GUI), among other functions. The example account discovery system 3802, as well as the account discovery system 110 shown in
The account discovery system, client computing devices, financial institutions, service providers (for example, rental service providers, telco service providers, utility service providers, and so forth) may communicate with each other over network 3860. Network 3860 may be formed from one or more networks including any combination of wired networks, wireless networks, wide-area networks such as the Internet, and local-area networks.
Additional EmbodimentsIt is to be understood that not necessarily all objects or advantages may be achieved in accordance with any particular embodiment described herein. Thus, for example, those skilled in the art will recognize that certain embodiments may be configured to operate in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.
All of the processes described herein may be embodied in, and fully automated, via software code modules executed by a computing system that includes one or more computers or processors. In some embodiments, at least some of the processes may be implemented using virtualization techniques such as, for example, cloud computing, application containerization, or Lambda architecture, and so forth, alone or in combination. The code modules may be stored in any type of non-transitory computer-readable medium or other computer storage device. Some or all the methods may be embodied in specialized computer hardware.
Many other variations than those described herein will be apparent from this disclosure. For example, depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence or can be added, merged, or left out altogether (for example, not all described acts or events are necessary for the practice of the algorithms). Moreover, in certain embodiments, acts or events can be performed concurrently, for example, through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially. In addition, different tasks or processes can be performed by different machines and/or computing systems that can function together.
Conditional language such as, among others, “can,” “could,” “might” or “may,” unless specifically stated otherwise, are understood within the context as used in general to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.
Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is understood with the context as used in general to present that an item, term, and so forth, may be either X, Y, or Z, or any combination thereof (for example, X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
Any process descriptions, elements or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or elements in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown, or discussed, including substantially concurrently or in reverse order, depending on the functionality involved as would be understood by those skilled in the art.
Unless otherwise explicitly stated, articles such as “a” or “an” should generally be interpreted to include one or more described items. Accordingly, phrases such as “a device configured to” are intended to include one or more recited devices. Such one or more recited devices can also be collectively configured to carry out the stated recitations. For example, “a processor configured to carry out recitations A, B and C” can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C.
The term “remote” may include data, objects, devices, components, and/or modules not stored locally, that are not accessible via the local bus. Thus, remote devices may include a device which is physically stored in the same room and connected to the user's device via a network. In other situations, a remote device may be located in a separate geographic area, such as, for example, in a different location, country, and so forth.
Many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure.
Claims
1. A computerized method of updating user risk data, the computerized method performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprising:
- receiving, from a user computing device, a request to update risk data of the user with account information regarding an account identified in account data items associated with the user stored by a third-party entity;
- generating an account creation data package formatted for ingestion at a secured third-party risk database to initiate addition of the account to risk data of the user, the account creation data package including:
- an identifier of a recipient indicated in each of the account data items;
- a data furnisher identifier associated with an entity that provides consumer data to the secured third-party risk database; and
- at least a portion of the account information formatted for ingestion by the secured third-party risk database to initiate addition of the account to risk data of the user;
- identifying an API token associated with the secured third-party risk database; and
- transmitting the API token and the account creation data package to the secured third-party risk database via a secure communication channel established with the third-party risk database, wherein the account information is usable to update a risk score of the user.
2. The computerized method of claim 1, wherein the account information includes a plurality of historical transaction data items indicating a corresponding plurality of historical transactions between the recipient and the user.
3. The computerized method of claim 2, further comprising:
- requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, including the plurality of historical transaction data items included in the risk data of the user.
4. The computerized method of claim 3, further comprising:
- receiving, from the secured third-party risk database, a risk score of the user based on said execution of the risk scoring algorithm; and
- transmitting a notification to the user indicating the risk score.
5. The computerized method of claim 4, further comprising:
- in response to determining that the risk score is lower than a previous risk score of the user, initiating activation of a user interface on the user computing device that includes an option to remove the account information from the risk data of the user;
- in response to selection of the option to remove the account information from the risk data of the user,
- generating an account removal data package formatted for ingestion at the secured third-party risk database to initiate removal of the account from risk data of the user, the account removal data package including:
- the identifier of the recipient; and
- the data furnisher identifier associated with the entity that provides consumer data to the secured third-party risk database; and
- transmitting the account removal data package to the secured third-party risk database via a secure communication channel.
6. The computerized method of claim 2, further comprising:
- receiving updated account information regarding the account associated with the user, the updated account information including a transaction data item not included in the plurality of historical transaction data items;
- generating an account update data package formatted for ingestion at the secured third-party risk database to initiate update of risk data of the user associated with the account, the account update data package including:
- an identifier of the recipient indicated in the transaction data item;
- the data furnisher identifier associated with the entity that provides consumer data to the secured third-party risk database; and
- at least a portion of the updated account information formatted for ingestion by the secured third-party risk database to initiate addition of the transaction data item to risk data of the user; and
- transmitting the API token associated with the secured third-party risk database and the account update data package to the secured third-party risk database.
7. The computerized method of claim 6, further comprising:
- requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, wherein the risk scoring algorithm is based at least partly on portions of the plurality of historical transaction data items and the transaction data item.
8. The computerized method of claim 7, further comprising:
- receiving, from the secured third-party risk database, a risk score of the user based on said execution of the risk scoring algorithm; and
- in response to determining that a risk score of the user is different than prior to transmitting the account update data package to the secured third-party risk database, transmitting a notification to the user.
9. The computerized method of claim 8, wherein the notification comprises a push notification to the user computing device, the push notification configured to automatically activate an application on the user computing device to cause display of information associated with the notification.
10. The computerized method of claim 9, wherein the notification is transmitted to the user in real-time from receiving the updated account information.
11. The computerized method of claim 1, further comprising:
- receiving, via network communication with the user computing device, selection of a third-party entity from a plurality of third-party entities indicated in a user interface displayed on the user computing device;
- credentials for directly accessing, by proxy on behalf of the user via an application programming interface (API), the account items associated with the user stored in one or more databases associated with the third-party entity;
- transmitting at least an API token associated with the selected third-party and the credential to one or more databases associated with the selected third-party entity; and
- accessing the account data items associated with the user, via an API communication channel established with the one or more databases associated with the selected third-party entity.
12. The method of claim 11, further comprising:
- selecting a first data item of the plurality of account data items;
- determining a recipient identified in the first data item;
- identifying a subset of account data items each indicating the determined recipient, wherein the subset of account data items includes at least the first data item and one or more other account data items;
- determining, based at least on the identified subset of account data items, account data associated with an account of the user associated with the recipient, the account data comprising at least one or more of: a number of account data items each having time stamps within a predetermined time period; average number of days between time stamps of sequential account data items;
- applying a first account identification rule, associated with a first account type, to the account data; and
- determine, based on said application of the first account identification rule, a first confidence level indicating likelihood that the account is the first type of account.
13. The method of claim 12, further comprising:
- in response to determining that the first confidence level is above a first threshold, applying a first account scoring model to the account data, the first account scoring model configured to determine an expected change to a current risk score associated with the user.
14. The method of claim 13, further comprising:
- requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, wherein the risk scoring algorithm is based at least partly on portions of the plurality of account data items or the account data included in the risk data of the user; and
- providing risk score change information to the user computing device.
15. A computing system comprising:
- a hardware computer processor configured to perform operations comprising:
- receiving, from a user computing device, a request to update risk data of the user with account information regarding an account identified in account data items associated with the user stored by a third-party entity;
- generating an account creation data package formatted for ingestion at a secured third-party risk database to initiate addition of the account to risk data of the user, the account creation data package including:
- an identifier of recipient indicated in each of the account data items;
- a data furnisher identifier associated with an entity that provides consumer data to the secured third-party risk database; and
- at least a portion of the account information formatted for ingestion by the secured third-party risk database to initiate addition of the account to risk data of the user;
- identifying an API token associated with the secured third-party risk database; and
- transmitting the API token and the account creation data package to the secured third-party risk database via a secure communication channel established with the third-party risk database, wherein the account information is usable to update a risk score of the user.
16. The computing system of claim 15, wherein the account information includes a plurality of historical transaction data items indicating a corresponding plurality of historical transactions between the recipient and the user.
17. The computing system of claim 16, further comprising:
- requesting execution of a risk scoring algorithm using risk data of the user at the secured third-party risk database, including the plurality of historical transaction data items included in the risk data of the user.
18. The computing system of claim 17, further comprising:
- receiving, from the secured third-party risk database, a risk score of the user based on said execution of the risk scoring algorithm; and
- transmitting a notification to the user indicating the risk score.
19. A non-transitory computer readable medium having processor-executable instructions stored thereon, the processor-executable instructions executable by a hardware computer processor to perform operations comprising:
- receiving, from a user computing device, a request to update risk data of the user with account information regarding an account identified in account data items associated with the user stored by a third-party entity;
- generating an account creation data package formatted for ingestion at a secured third-party risk database to initiate addition of the account to risk data of the user, the account creation data package including: an identifier of recipient indicated in each of the account data items; a data furnisher identifier associated with an entity that provides consumer data to the secured third-party risk database; and at least a portion of the account information formatted for ingestion by the secured third-party risk database to initiate addition of the account to risk data of the user; identifying an API token associated with the secured third-party risk database; and
- transmitting the API token and the account creation data package to the secured third-party risk database via a secure communication channel established with the third-party risk database, wherein the account information is usable to update a risk score of the user.
Type: Application
Filed: Jun 19, 2019
Publication Date: Mar 5, 2020
Inventors: Pat Finneran (Queen Creek, AZ), Michelle Felice-Steele (Woodland Hills, CA), Michele Raneri (Orange, CA), Paul DeSaulniers (Ladera Ranch, CA), Joe Manna (Tustin, CA), Jeff Softley (Rancho Mission Viejo, CA), Srikumar Puthupadi Kanthadai (El Monte, CA), Aga Dzhafar Hady Ogiu Dzhafarov (Mission Viejo, CA), Donna Meryl Smith (Irvine, CA), Gregory Lennox Wright (Newport Coast, CA)
Application Number: 16/446,213