A display of a user device may display a user interface (e.g., a graphical user interface). A user interface may permit interactions between a user of the user device and the user device. In some cases, the user may interact with the user interface to operate and/or control the user device to produce a desired result. For example, the user may interact with the user interface of the user device to cause the user device to perform an action. Additionally, the user interface may provide information to the user.
Some implementations described herein relate to a system for providing data for presentation of a multi-tab user interface element. The system may include one or more memories and one or more processors communicatively coupled to the one or more memories. The one or more processors may be configured to identify, based on a user identifier associated with a user account, one or more account identifiers associated with the user identifier. The one or more processors may be configured to determine, for each category of the plurality of categories, a total category amount, wherein the total category amount is a sum of interaction amounts for a plurality of interactions in a particular category, of the plurality of categories, that occur within a particular time frame. The one or more processors may be configured to transmit, to a user device, user interface data associated with the multi-tab user interface element to be displayed on a display of the user device.
Some implementations described herein relate to a method for providing data for presenting a multi-tab user interface element. The method may include receiving, by a system and from a user device of a user, a request for benefits information related to a plurality of categories of interactions associated with an account of the user. The method may include obtaining, by the system and from a user profile database, a set of data indicating interaction amounts for a plurality of interactions associated with the plurality of categories for a particular time frame. The method may include determining, by the system and for each category, a total category amount based on the interaction amounts indicated in the set of data. The method may include transmitting, by the system and to the user device, user interface data associated with the multi-tab user interface element to be displayed on a display of the user device, where the user interface data indicates a plurality of tabs corresponding to the plurality of categories. The method may include identifying, by the system, a tab, of the plurality of tabs, to be an active tab corresponding to a category, of the plurality of categories, having a highest total category amount out of the plurality of categories. The method may include determining, by the system, the benefits information related to a category, of the plurality of categories, corresponding to the active tab. The method may include transmitting, by the system and to the user device, the benefits information to be displayed on the display of the user device.
Some implementations described herein relate to a user device configured to present a multi-tab user interface element. The user device may include a memory and one or more processors communicatively coupled to the memory. The one or more processors may be configured to present, on a user interface associated with a user account, an interaction element. The one or more processors may be configured to detect a user interaction, with the user device, that indicates the interaction element. The one or more processors may be configured to present, on the user interface and based on the user interaction, the multi-tab user interface element that includes a plurality of tabs corresponding to a plurality of categories associated with the user account. The one or more processors may be configured to present, on the user interface, benefits information related to a category, of the plurality of categories, corresponding to a first tab of the plurality of tabs, wherein the first tab is first in the order of the plurality of tabs.
The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
A user may participate in various activities (e.g., engaging in interactions with one or more third parties) via one or more accounts associated with the user. An institution operating the account(s) may maintain records of data corresponding to each activity, including a particular category (e.g., entertainment, dining, travel, shopping) in which the corresponding activity falls, for each account. In some instances, the user may want to derive certain insights and/or perform certain actions related to the user's participation in the various activities in a quick and efficient manner. For example, the user may want to switch from viewing insights related to one category to insights related to another category. However, techniques frequently involve presenting the data for different categories on a user interface (UI) in chronological order of when the events occurred and/or in list form. Additionally, the data is often segregated by accounts and/or categories. As a result, the user must inefficiently determine any insights by navigating through UIs for different sets of data presented on the UIs. Furthermore, requiring the user to navigate through different UIs inefficiently utilizes computing resources. Thus, it is desirable for a UI to provide a user-friendly and efficient way for a user to visualize and gain insights from the data.
Some implementations described herein enable a system to provide data for presentation of a UI element on a user device that separates information related to different categories (e.g., entertainment, dining, travel, shopping) in different tabs of the UI element. The tabs may be arranged in an order based on category amounts associated with the categories corresponding to the tabs. Accordingly, by incorporating the information for the different categories in the UI element, rather than providing and presenting the information in multiple UIs and/or UI elements, computing resources can be conserved.
In some implementations described herein, a system may obtain a set of data indicating interaction amounts associated with multiple interactions between a user and one or more third parties that occur within a particular time frame. Each of the interactions may be associated with a category, and for each category, the system may determine a total category amount (e.g., a sum of the interaction amounts for the particular category in the set of data). A UI element to be displayed on a user device of the user may include multiple tabs corresponding to the categories, and each tab may be associated with benefits information requested by the user and related to a category corresponding to that tab. An order of the tabs may be based on the total category amounts for the categories. For example, a first tab may be presented in a particular position in the UI element, where the first tab corresponds to a category having the highest total category amount. In some implementations described herein, the tabs may be arranged in a decreasing order of total category amounts of the corresponding categories.
As shown in
As shown by reference number 106, the processing system may store the interaction data (e.g., in a user profile database) under a user account associated with the user. The user and/or the user account may be associated with a unique user identifier (e.g., a username). In some implementations, the user may have multiple accounts with which the user may perform the interaction. The accounts may have corresponding unique account identifiers (e.g., an account ID number, a primary account number (PAN), or a virtual card number) that may be associated with the user identifier. The interaction data may include the account identifier used in the particular interaction, and the processing system may store the interaction data (e.g., interaction amount and interaction date) in the user profile database in association with the particular account identifier and/or the user identifier.
As further shown in
For example, the processing system may categorize the interaction based on the interaction data (e.g., interaction amount and/or the interaction time) and one or more associated rules or conditions. For example, if the interaction data indicates that the interaction occurred in the morning (e.g., before 10:00 AM) and is less than a threshold amount (e.g., $10), the processing system may categorize the interaction as dining (e.g., for coffee or breakfast). As another example, if the interaction data indicates a location of the interaction (e.g., a zip code and/or geographic coordinates) that is a threshold distance away from an address and/or location associated with the user's account, and the interaction data further indicates that the interaction occurred during a holiday or within a threshold time frame from the holiday, the processing system may categorize the interaction as travel.
In some implementations, the interaction data may additionally indicate third party information associated with the third party from the interaction. The third party information may include a third party identifier (e.g., a third party name or a unique identifier), by which the processing system may identify the third party, and/or a third party type (e.g., movie theater, restaurant, hotel, grocery store). Each third party identifier and/or third party type may be associated with one or more of the possible categories, for example, in a third party entity database. As a result, the processing system may use the third party information to identify a corresponding category with which to categorize the interaction (e.g., by searching the third party entity database for the third party identifier and/or third party type). Additionally, or alternatively, the processing system may have one or more rules or conditions to determine the category from the third party information. For example, if the third party information indicates a movie theater or an amusement park as the third party type, then the processing system may categorize the interaction as entertainment. As another example, if the third party information indicates a hotel or an airline as the third party type, then the processing system may categorize the interaction as travel. As another example, if the third party information indicates a restaurant as the third party type, then the processing system may categorize the interaction as dining. As yet another example, if the third party information indicates a retail or grocery third party type, then the processing system may categorize the interaction as shopping.
In some implementations, the user may manually indicate a category, from the multiple possible categories, for a particular interaction. The user may indicate the category at the time of the interaction (e.g., when the interaction is performed via the user device). For example, after the processing system has received the interaction data (e.g., from the user device or from the terminal), the processing system may transmit a message to the user device (e.g., via electronic mail, a short message serve (SMS) message, or a message internal to an application stored on the user device) requesting the user's input for the category. The user may select a category from a list of possible categories or may manually input a category (e.g., in a dedicated entry field displayed on the user device via the application). Additionally, or alternatively, the user may indicate the category after the interaction data has been stored in the user profile database and the user has accessed the interaction data via the user device (e.g., via the application stored on the user device or a web-based application accessed by the user device over the network). In a similar manner, the user may change categories automatically applied to interactions by the processing system.
In some implementations, the processing system may use a machine learning model to determine the category. For example, the machine learning model may be a supervised machine learning model trained based on the interaction data and/or categories manually input by the user for particular interactions. Additionally, or alternatively, the machine learning model may be an unsupervised machine learning model trained based on one or more clusters of users that have similar interactions and/or demographics (e.g., age range, income range, or sex).
In some instances, more than one category may be applicable to an interaction. For example, if the interaction data indicates that the interaction occurred at a particular venue (e.g., as indicated by the third party information) during a dining time of day (e.g., as indicated by the interaction time), then the processing system may determine that the interaction could be categorized as entertainment or dining. In such an instance, the processing system may search historical interaction data of the user and/or of other users to identify one or more past interactions that include the venue or a similar venue (e.g., a venue having a similar third party type) and/or that occurred at a similar time of day (e.g., within a threshold time frame of the time of the interaction). The processing system may then categorize the interaction with the category associated with the identified past interaction of the user. If the user does not have a similar interaction in the user's historical interaction data, then the processing system may categorize the interaction based on the most widely used category (e.g., having the highest count) for a similar interaction.
As shown in
Based on the user identifier, the processing system may identify one or more account identifiers associated with the user identifier, and may access and/or obtain (e.g., from the user profile database) the historical interaction data associated with each account identifier. From the historical interaction data, the processing system may identify and/or obtain a set of data indicating interaction amounts for one or more interactions associated with the one or more categories. As shown by reference number 112, the processing system may determine, for each category of the one or more categories, a total category amount, which may be a sum of interaction amounts for the one or more interactions in the particular category that occur within a particular time frame (e.g., the specified time frame or default time frame). The total category amount may be determined separately for each account identifier, or may be determined cumulatively across all of the account identifiers.
Based on the total interaction amounts for each category, the processing system may determine characteristics of the multi-tab UI element and the information (e.g., benefits information) requested by the user, as described in more detail hereinafter. As shown by reference number 114, the processing system may transmit, to the user device, UI data indicating a multi-tab UI element and benefits information to be displayed on a display of the user device. As shown by reference number 116, the user device may display the multi-tab UI element and benefits information.
As shown in
The tabs 120 may be arranged in an order in which a first tab of the tabs 120 may be presented in a particular position (e.g., a left-most position) in the hub 118 of the multi-tab UI element. The order may be based on the total category amounts determined by the processing system for each category. For example, the tabs 120 may be ordered after the first tab by decreasing total category amounts associated with categories corresponding to the tabs (e.g., the first (left-most) tab corresponds to a category having the highest total category amount). One of the tabs 120 may be an active tab 124 for which information (e.g., benefits information) may be displayed. When the user device first displays the multi-tab UI element, the first tab may be the active tab 124 by default. The user may subsequently change which tab 120 is the active tab 124, as described in more detail hereinafter. The active tab 124 may include the category name 126 in addition to the icon 122.
As further shown in
As shown in
As shown in
As shown by reference number 146, the processing system may determine benefit information related to the selected action and based on the user information and/or interaction data. For example, if the selected action is to “Make a Reservation”, then the benefit information may include a list of restaurants based on the on the user information and/or interaction data, such as restaurants at which the user has previously dined (e.g., within a threshold time frame, such as within the past year), similar types of restaurants (e.g., type of cuisine and/or price point), and/or near the user's geographic location (e.g., within a threshold distance, such as 10 miles). The processing system may obtain the benefit information from a third party server and/or database of information related to the action and/or category. As shown by reference number 148, the processing system may transmit data corresponding to the benefit information to the user device. As shown by reference number 150, the user device may display the benefit information as part of the multi-tab UI element.
In some implementations, the processing system may use a machine learning model to determine the benefit information. For example, the machine learning model may be a supervised machine learning model trained based on the interaction data (e.g., interaction amounts, third party identifiers, geographic location of the user) obtained from the user profile database. Additionally, or alternatively, the machine learning model may be an unsupervised machine learning model trained based on one or more clusters of users that have similar interactions and/or demographic information of the user (e.g., age range, income range, or sex).
Using the techniques described herein, a user device may present, on a UI, a multi-tab UI element that provides user-friendly visualization that aggregates comparative information to enable a user to efficiently gain insights about the user's account(s). Additionally, the multi-tab UI element dynamically presents the information to the user, as the visualization changes for the user based on changes in the user's account information (e.g., interaction data). Further, the multi-tab UI element, as presented on the user device, is unique and personalized to each user as the multi-tab UI element is based on each user's personal account information (e.g., interaction data).
As indicated above,
The processing system 210 includes one or more devices capable of receiving, generating, storing, processing, providing, and/or routing information associated with presentation and control of user interaction with a multi-tab user interface element, as described elsewhere herein. The processing system 210 may include a communication device and/or a computing device. For example, the processing system 210 may include a server, such as an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware), or a server in a cloud computing system. In some implementations, the processing system 210 includes computing hardware used in a cloud computing environment.
The user profile database 220 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with presentation and control of user interaction with a multi-tab user interface element, as described elsewhere herein. The user profile database 220 may include a communication device and/or a computing device. For example, the user profile database 220 may include a data structure, a database, a data source, a server, a database server, an application server, a client server, a web server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware), a server in a cloud computing system, a device that includes computing hardware used in a cloud computing environment, or a similar type of device. As an example, the user profile database 220 may store information associated with an account of a user, such as interaction data associated with interactions between the user and a third party, as described elsewhere herein.
The user device 230 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with presentation and control of user interaction with a multi-tab user interface element, as described elsewhere herein. The user device 230 may include a communication device and/or a computing device. For example, the user device 230 may include a wireless communication device, a mobile phone, a user equipment, a laptop computer, a tablet computer, a desktop computer, a gaming console, a set-top box, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, a head mounted display, or a virtual reality headset), or a similar type of device.
The terminal 240 includes one or more devices capable of facilitating an electronic transaction. For example, the terminal 240 may include a point-of-sale (PoS) terminal, a payment terminal (e.g., a credit card terminal, a contactless payment terminal, a mobile credit card reader, or a chip reader), and/or an automated teller machine (ATM). The terminal 240 may include one or more input components and/or one or more output components to facilitate obtaining data (e.g., account information) from a transaction device (e.g., a transaction card, a mobile device executing a payment application, or the like) and/or to facilitate interaction with and/or authorization from an owner or accountholder of the transaction device. Example input components of the terminal 240 include a number keypad, a touchscreen, a magnetic stripe reader, a chip reader, and/or a radio frequency (RF) signal reader (e.g., a near-field communication (NFC) reader). Example output devices of terminal 240 include a display and/or a speaker.
The network 250 includes one or more wired and/or wireless networks. For example, the network 250 may include a wireless wide area network (e.g., a cellular network or a public land mobile network), a local area network (e.g., a wired local area network or a wireless local area network (WLAN), such as a Wi-Fi network), a personal area network (e.g., a Bluetooth network), a near-field communication network, a telephone network, a private network, the Internet, and/or a combination of these or other types of networks. The network 250 enables communication among the devices of environment 200.
The number and arrangement of devices and networks shown in
Bus 310 includes one or more components that enable wired and/or wireless communication among the components of device 300. Bus 310 may couple together two or more components of
Memory 330 includes volatile and/or nonvolatile memory. For example, memory 330 may include random access memory (RAM), read only memory (ROM), a hard disk drive, and/or another type of memory (e.g., a flash memory, a magnetic memory, and/or an optical memory). Memory 330 may include internal memory (e.g., RAM, ROM, or a hard disk drive) and/or removable memory (e.g., removable via a universal serial bus connection). Memory 330 may be a non-transitory computer-readable medium. Memory 330 stores information, instructions, and/or software (e.g., one or more software applications) related to the operation of device 300. In some implementations, memory 330 includes one or more memories that are coupled to one or more processors (e.g., processor 320), such as via bus 310.
Input component 340 enables device 300 to receive input, such as user input and/or sensed input. For example, input component 340 may include a touch screen, a keyboard, a keypad, a mouse, a button, a microphone, a switch, a sensor, a global positioning system sensor, an accelerometer, a gyroscope, and/or an actuator. Output component 350 enables device 300 to provide output, such as via a display, a speaker, and/or a light-emitting diode. Communication component 360 enables device 300 to communicate with other devices via a wired connection and/or a wireless connection. For example, communication component 360 may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and/or an antenna.
Device 300 may perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 330) may store a set of instructions (e.g., one or more instructions or code) for execution by processor 320. Processor 320 may execute the set of instructions to perform one or more operations or processes described herein. In some implementations, execution of the set of instructions, by one or more processors 320, causes the one or more processors 320 and/or the device 300 to perform one or more operations or processes described herein. In some implementations, hardwired circuitry is used instead of or in combination with the instructions to perform one or more operations or processes described herein. Additionally, or alternatively, processor 320 may be configured to perform one or more operations or processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The number and arrangement of components shown in
As shown in
Although
As shown in
Although
As shown in
Although
The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Modifications may be made in light of the above disclosure or may be acquired from practice of the implementations.
As used herein, the term “component” is intended to be broadly construed as hardware, firmware, or a combination of hardware and software. It will be apparent that systems and/or methods described herein may be implemented in different forms of hardware, firmware, and/or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods are described herein without reference to specific software code—it being understood that software and hardware can be used to implement the systems and/or methods based on the description herein.
As used herein, satisfying a threshold may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, or the like.
Although particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set. As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiple of the same item.
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Further, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and may be used interchangeably with “the one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items), and may be used interchangeably with “one or more.” Where only one item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and/or,” unless explicitly stated otherwise (e.g., if used in combination with “either” or “only one of”).