US10776243B1 - Prediction tool - Google Patents

Prediction tool Download PDF

Info

Publication number
US10776243B1
US10776243B1 US16/357,497 US201916357497A US10776243B1 US 10776243 B1 US10776243 B1 US 10776243B1 US 201916357497 A US201916357497 A US 201916357497A US 10776243 B1 US10776243 B1 US 10776243B1
Authority
US
United States
Prior art keywords
action
link
user
score
date
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US16/357,497
Other versions
US20200301806A1 (en
Inventor
Sarabjeet Singh Kochar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of America Corp
Original Assignee
Bank of America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of America Corp filed Critical Bank of America Corp
Priority to US16/357,497 priority Critical patent/US10776243B1/en
Assigned to BANK OF AMERICA CORPORATION reassignment BANK OF AMERICA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KOCHAR, SARABJEET SINGH
Priority to US16/996,104 priority patent/US11144426B2/en
Application granted granted Critical
Publication of US10776243B1 publication Critical patent/US10776243B1/en
Publication of US20200301806A1 publication Critical patent/US20200301806A1/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Definitions

  • This disclosure relates generally to user interfaces.
  • Users typically interact with computers and mobile devices through user interfaces presented on a display of these devices. Users view information presented in these interfaces (e.g., windows, menus, pages, etc.) and then provide input to the computer or mobile device through input devices (e.g., keyboard, mouse, touchscreen, etc.). The input can correspond to selection, activation, and/or responses to the information in these interfaces. By providing input, users can cause various actions to be performed in an underlying system.
  • information presented in these interfaces e.g., windows, menus, pages, etc.
  • input devices e.g., keyboard, mouse, touchscreen, etc.
  • the input can correspond to selection, activation, and/or responses to the information in these interfaces.
  • users can cause various actions to be performed in an underlying system.
  • users may need to navigate through several layers of the interface before being able to perform a desired action.
  • a user may need to navigate through one or more menus and several different pages before being allowed to provide input that performs those actions.
  • a user who wants to pay a bill may need to first navigate to an account page, pull down a payments menu, select a bill, and then pay the bill.
  • a user who wants to transfer funds to a secondary account may need to first navigate to a source account page, pull down a transfer menu, select a destination account, and then transfer the funds.
  • the user ends up performing three or four different operations to perform one action. Each operation causes the system to load different pages and/or elements. If the user performs these actions regularly or periodically (e.g., monthly), then the user ends up spending significant time performing these intermediary operations and significant system resources (e.g., processing resources, network bandwidth, etc.) are expended loading intermediary pages and menus.
  • This disclosure contemplates a prediction tool that analyzes a history of a user's actions and predicts what action the user is likely to perform.
  • the prediction tool then presents a shortcut (e.g., a link) to the user that allows the user to quickly perform the predicted action without having to navigate extra menu or pages.
  • a shortcut e.g., a link
  • the prediction tool conserves system resources by reducing the amount of processing resources and network bandwidth used to retrieve menus and pages. Additionally, the prediction tool reduces the amount of time a user spends navigating menus and pages to perform actions. Certain embodiments of the prediction tool are described below.
  • an apparatus includes a memory and processing circuitry.
  • the memory stores a log for a user account.
  • the log includes a first action performed by a user of the user account, a first date on which the first action was performed, a second action performed by the user of the user account, a second date on which the second action was performed, a third action performed by the user of the user account, and a third date on which the third action was performed.
  • the processing circuitry receives a confirmation that a login occurred for the user account, determines, based on the confirmation, a time of the login, determines, based on the time of the login and the first date, a first score for the first action, determines, based on the time of the login and the second date, a second score for the second action, and determines, based on the time of the login and the third date, a third score for the third action.
  • the prediction tool then predicts, based on the first score, the second score, and the third score, that the first action is more likely to be performed than the second action and the third action.
  • the prediction tool presents, on a display, a first link that when activated, causes the first action to be performed.
  • a method includes storing, by a memory, a log for a user account.
  • the log includes a first action performed by a user of the user account, a first date on which the first action was performed, a second action performed by the user of the user account, a second date on which the second action was performed, a third action performed by the user of the user account, and a third date on which the third action was performed.
  • the method also includes receiving, by processing circuitry communicatively coupled to the memory, a confirmation that a login occurred for the user account, determining, by the processing circuitry, based on the confirmation, a time of the login, determining, by the processing circuitry, based on the time of the login and the first date, a first score for the first action, determining, by the processing circuitry, based on the time of the login and the second date, a second score for the second action, and determining, by the processing circuitry, based on the time of the login and the third date, a third score for the third action.
  • the method further includes predicting, by the processing circuitry, based on the first score, the second score, and the third score, that the first action is more likely to be performed than the second action and the third action, and in response to the prediction that the first action is more likely to be performed than the second action and the third action, presenting, on a display, a first link that when activated, causes the first action to be performed.
  • a system includes a device and a prediction tool.
  • the device includes a display.
  • the prediction tool includes a memory and processing circuitry.
  • the prediction tool stores a log for a user account.
  • the log includes a first action performed by a user of the user account, a first date on which the first action was performed, a second action performed by the user of the user account, a second date on which the second action was performed, a third action performed by the user of the user account, and a third date on which the third action was performed.
  • the prediction tool receives a confirmation that a login occurred for the user account, determines, based on the confirmation, a time of the login, determines, based on the time of the login and the first date, a first score for the first action, determines, based on the time of the login and the second date, a second score for the second action, and determines, based on the time of the login and the third date, a third score for the third action.
  • the prediction tool then predicts, based on the first score, the second score, and the third score, that the first action is more likely to be performed than the second action and the third action, and in response to the prediction that the first action is more likely to be performed than the second action and the third action, present, on the display, a first link that when activated, causes the first action to be performed.
  • an embodiment conserves system resources by reducing the amount of processing resources and network bandwidth used to retrieve menus and pages. As another example, an embodiment reduces the amount of time a user spends navigating menus and pages to perform actions. Certain embodiments may include none, some, or all of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein.
  • FIG. 1 illustrates an example system
  • FIG. 2 illustrates an example prediction tool of the system of FIG. 1 ;
  • FIGS. 3A-3C illustrate an example device of the system of FIG. 1 ;
  • FIG. 4 is a flowchart illustrating a method for predicting actions using the system of FIG. 1 .
  • FIGS. 1 through 4 of the drawings like numerals being used for like and corresponding parts of the various drawings.
  • Users typically interact with computers and mobile devices through user interfaces presented on a display of these devices. Users view information presented in these interfaces (e.g., windows, menus, pages, etc.) and then provide input to the computer or mobile device through input devices (e.g., keyboard, mouse, touchscreen, etc.). The input can correspond to selection, activation, and/or responses to the information in these interfaces. By providing input, users can cause various actions to be performed in an underlying system.
  • information presented in these interfaces e.g., windows, menus, pages, etc.
  • input devices e.g., keyboard, mouse, touchscreen, etc.
  • the input can correspond to selection, activation, and/or responses to the information in these interfaces.
  • users can cause various actions to be performed in an underlying system.
  • users may need to navigate through several layers of the interface before being able to perform a desired action.
  • a user may need to navigate through one or more menus and several different pages before being allowed to provide input that performs those actions.
  • a user who wants to pay a bill may need to first navigate to an account page, pull down a payments menu, select a bill, and then pay the bill.
  • a user who wants to transfer funds to a secondary account may need to first navigate to a source account page, pull down a transfer menu, select a destination account, and then transfer the funds.
  • the user ends up performing three or four different operations to perform one action. Each operation causes the system to load different pages and/or elements. If the user performs these actions regularly or periodically (e.g., monthly), then the user ends up spending significant time performing these intermediary operations and significant system resources (e.g., processing resources, network bandwidth, etc.) are expended loading intermediary pages and menus.
  • This disclosure contemplates a prediction tool that analyzes a history of a user's actions and predicts what action the user is likely to perform.
  • the prediction tool then presents a shortcut (e.g., a link) to the user that allows the user to quickly perform the predicted action without having to navigate extra menu or pages.
  • a shortcut e.g., a link
  • the prediction tool conserves system resources by reducing the amount of processing resources and network bandwidth used to retrieve menus and pages. Additionally, the prediction tool reduces the amount of time a user spends navigating menus and pages to perform actions.
  • FIGS. 1 through 4 The system and the prediction tool will be described in more detail using FIGS. 1 through 4 .
  • FIG. 1 illustrates an example system 100 .
  • system 100 includes one or more devices 110 , a network 115 , and a prediction tool 120 .
  • system 100 predicts the actions that a user 105 is likely to perform and presents shortcuts and/or links for the user to perform the predicted action.
  • system 100 reduces the processing resources and/or network bandwidth used to retrieve menus and pages that the user would otherwise navigate to perform a desired action.
  • system 100 reduces the amount of time a user spends navigating menus and pages to perform actions.
  • User 105 uses device 110 to perform actions in system 100 .
  • user 105 may interact with an application executed by device 110 to perform actions on device 110 .
  • This disclosure contemplates user 105 using device 110 to perform any suitable action.
  • user 105 may use device 110 to check email, send messages, pay bills, transfer funds, and/or check information.
  • the application executed by device 110 may require user 105 to navigate several menus and/or pages to perform a desired action.
  • device 110 expends processor and/or network resources to retrieve and/or load menus and/or pages for user 105 .
  • User 105 also spends additional time navigating menus and/or pages, so that user 105 can perform the desired action.
  • user 105 may need to navigate a main menu and select a link for paying bills. Then, after a bill paying page loads, user 105 may need to select the bill that user 105 wants to pay. Then, after a page loads for that specific bill, user 105 may need to confirm payment. Retrieving and loading each of these pages uses processing and network resources as well as the user's time.
  • Devices 110 include any appropriate device for communicating with components of system 100 over network 115 .
  • devices 110 may be a telephone, a mobile phone, a computer, a laptop, a tablet, an automated assistant, and/or a cash register.
  • This disclosure contemplates device 110 being any appropriate device for sending and receiving communications over network 115 .
  • device 110 may be a computer, a laptop, a wireless or cellular telephone, an electronic notebook, a personal digital assistant, a tablet, or any other device capable of receiving, processing, storing, and/or communicating information with other components of system 100 .
  • Device 110 may also include a user interface, such as a display, a microphone, keypad, or other appropriate terminal equipment usable by user 105 .
  • an application executed by device 110 may perform the functions described herein.
  • Network 115 facilitates communication between and amongst the various components of system 100 .
  • This disclosure contemplates network 115 being any suitable network operable to facilitate communication between the components of system 100 .
  • Network 115 may include any interconnecting system capable of transmitting audio, video, signals, data, messages, or any combination of the preceding.
  • Network 115 may include all or a portion of a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a local, regional, or global communication or computer network, such as the Internet, a wireline or wireless network, an enterprise intranet, or any other suitable communication link, including combinations thereof, operable to facilitate communication between the components.
  • PSTN public switched telephone network
  • LAN local area network
  • MAN metropolitan area network
  • WAN wide area network
  • Prediction tool 120 predicts the actions that user 105 is likely to perform and presents links and/or shortcuts for user 105 to quickly perform those actions. As seen in FIG. 1 , prediction tool 120 includes processing circuitry 125 and memory 130 . This disclosure contemplates processing circuitry 125 and memory 130 being configured to perform any of the functions of prediction tool 120 described herein. In particular embodiments, prediction tool 120 reduces the processing and network resources used to retrieve and/or load menus and/or pages when a user 105 desires to perform an action on device 110 .
  • Processing circuitry 125 is any electronic circuitry, including, but not limited to microprocessors, application specific integrated circuits (ASIC), application specific instruction set processor (ASIP), and/or state machines, that communicatively couples to memory 130 and controls the operation of prediction tool 120 .
  • Processing circuitry 125 may be 8-bit, 16-bit, 32-bit, 64-bit or of any other suitable architecture.
  • Processing circuitry 125 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components.
  • ALU arithmetic logic unit
  • Processing circuitry 125 may include other hardware that operates software to control and process information. Processing circuitry 125 executes software stored on memory to perform any of the functions described herein. Processing circuitry 125 controls the operation and administration of prediction 120 by processing information received from devices 110 , network 115 , and memory 130 . Processing circuitry 125 may be a programmable logic device, a microcontroller, a microprocessor, any suitable processing device, or any suitable combination of the preceding. Processing circuitry 125 is not limited to a single processing device and may encompass multiple processing devices.
  • Memory 130 may store, either permanently or temporarily, data, operational software, or other information for processing circuitry 125 .
  • Memory 130 may include any one or a combination of volatile or non-volatile local or remote devices suitable for storing information.
  • memory 130 may include random access memory (RAM), read only memory (ROM), magnetic storage devices, optical storage devices, or any other suitable information storage device or a combination of these devices.
  • the software represents any suitable set of instructions, logic, or code embodied in a computer-readable storage medium.
  • the software may be embodied in memory 130 , a disk, a CD, or a flash drive.
  • the software may include an application executable by processing circuitry 125 to perform one or more of the functions described herein.
  • Prediction tool 120 stores a log 135 in memory 130 .
  • Log 135 includes a history of actions performed by user 105 and other users in system 100 .
  • Log 135 may include information, such as the action performed by a user and a date or time when the action was performed.
  • Prediction tool 120 uses log 135 to determine what actions a user 105 is likely to perform at a given time.
  • Prediction tool 120 updates log 135 when a user performs an action so that log 135 includes a record of the performed action.
  • Log 135 may also include indicators of when certain actions were performed correctly or incorrectly by prediction tool 120 . These indicators can be used by prediction tool 120 to more accurately predict desired actions in the future.
  • log 135 may include a history of scores used in predicting actions, as described below.
  • user 105 may be linked to a user account.
  • Prediction tool 120 identifies user 105 through the user account. Prediction tool 120 also uses the user account to predict what actions are likely to be performed by the user 105 . For example, entries or records in log 135 may be grouped by user account.
  • User 105 may access the user account by logging in to the user account. For example, user 105 may provide a username, password, biometric authenticators, and/or other information linked to the user account. After user 105 has accessed the user account, user 105 may be allowed to perform actions on device 110 that pertain to the user account.
  • Prediction tool 120 receives a confirmation 140 .
  • Confirmation 140 may indicate that user 105 has connected to an application that uses prediction tool 120 .
  • confirmation 140 may indicate that user 105 has logged into a user account using an application on device 110 .
  • confirmation 140 may indicate that user 105 has launched an application on device 110 .
  • Prediction tool 120 may predict actions that are likely to be performed by user 105 in response to receiving confirmation 140 .
  • Confirmation 140 may also indicate a date and/or time when user 105 connected to the application.
  • An example algorithm for receiving confirmation 140 is as follows: wait for an incoming message, receive an incoming message over network 115 , determine that the incoming message is a confirmation 140 .
  • scores 145 indicate the likelihood that particular actions in log 135 will be performed by user 105 . Scores 145 may correlate to the time of confirmation 140 .
  • confirmation 140 may indicate a time of user login or a time that an application was launched. That time may be used by prediction tool 120 to generate scores 145 for actions indicated by log 135 .
  • An example algorithm for generating scores 145 is as follows: determine a user or user account from confirmation 140 , determine a time from confirmation 140 , determine an action from log 135 that is tied to the user account, determine a score for the action based on a time linked to the action in log 135 and the time from confirmation 140 .
  • Prediction tool 120 determines an action 150 that is most likely to be performed by user 105 based on scores 145 .
  • action 150 has a score 145 that is higher than the scores 145 for other actions indicated by log 135 .
  • prediction tool 120 can predict that user 105 is likely to perform action 150 .
  • An example algorithm for determining action 150 is as follows: rank actions from log 135 for a particular user account based on the scores 145 for each action, determine the action with the highest score 145 , select the action with the highest score 145 .
  • Prediction tool 120 generates a link 155 to perform action 150 .
  • Prediction tool 120 may communicate link 155 to device 110 .
  • Device 110 may then present link 155 to user 105 .
  • link 155 By activating link 155 , user 105 may cause action 150 to be performed. In this manner, user 105 does not need to navigate menus and/or pages to perform action 150 . Instead, user 105 can cause action 150 to be performed by activating link 155 .
  • An example algorithm for generating and communicating link 155 is as follows: determine the action 150 that is most likely to be performed by user 105 , create a link 155 that causes action 150 to be performed when the link 155 is activated, package link 155 into a message, communicate the message over network 115 to device 110 .
  • Prediction tool 120 starts a timer 160 corresponding to link 155 .
  • Timer 160 indicates the amount of time that has transpired since prediction tool 120 generated and/or communicated link 155 to device 110 .
  • Prediction tool 120 may start timer 160 at any suitable time, such as for example, when link 155 is generated and/or when link 155 is communicated to device 110 .
  • prediction tool 120 and/or device 110 may cause link 155 to fade on device 110 .
  • prediction tool 120 may gradually reduce the score 155 for action 150 as timer 160 progresses. In this manner, prediction tool 120 determines that the determined action 150 is less likely to be performed the longer that link 155 is presented to user 105 and the user 105 does not activate link 155 .
  • timer 160 stops when user 105 activates link 155 .
  • prediction tool 120 determines another action 150 and generates another link 155 if timer 160 exceeds a certain limit and/or threshold.
  • An example algorithm for timer 160 is as follows: communicate link 155 to device 110 , start a timer 160 , reduce score 145 as timer 160 progresses, determine whether timer 160 has exceeded a threshold, if timer 160 has exceeded a threshold, determine another action 150 and generate another link 155 .
  • FIG. 2 illustrates an example prediction tool 120 of the system 100 of FIG. 1 .
  • prediction tool 120 maintains a log 135 .
  • Log 135 is used with confirmation 140 to generate scores 145 .
  • Scores 145 are then used to generate a link 155 .
  • a timer 160 is used after link 155 has been communicated to a device.
  • prediction tool 120 reduces the amount processing resources and network bandwidth used to retrieve and/or load menus and pages for a user to perform a desired action.
  • prediction tool 120 reduces the amount of time a user spends navigating menus and pages to perform a desired action.
  • Log 135 stores a history of actions performed by users. In some embodiments, the actions in log 135 are grouped by user accounts of different users. Log 135 also indicates a date and/or time when particular actions were performed. In the illustrated example of FIG. 2 , log 135 includes three actions: action 1 , action 2 , and action 3 . These actions may be different from each other. Log 135 also includes a time and a date when each action was performed. As seen in FIG. 2 , action 1 was performed on February 1st at two o'clock. Action 2 was performed on February 15th at five o'clock. Action 3 was performed on February 16th at eight o'clock. When a user performs an action, prediction tool 120 adds the action, along with the date and time when that action was performed, to log 135 . In this manner, log 135 tracks the actions that have been performed in system 100 .
  • Prediction tool 120 receives a confirmation 140 .
  • Confirmation 140 may indicate that a user has performed a certain action to connect with prediction tool 120 .
  • confirmation 140 may indicate that a user has logged in using the user's device.
  • confirmation 140 may indicate that a user has launched an application using the user's device.
  • confirmation 140 indicates that a login has occurred.
  • Confirmation 140 also indicates a time and a date of the login. This disclosure contemplates confirmation 140 indicating any appropriate event.
  • confirmation 140 may indicate that a user has launched an application, along with the date and time when the user launched the application.
  • Confirmation 140 may also indicate a user account for a user.
  • Prediction tool 120 may use the user account information to retrieve the actions in log 135 that correspond to that user account.
  • Prediction tool 120 determines scores 145 for actions in log 135 based on information in confirmation 140 . In some embodiments, prediction tool 120 determines scores 145 for actions that correspond to a particular user account indicated by confirmation 140 . Prediction tool 120 may score actions in log 135 based on the date and time in confirmation 140 . For example, if the date and/or time in confirmation 140 corresponds with the date of an action in log 135 , then that action may receive a higher score. Conversely, if the date and/or time in confirmation 140 does not correspond to a date and/or time in log 135 , then an action may receive a lower score. In the illustrated example of FIG.
  • prediction tool 120 determines that action 1 has a score of 10, action 2 has a score of 2, and action 3 has a score of 5. In some embodiments, these scores 145 may indicate that action 1 is more likely to be performed by the user than actions 2 and 3 . Likewise, the scores 145 indicate that action 3 is more likely to be performed by the user than action 2 . Based on these scores 145 , prediction tool 120 may determine that action 1 should be selected as the predicted action.
  • action 1 may be paying a mortgage.
  • Log 135 may indicate that a user pays the mortgage on the first date of every month.
  • Action 2 may be paying a credit card bill.
  • Log 135 may indicate that a user pays the credit card bill on the 15th of every month.
  • action 3 may be a balance transfer.
  • Log 135 may indicate that a user tends to perform a balance transfer around 8 o'clock in the evening. The user may login at a particular date and time. If the user logs in on the first day of the month, such as for example, March 1st, prediction tool 120 may examine log 135 and determine that because the user tends to pay the mortgage on the first day of the month, that the user is likely logging in to pay the mortgage.
  • prediction tool 120 may assign a high score to action 1 .
  • the user may have logged in in the evening.
  • prediction tool 120 may determine that because the user tends to perform balance transfers in the evening, that the user may be logging in to perform a balance transfer.
  • prediction tool 120 may assign a higher score to action 3 .
  • action 1 receives a higher score than action 3 .
  • Prediction tool 120 selects the action that is most likely to be performed (e.g., the action with the highest score 145 ) as the predicted action. In the illustrated example of FIG. 2 , prediction tool 120 selects action 1 as the predicted action because action 1 has a higher score 145 than actions 2 and 3 . In some embodiments, prediction tool 120 may select the action with the lowest score rather than the highest score. After prediction tool 120 selects an action, prediction tool 120 generates a link 155 . Link 155 may cause the predicted action to be performed when a user activates link 155 . Prediction tool 120 communicates link 155 to a device of the user. Link 155 may be visible to the user. The user may activate link 155 to cause the predicted action to be performed.
  • Link 155 may cause the predicted action to be performed.
  • prediction tool 120 After link 155 is generated and/or communicated, prediction tool 120 starts a timer 160 . Prediction tool 120 may stop timer 160 when link 155 is activated. As timer 160 progresses, prediction tool 120 may determine that the user has not activated link 155 for a certain period of time. The longer the user does not activate link 155 , prediction tool 120 may determine that the predicted action is less likely to be correct. As a result, prediction tool 120 may cause certain actions to be performed as timer 160 progresses. For example, prediction tool 120 may cause link 155 to fade on the display of the device of the user as timer 160 progresses. As another example, prediction tool 120 may gradually reduce the score of the selected action as timer 160 progresses.
  • prediction tool 120 may generate a new link 155 for the action with the new highest score. Prediction tool 120 may then communicate the new link 155 to the device so that the user can activate the new link 155 to cause the new predicted action to be performed.
  • prediction tool 120 can update log 135 based on how the user interacts with link 155 . For example, if the user activates link 155 , thus indicating that the predicted action was correct, prediction tool 120 may indicate in log 135 that the action was predicted correctly and thus should receive a higher score in the future. Conversely, if the user does not activate link 155 , prediction tool 120 may update log 135 to indicate that the action was predicted incorrectly and, in the future, should receive a lower score. In some embodiments, log 135 may track a record of scores for certain actions. Prediction tool 120 may use this record of scores to generate future scores 145 .
  • prediction tool 120 may score that action lower. In this manner, the record of scores allows prediction tool 120 to take corrective action and to improve the accuracy of future predictions.
  • prediction tool 120 may return to scores 145 to determine the action that is next most likely to be performed by the user. In the illustrated example of FIG. 2 , if the link 155 for action 1 is not activated, prediction tool 120 may determine that action 3 is more likely to be performed than action 2 . In response, prediction tool 120 may generate link 155 that causes action 3 to be performed when activated by the user. Prediction tool 120 then communicates the link 155 for action 3 to the device of the user. The link 155 for action 3 may then replace the link 155 for action 1 on the display of the device of the user. The user may then activate the link 155 for action 3 to cause action 3 to be performed.
  • FIG. 3A illustrates and example device 110 of the system 100 of FIG. 1 .
  • device 110 is executing an application 305 that presents a message on the screen that says “hello”.
  • Application 305 also presents a message 310 that indicates an action to be performed.
  • message 310 is a link 155 .
  • Message 310 may indicate that activating link 155 performs a particular action.
  • message 310 indicates that activation of link 155 performs action 1 .
  • the user may activate link 155 , such as for example, by tapping link 155 on the display of device 110 . If the user activates link 155 , device 110 may cause action 1 to be performed.
  • FIG. 3B illustrates an example device 110 of the system 100 of FIG. 1 .
  • message 310 fades if the user does not activate link 155 .
  • Message 310 may fade gradually the longer the user does not activate link 155 .
  • the fading represents an indication that action 1 is less likely to be the correctly predicted action.
  • message 310 may fade completely from the display of device 110 .
  • the fading of message 310 is shown in FIG. 3B using dashed lines.
  • Link 155 is also shown as fading through a lighter font.
  • FIG. 3C illustrates an example device 110 of the system 100 of FIG. 1 .
  • application 305 presents a new message 310 to the user.
  • Message 310 indicates that activation of link 155 causes action 3 to be performed.
  • device 110 presents the message 310 of FIG. 3C after the message 310 of FIG. 3B has faded and/or has been removed from the display of device 110 .
  • Message 310 in FIG. 3C may indicate a determination that action 3 is the next most likely to be performed action after action 1 .
  • the user may activate link 155 in FIG. 3C to cause action 3 to be performed.
  • FIG. 4 is a flow chart illustrating a method 400 for predicting actions using the system 100 of FIG. 1 .
  • prediction tool 120 performs the steps of method 400 .
  • prediction tool 120 reduces the processing and network resources used to retrieve and/or load menus and/or pages that a user navigates to perform a desired action.
  • Prediction tool 120 begins by storing a log for a user account in step 405 .
  • prediction tool 120 receives a confirmation that login occurred for the user account.
  • Prediction tool 120 determines the time of the login in step 415 .
  • Prediction tool 120 determines a first score for a first action in step 420 .
  • prediction tool 120 determines a second score for a second action.
  • Prediction tool 120 determines a third score for a third action in step 430 .
  • prediction tool 120 may determine a score based on a date and time indicated by the log, and a date and time indicated by the confirmation.
  • prediction tool 120 predicts that the first action is more likely to be performed than the second and third actions. Prediction tool 120 may make this determination by comparing the scores for each of these actions.
  • the action with the highest score is selected by prediction tool 120 as the action that is more likely to be performed than the other actions.
  • Prediction tool 120 presents on the display a first link that, when activated, causes the first action to be performed in step 440 .
  • a user may activate this link to cause the first action to be performed.
  • the first link may begin to fade on the display of the device until the first link is completely removed from the display.
  • prediction tool 120 may generate and communicate a second link that causes another action to be performed when the second link is activated.
  • prediction tool 120 updates the first score and the log.
  • prediction tool 120 updates the first score based on how the user interacts with the first link. For example, if the user activates the first link, prediction tool 120 may increase the first score indicating that the prediction was correct. If the user does not activate the first link, prediction tool 120 may decrease the first score indicating that the prediction was incorrect. After the first score is updated, prediction tool 120 may update the log to indicate whether the prediction was correct or not. This update to the log will allow future predictions to score the first action higher if the prediction was correct or lower if the prediction was incorrect.
  • Method 400 may include more, fewer, or other steps. For example, steps may be performed in parallel or in any suitable order. While discussed as messaging tool 120 performing the steps, any suitable component of system 100 , such as device(s) 110 for example, may perform one or more steps of the methods.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

An apparatus includes a memory and processing circuitry. The memory stores a log for a user account. The log includes a first action performed by a user and a first date on which the first action was performed, a second action performed by the user and a second date on which the second action was performed, and a third action performed by the user and a third date on which the third action was performed. The processing circuitry receives a confirmation that a login occurred for the user account, determines a time of the login and first, second, and third scores for the first, second, and third actions. The prediction tool predicts that the first action is more likely to be performed than the second and third actions. The prediction tool presents, on a display, a first link that when activated, causes the first action to be performed.

Description

TECHNICAL FIELD
This disclosure relates generally to user interfaces.
BACKGROUND
Users typically interact with computers and mobile devices through user interfaces presented on a display of these devices.
SUMMARY OF THE DISCLOSURE
Users typically interact with computers and mobile devices through user interfaces presented on a display of these devices. Users view information presented in these interfaces (e.g., windows, menus, pages, etc.) and then provide input to the computer or mobile device through input devices (e.g., keyboard, mouse, touchscreen, etc.). The input can correspond to selection, activation, and/or responses to the information in these interfaces. By providing input, users can cause various actions to be performed in an underlying system.
In many instances, users may need to navigate through several layers of the interface before being able to perform a desired action. For certain actions, a user may need to navigate through one or more menus and several different pages before being allowed to provide input that performs those actions. For example, a user who wants to pay a bill may need to first navigate to an account page, pull down a payments menu, select a bill, and then pay the bill. As another example, a user who wants to transfer funds to a secondary account may need to first navigate to a source account page, pull down a transfer menu, select a destination account, and then transfer the funds. In each instance, the user ends up performing three or four different operations to perform one action. Each operation causes the system to load different pages and/or elements. If the user performs these actions regularly or periodically (e.g., monthly), then the user ends up spending significant time performing these intermediary operations and significant system resources (e.g., processing resources, network bandwidth, etc.) are expended loading intermediary pages and menus.
This disclosure contemplates a prediction tool that analyzes a history of a user's actions and predicts what action the user is likely to perform. The prediction tool then presents a shortcut (e.g., a link) to the user that allows the user to quickly perform the predicted action without having to navigate extra menu or pages. In this manner, the prediction tool conserves system resources by reducing the amount of processing resources and network bandwidth used to retrieve menus and pages. Additionally, the prediction tool reduces the amount of time a user spends navigating menus and pages to perform actions. Certain embodiments of the prediction tool are described below.
According to an embodiment, an apparatus includes a memory and processing circuitry. The memory stores a log for a user account. The log includes a first action performed by a user of the user account, a first date on which the first action was performed, a second action performed by the user of the user account, a second date on which the second action was performed, a third action performed by the user of the user account, and a third date on which the third action was performed. The processing circuitry receives a confirmation that a login occurred for the user account, determines, based on the confirmation, a time of the login, determines, based on the time of the login and the first date, a first score for the first action, determines, based on the time of the login and the second date, a second score for the second action, and determines, based on the time of the login and the third date, a third score for the third action. The prediction tool then predicts, based on the first score, the second score, and the third score, that the first action is more likely to be performed than the second action and the third action. In response to the prediction that the first action is more likely to be performed than the second action and the third action, the prediction tool presents, on a display, a first link that when activated, causes the first action to be performed.
According to another embodiment, a method includes storing, by a memory, a log for a user account. The log includes a first action performed by a user of the user account, a first date on which the first action was performed, a second action performed by the user of the user account, a second date on which the second action was performed, a third action performed by the user of the user account, and a third date on which the third action was performed. The method also includes receiving, by processing circuitry communicatively coupled to the memory, a confirmation that a login occurred for the user account, determining, by the processing circuitry, based on the confirmation, a time of the login, determining, by the processing circuitry, based on the time of the login and the first date, a first score for the first action, determining, by the processing circuitry, based on the time of the login and the second date, a second score for the second action, and determining, by the processing circuitry, based on the time of the login and the third date, a third score for the third action. The method further includes predicting, by the processing circuitry, based on the first score, the second score, and the third score, that the first action is more likely to be performed than the second action and the third action, and in response to the prediction that the first action is more likely to be performed than the second action and the third action, presenting, on a display, a first link that when activated, causes the first action to be performed.
According to yet another embodiment, a system includes a device and a prediction tool. The device includes a display. The prediction tool includes a memory and processing circuitry. The prediction tool stores a log for a user account. The log includes a first action performed by a user of the user account, a first date on which the first action was performed, a second action performed by the user of the user account, a second date on which the second action was performed, a third action performed by the user of the user account, and a third date on which the third action was performed. The prediction tool receives a confirmation that a login occurred for the user account, determines, based on the confirmation, a time of the login, determines, based on the time of the login and the first date, a first score for the first action, determines, based on the time of the login and the second date, a second score for the second action, and determines, based on the time of the login and the third date, a third score for the third action. The prediction tool then predicts, based on the first score, the second score, and the third score, that the first action is more likely to be performed than the second action and the third action, and in response to the prediction that the first action is more likely to be performed than the second action and the third action, present, on the display, a first link that when activated, causes the first action to be performed.
Certain embodiments provide one or more technical advantages. For example, an embodiment conserves system resources by reducing the amount of processing resources and network bandwidth used to retrieve menus and pages. As another example, an embodiment reduces the amount of time a user spends navigating menus and pages to perform actions. Certain embodiments may include none, some, or all of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present disclosure, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
FIG. 1 illustrates an example system;
FIG. 2 illustrates an example prediction tool of the system of FIG. 1;
FIGS. 3A-3C illustrate an example device of the system of FIG. 1; and
FIG. 4 is a flowchart illustrating a method for predicting actions using the system of FIG. 1.
DETAILED DESCRIPTION
Embodiments of the present disclosure and its advantages are best understood by referring to FIGS. 1 through 4 of the drawings, like numerals being used for like and corresponding parts of the various drawings.
Users typically interact with computers and mobile devices through user interfaces presented on a display of these devices. Users view information presented in these interfaces (e.g., windows, menus, pages, etc.) and then provide input to the computer or mobile device through input devices (e.g., keyboard, mouse, touchscreen, etc.). The input can correspond to selection, activation, and/or responses to the information in these interfaces. By providing input, users can cause various actions to be performed in an underlying system.
In many instances, users may need to navigate through several layers of the interface before being able to perform a desired action. For certain actions, a user may need to navigate through one or more menus and several different pages before being allowed to provide input that performs those actions. For example, a user who wants to pay a bill may need to first navigate to an account page, pull down a payments menu, select a bill, and then pay the bill. As another example, a user who wants to transfer funds to a secondary account may need to first navigate to a source account page, pull down a transfer menu, select a destination account, and then transfer the funds. In each instance, the user ends up performing three or four different operations to perform one action. Each operation causes the system to load different pages and/or elements. If the user performs these actions regularly or periodically (e.g., monthly), then the user ends up spending significant time performing these intermediary operations and significant system resources (e.g., processing resources, network bandwidth, etc.) are expended loading intermediary pages and menus.
This disclosure contemplates a prediction tool that analyzes a history of a user's actions and predicts what action the user is likely to perform. The prediction tool then presents a shortcut (e.g., a link) to the user that allows the user to quickly perform the predicted action without having to navigate extra menu or pages. In this manner, the prediction tool conserves system resources by reducing the amount of processing resources and network bandwidth used to retrieve menus and pages. Additionally, the prediction tool reduces the amount of time a user spends navigating menus and pages to perform actions. The system and the prediction tool will be described in more detail using FIGS. 1 through 4.
FIG. 1 illustrates an example system 100. As shown in FIG. 1, system 100 includes one or more devices 110, a network 115, and a prediction tool 120. Generally, system 100 predicts the actions that a user 105 is likely to perform and presents shortcuts and/or links for the user to perform the predicted action. In particular embodiments, system 100 reduces the processing resources and/or network bandwidth used to retrieve menus and pages that the user would otherwise navigate to perform a desired action. In some embodiments, system 100 reduces the amount of time a user spends navigating menus and pages to perform actions.
User 105 uses device 110 to perform actions in system 100. For example, user 105 may interact with an application executed by device 110 to perform actions on device 110. This disclosure contemplates user 105 using device 110 to perform any suitable action. For example, user 105 may use device 110 to check email, send messages, pay bills, transfer funds, and/or check information. In some instances, the application executed by device 110 may require user 105 to navigate several menus and/or pages to perform a desired action. In these instances, device 110 expends processor and/or network resources to retrieve and/or load menus and/or pages for user 105. User 105 also spends additional time navigating menus and/or pages, so that user 105 can perform the desired action. For example, to pay a bill, user 105 may need to navigate a main menu and select a link for paying bills. Then, after a bill paying page loads, user 105 may need to select the bill that user 105 wants to pay. Then, after a page loads for that specific bill, user 105 may need to confirm payment. Retrieving and loading each of these pages uses processing and network resources as well as the user's time.
Devices 110 include any appropriate device for communicating with components of system 100 over network 115. For example, devices 110 may be a telephone, a mobile phone, a computer, a laptop, a tablet, an automated assistant, and/or a cash register. This disclosure contemplates device 110 being any appropriate device for sending and receiving communications over network 115. As an example and not by way of limitation, device 110 may be a computer, a laptop, a wireless or cellular telephone, an electronic notebook, a personal digital assistant, a tablet, or any other device capable of receiving, processing, storing, and/or communicating information with other components of system 100. Device 110 may also include a user interface, such as a display, a microphone, keypad, or other appropriate terminal equipment usable by user 105. In some embodiments, an application executed by device 110 may perform the functions described herein.
Network 115 facilitates communication between and amongst the various components of system 100. This disclosure contemplates network 115 being any suitable network operable to facilitate communication between the components of system 100. Network 115 may include any interconnecting system capable of transmitting audio, video, signals, data, messages, or any combination of the preceding. Network 115 may include all or a portion of a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a local, regional, or global communication or computer network, such as the Internet, a wireline or wireless network, an enterprise intranet, or any other suitable communication link, including combinations thereof, operable to facilitate communication between the components.
Prediction tool 120 predicts the actions that user 105 is likely to perform and presents links and/or shortcuts for user 105 to quickly perform those actions. As seen in FIG. 1, prediction tool 120 includes processing circuitry 125 and memory 130. This disclosure contemplates processing circuitry 125 and memory 130 being configured to perform any of the functions of prediction tool 120 described herein. In particular embodiments, prediction tool 120 reduces the processing and network resources used to retrieve and/or load menus and/or pages when a user 105 desires to perform an action on device 110.
Processing circuitry 125 is any electronic circuitry, including, but not limited to microprocessors, application specific integrated circuits (ASIC), application specific instruction set processor (ASIP), and/or state machines, that communicatively couples to memory 130 and controls the operation of prediction tool 120. Processing circuitry 125 may be 8-bit, 16-bit, 32-bit, 64-bit or of any other suitable architecture. Processing circuitry 125 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. Processing circuitry 125 may include other hardware that operates software to control and process information. Processing circuitry 125 executes software stored on memory to perform any of the functions described herein. Processing circuitry 125 controls the operation and administration of prediction 120 by processing information received from devices 110, network 115, and memory 130. Processing circuitry 125 may be a programmable logic device, a microcontroller, a microprocessor, any suitable processing device, or any suitable combination of the preceding. Processing circuitry 125 is not limited to a single processing device and may encompass multiple processing devices.
Memory 130 may store, either permanently or temporarily, data, operational software, or other information for processing circuitry 125. Memory 130 may include any one or a combination of volatile or non-volatile local or remote devices suitable for storing information. For example, memory 130 may include random access memory (RAM), read only memory (ROM), magnetic storage devices, optical storage devices, or any other suitable information storage device or a combination of these devices. The software represents any suitable set of instructions, logic, or code embodied in a computer-readable storage medium. For example, the software may be embodied in memory 130, a disk, a CD, or a flash drive. In particular embodiments, the software may include an application executable by processing circuitry 125 to perform one or more of the functions described herein.
Prediction tool 120 stores a log 135 in memory 130. Log 135 includes a history of actions performed by user 105 and other users in system 100. Log 135 may include information, such as the action performed by a user and a date or time when the action was performed. Prediction tool 120 uses log 135 to determine what actions a user 105 is likely to perform at a given time. Prediction tool 120 updates log 135 when a user performs an action so that log 135 includes a record of the performed action. Log 135 may also include indicators of when certain actions were performed correctly or incorrectly by prediction tool 120. These indicators can be used by prediction tool 120 to more accurately predict desired actions in the future. For example, log 135 may include a history of scores used in predicting actions, as described below.
In some embodiments, user 105 may be linked to a user account. Prediction tool 120 identifies user 105 through the user account. Prediction tool 120 also uses the user account to predict what actions are likely to be performed by the user 105. For example, entries or records in log 135 may be grouped by user account. User 105 may access the user account by logging in to the user account. For example, user 105 may provide a username, password, biometric authenticators, and/or other information linked to the user account. After user 105 has accessed the user account, user 105 may be allowed to perform actions on device 110 that pertain to the user account.
Prediction tool 120 receives a confirmation 140. Confirmation 140 may indicate that user 105 has connected to an application that uses prediction tool 120. For example, confirmation 140 may indicate that user 105 has logged into a user account using an application on device 110. As another example, confirmation 140 may indicate that user 105 has launched an application on device 110. Prediction tool 120 may predict actions that are likely to be performed by user 105 in response to receiving confirmation 140. Confirmation 140 may also indicate a date and/or time when user 105 connected to the application. An example algorithm for receiving confirmation 140 is as follows: wait for an incoming message, receive an incoming message over network 115, determine that the incoming message is a confirmation 140.
In response to receiving confirmation 140, prediction tool 120 uses information in log 135 to produce scores 145. Scores 145 indicate the likelihood that particular actions in log 135 will be performed by user 105. Scores 145 may correlate to the time of confirmation 140. For example, confirmation 140 may indicate a time of user login or a time that an application was launched. That time may be used by prediction tool 120 to generate scores 145 for actions indicated by log 135. An example algorithm for generating scores 145 is as follows: determine a user or user account from confirmation 140, determine a time from confirmation 140, determine an action from log 135 that is tied to the user account, determine a score for the action based on a time linked to the action in log 135 and the time from confirmation 140.
Prediction tool 120 determines an action 150 that is most likely to be performed by user 105 based on scores 145. In some embodiments, action 150 has a score 145 that is higher than the scores 145 for other actions indicated by log 135. By determining that action 150 is more likely to be performed than other actions in log 135, prediction tool 120 can predict that user 105 is likely to perform action 150. An example algorithm for determining action 150 is as follows: rank actions from log 135 for a particular user account based on the scores 145 for each action, determine the action with the highest score 145, select the action with the highest score 145.
Prediction tool 120 generates a link 155 to perform action 150. Prediction tool 120 may communicate link 155 to device 110. Device 110 may then present link 155 to user 105. By activating link 155, user 105 may cause action 150 to be performed. In this manner, user 105 does not need to navigate menus and/or pages to perform action 150. Instead, user 105 can cause action 150 to be performed by activating link 155. An example algorithm for generating and communicating link 155 is as follows: determine the action 150 that is most likely to be performed by user 105, create a link 155 that causes action 150 to be performed when the link 155 is activated, package link 155 into a message, communicate the message over network 115 to device 110.
Prediction tool 120 starts a timer 160 corresponding to link 155. Timer 160 indicates the amount of time that has transpired since prediction tool 120 generated and/or communicated link 155 to device 110. Prediction tool 120 may start timer 160 at any suitable time, such as for example, when link 155 is generated and/or when link 155 is communicated to device 110. In some embodiments, as timer 160 progresses, prediction tool 120 and/or device 110 may cause link 155 to fade on device 110. Additionally, prediction tool 120 may gradually reduce the score 155 for action 150 as timer 160 progresses. In this manner, prediction tool 120 determines that the determined action 150 is less likely to be performed the longer that link 155 is presented to user 105 and the user 105 does not activate link 155. In some embodiments, timer 160 stops when user 105 activates link 155. In some embodiments, prediction tool 120 determines another action 150 and generates another link 155 if timer 160 exceeds a certain limit and/or threshold. An example algorithm for timer 160 is as follows: communicate link 155 to device 110, start a timer 160, reduce score 145 as timer 160 progresses, determine whether timer 160 has exceeded a threshold, if timer 160 has exceeded a threshold, determine another action 150 and generate another link 155.
FIG. 2 illustrates an example prediction tool 120 of the system 100 of FIG. 1. As shown in FIG. 2, prediction tool 120 maintains a log 135. Log 135 is used with confirmation 140 to generate scores 145. Scores 145 are then used to generate a link 155. Additionally, a timer 160 is used after link 155 has been communicated to a device. In particular embodiments, prediction tool 120 reduces the amount processing resources and network bandwidth used to retrieve and/or load menus and pages for a user to perform a desired action. In some embodiments, prediction tool 120 reduces the amount of time a user spends navigating menus and pages to perform a desired action.
Log 135 stores a history of actions performed by users. In some embodiments, the actions in log 135 are grouped by user accounts of different users. Log 135 also indicates a date and/or time when particular actions were performed. In the illustrated example of FIG. 2, log 135 includes three actions: action 1, action 2, and action 3. These actions may be different from each other. Log 135 also includes a time and a date when each action was performed. As seen in FIG. 2, action 1 was performed on February 1st at two o'clock. Action 2 was performed on February 15th at five o'clock. Action 3 was performed on February 16th at eight o'clock. When a user performs an action, prediction tool 120 adds the action, along with the date and time when that action was performed, to log 135. In this manner, log 135 tracks the actions that have been performed in system 100.
Prediction tool 120 receives a confirmation 140. Confirmation 140 may indicate that a user has performed a certain action to connect with prediction tool 120. For example, confirmation 140 may indicate that a user has logged in using the user's device. As another example, confirmation 140 may indicate that a user has launched an application using the user's device. In the illustrated example of FIG. 2, confirmation 140 indicates that a login has occurred. Confirmation 140 also indicates a time and a date of the login. This disclosure contemplates confirmation 140 indicating any appropriate event. For example, confirmation 140 may indicate that a user has launched an application, along with the date and time when the user launched the application. Confirmation 140 may also indicate a user account for a user. Prediction tool 120 may use the user account information to retrieve the actions in log 135 that correspond to that user account.
Prediction tool 120 determines scores 145 for actions in log 135 based on information in confirmation 140. In some embodiments, prediction tool 120 determines scores 145 for actions that correspond to a particular user account indicated by confirmation 140. Prediction tool 120 may score actions in log 135 based on the date and time in confirmation 140. For example, if the date and/or time in confirmation 140 corresponds with the date of an action in log 135, then that action may receive a higher score. Conversely, if the date and/or time in confirmation 140 does not correspond to a date and/or time in log 135, then an action may receive a lower score. In the illustrated example of FIG. 2, prediction tool 120 determines that action 1 has a score of 10, action 2 has a score of 2, and action 3 has a score of 5. In some embodiments, these scores 145 may indicate that action 1 is more likely to be performed by the user than actions 2 and 3. Likewise, the scores 145 indicate that action 3 is more likely to be performed by the user than action 2. Based on these scores 145, prediction tool 120 may determine that action 1 should be selected as the predicted action.
As an example operation, action 1 may be paying a mortgage. Log 135 may indicate that a user pays the mortgage on the first date of every month. Action 2 may be paying a credit card bill. Log 135 may indicate that a user pays the credit card bill on the 15th of every month. Additionally, action 3 may be a balance transfer. Log 135 may indicate that a user tends to perform a balance transfer around 8 o'clock in the evening. The user may login at a particular date and time. If the user logs in on the first day of the month, such as for example, March 1st, prediction tool 120 may examine log 135 and determine that because the user tends to pay the mortgage on the first day of the month, that the user is likely logging in to pay the mortgage. As a result, prediction tool 120 may assign a high score to action 1. As another example, the user may have logged in in the evening. As a result, prediction tool 120 may determine that because the user tends to perform balance transfers in the evening, that the user may be logging in to perform a balance transfer. In response, prediction tool 120 may assign a higher score to action 3. In the illustrated example of FIG. 2, action 1 receives a higher score than action 3.
Prediction tool 120 selects the action that is most likely to be performed (e.g., the action with the highest score 145) as the predicted action. In the illustrated example of FIG. 2, prediction tool 120 selects action 1 as the predicted action because action 1 has a higher score 145 than actions 2 and 3. In some embodiments, prediction tool 120 may select the action with the lowest score rather than the highest score. After prediction tool 120 selects an action, prediction tool 120 generates a link 155. Link 155 may cause the predicted action to be performed when a user activates link 155. Prediction tool 120 communicates link 155 to a device of the user. Link 155 may be visible to the user. The user may activate link 155 to cause the predicted action to be performed.
After link 155 is generated and/or communicated, prediction tool 120 starts a timer 160. Prediction tool 120 may stop timer 160 when link 155 is activated. As timer 160 progresses, prediction tool 120 may determine that the user has not activated link 155 for a certain period of time. The longer the user does not activate link 155, prediction tool 120 may determine that the predicted action is less likely to be correct. As a result, prediction tool 120 may cause certain actions to be performed as timer 160 progresses. For example, prediction tool 120 may cause link 155 to fade on the display of the device of the user as timer 160 progresses. As another example, prediction tool 120 may gradually reduce the score of the selected action as timer 160 progresses. In certain embodiments, if the score of the selected action falls below the score of another action, prediction tool 120 may generate a new link 155 for the action with the new highest score. Prediction tool 120 may then communicate the new link 155 to the device so that the user can activate the new link 155 to cause the new predicted action to be performed.
In some embodiments, prediction tool 120 can update log 135 based on how the user interacts with link 155. For example, if the user activates link 155, thus indicating that the predicted action was correct, prediction tool 120 may indicate in log 135 that the action was predicted correctly and thus should receive a higher score in the future. Conversely, if the user does not activate link 155, prediction tool 120 may update log 135 to indicate that the action was predicted incorrectly and, in the future, should receive a lower score. In some embodiments, log 135 may track a record of scores for certain actions. Prediction tool 120 may use this record of scores to generate future scores 145. For example, if a record of scores indicates that prediction tool 120 has been scoring a particular action too high, then in the future, prediction tool 120 may score that action lower. In this manner, the record of scores allows prediction tool 120 to take corrective action and to improve the accuracy of future predictions.
In certain embodiments, if link 155 is not activated, prediction tool 120 may return to scores 145 to determine the action that is next most likely to be performed by the user. In the illustrated example of FIG. 2, if the link 155 for action 1 is not activated, prediction tool 120 may determine that action 3 is more likely to be performed than action 2. In response, prediction tool 120 may generate link 155 that causes action 3 to be performed when activated by the user. Prediction tool 120 then communicates the link 155 for action 3 to the device of the user. The link 155 for action 3 may then replace the link 155 for action 1 on the display of the device of the user. The user may then activate the link 155 for action 3 to cause action 3 to be performed.
FIG. 3A illustrates and example device 110 of the system 100 of FIG. 1. As seen in FIG. 3A, device 110 is executing an application 305 that presents a message on the screen that says “hello”. Application 305 also presents a message 310 that indicates an action to be performed. Within message 310 is a link 155. Message 310 may indicate that activating link 155 performs a particular action. In the illustrated example of FIG. 3A, message 310 indicates that activation of link 155 performs action 1. The user may activate link 155, such as for example, by tapping link 155 on the display of device 110. If the user activates link 155, device 110 may cause action 1 to be performed.
FIG. 3B illustrates an example device 110 of the system 100 of FIG. 1. As seen in FIG. 3B, message 310 fades if the user does not activate link 155. Message 310 may fade gradually the longer the user does not activate link 155. The fading represents an indication that action 1 is less likely to be the correctly predicted action. In some embodiments, if the user does not activate link 155 within a certain amount of time, message 310 may fade completely from the display of device 110. For clarity, the fading of message 310 is shown in FIG. 3B using dashed lines. Link 155 is also shown as fading through a lighter font.
FIG. 3C illustrates an example device 110 of the system 100 of FIG. 1. As seen in FIG. 3C, application 305 presents a new message 310 to the user. Message 310 indicates that activation of link 155 causes action 3 to be performed. In certain embodiments, device 110 presents the message 310 of FIG. 3C after the message 310 of FIG. 3B has faded and/or has been removed from the display of device 110. Message 310 in FIG. 3C may indicate a determination that action 3 is the next most likely to be performed action after action 1. The user may activate link 155 in FIG. 3C to cause action 3 to be performed.
FIG. 4 is a flow chart illustrating a method 400 for predicting actions using the system 100 of FIG. 1. In particular embodiments, prediction tool 120 performs the steps of method 400. By performing the steps of method 400, prediction tool 120 reduces the processing and network resources used to retrieve and/or load menus and/or pages that a user navigates to perform a desired action.
Prediction tool 120 begins by storing a log for a user account in step 405. In step 410, prediction tool 120 receives a confirmation that login occurred for the user account. Prediction tool 120 determines the time of the login in step 415.
Prediction tool 120 determines a first score for a first action in step 420. In step 425, prediction tool 120 determines a second score for a second action. Prediction tool 120 determines a third score for a third action in step 430. In each of these determinations, prediction tool 120 may determine a score based on a date and time indicated by the log, and a date and time indicated by the confirmation. In step 435, prediction tool 120 predicts that the first action is more likely to be performed than the second and third actions. Prediction tool 120 may make this determination by comparing the scores for each of these actions. In some embodiments, the action with the highest score is selected by prediction tool 120 as the action that is more likely to be performed than the other actions. Prediction tool 120 presents on the display a first link that, when activated, causes the first action to be performed in step 440. A user may activate this link to cause the first action to be performed. In some embodiments, if the user does not activate the first link, then the first link may begin to fade on the display of the device until the first link is completely removed from the display. In these instances, prediction tool 120 may generate and communicate a second link that causes another action to be performed when the second link is activated.
In step 445, prediction tool 120 updates the first score and the log. In some embodiments, prediction tool 120 updates the first score based on how the user interacts with the first link. For example, if the user activates the first link, prediction tool 120 may increase the first score indicating that the prediction was correct. If the user does not activate the first link, prediction tool 120 may decrease the first score indicating that the prediction was incorrect. After the first score is updated, prediction tool 120 may update the log to indicate whether the prediction was correct or not. This update to the log will allow future predictions to score the first action higher if the prediction was correct or lower if the prediction was incorrect.
Modifications, additions, or omissions may be made to method 400 depicted in FIG. 4. Method 400 may include more, fewer, or other steps. For example, steps may be performed in parallel or in any suitable order. While discussed as messaging tool 120 performing the steps, any suitable component of system 100, such as device(s) 110 for example, may perform one or more steps of the methods.
Although the present disclosure includes several embodiments, a myriad of changes, variations, alterations, transformations, and modifications may be suggested to one skilled in the art, and it is intended that the present disclosure encompass such changes, variations, alterations, transformations, and modifications as fall within the scope of the appended claims.

Claims (17)

What is claimed is:
1. An apparatus comprising:
a memory configured to store a log for a user account, the log comprising:
a first action performed by a user of the user account;
a first date on which the first action was performed;
a second action performed by the user of the user account;
a second date on which the second action was performed;
a third action performed by the user of the user account; and
a third date on which the third action was performed; and
processing circuitry communicatively coupled to the memory, the processing circuitry configured to:
receive a confirmation that a login occurred for the user account;
determine, based on the confirmation, a time of the login;
determine, based on the time of the login and the first date, a first score for the first action;
determine, based on the time of the login and the second date, a second score for the second action;
determine, based on the time of the login and the third date, a third score for the third action;
predict, based on the first score, the second score, and the third score, that the first action is more likely to be performed than the second action and the third action; and
in response to the prediction that the first action is more likely to be performed than the second action and the third action, present, on a display, a first link that when activated, causes the first action to be performed;
wherein the processing circuitry is further configured to:
start a timer;
as the timer runs, fade the first link on the display if the first link has not been activated, wherein the first link fades more the longer the timer runs and the longer the first link has not been activated; and
remove the first link from the display in response to the timer expiring.
2. The apparatus of claim 1, wherein the processing circuitry is further configured to stop the timer when the first link is activated.
3. The apparatus of claim 1, wherein the processing circuitry is further configured to reduce the first score as the timer runs.
4. The apparatus of claim 1, wherein the processing circuitry is further configured to:
determine that the first link was not activated;
in response to the determination that the first link was not activated, determine, based on the second score and the third score, that the second action is more likely to be performed than the third action; and
in response to the determination that the second action is more likely to be performed than the third action, present a second link on the display that when activated causes the second action to be performed.
5. The apparatus of claim 4, wherein the processing circuitry is further configured to remove the first link from the display before presenting the second link on the display.
6. The apparatus of claim 1, wherein the processing circuitry is further configured to present on the display a message that indicates that activating the first link will cause the first action to be performed.
7. A method comprising:
storing, by a memory, a log for a user account, the log comprising:
a first action performed by a user of the user account;
a first date on which the first action was performed;
a second action performed by the user of the user account;
a second date on which the second action was performed;
a third action performed by the user of the user account; and
a third date on which the third action was performed;
receiving, by processing circuitry communicatively coupled to the memory, a confirmation that a login occurred for the user account;
determining, by the processing circuitry, based on the confirmation, a time of the login;
determining, by the processing circuitry, based on the time of the login and the first date, a first score for the first action;
determining, by the processing circuitry, based on the time of the login and the second date, a second score for the second action;
determining, by the processing circuitry, based on the time of the login and the third date, a third score for the third action;
predicting, by the processing circuitry, based on the first score, the second score, and the third score, that the first action is more likely to be performed than the second action and the third action;
in response to the prediction that the first action is more likely to be performed than the second action and the third action, presenting, on a display, a first link that when activated, causes the first action to be performed;
starting a timer;
as the timer runs, fading the first link on the display if the first link has not been activated, wherein the first link fades more the longer the timer runs and the longer the first link has not been activated; and
removing the first link from the display in response to the timer expiring.
8. The method of claim 7, further comprising stopping the timer when the first link is activated.
9. The method of claim 7, further comprising reducing the first score as the timer runs.
10. The method of claim 7, further comprising:
determining that the first link was not activated;
in response to the determination that the first link was not activated, determining, based on the second score and the third score, that the second action is more likely to be performed than the third action; and
in response to the determination that the second action is more likely to be performed than the third action, presenting a second link on the display that when activated causes the second action to be performed.
11. The method of claim 10, further comprising removing the first link from the display before presenting the second link on the display.
12. The method of claim 7, further comprising presenting on the display a message that indicates that activating the first link will cause the first action to be performed.
13. A system comprising:
a device comprising a display; and
a prediction tool comprising a memory and processing circuitry configured to:
store a log for a user account, the log comprising:
a first action performed by a user of the user account;
a first date on which the first action was performed;
a second action performed by the user of the user account;
a second date on which the second action was performed;
a third action performed by the user of the user account; and
a third date on which the third action was performed;
receive a confirmation that a login occurred for the user account;
determine, based on the confirmation, a time of the login;
determine, based on the time of the login and the first date, a first score for the first action;
determine, based on the time of the login and the second date, a second score for the second action;
determine, based on the time of the login and the third date, a third score for the third action;
predict, based on the first score, the second score, and the third score, that the first action is more likely to be performed than the second action and the third action; and
in response to the prediction that the first action is more likely to be performed than the second action and the third action, present, on the display, a first link that when activated, causes the first action to be performed;
wherein the prediction tool is further configured to:
start a timer;
as the timer runs, fade the first link on the display if the first link has not been activated, wherein the first link fades more the longer the timer runs and the longer the first link has not been activated; and
remove the first link from the display in response to the timer expiring.
14. The system of claim 13, wherein the prediction tool is further configured to stop the timer when the first link is activated.
15. The system of claim 13, wherein the prediction tool is further configured to reduce the first score as the timer runs.
16. The system of claim 13, wherein the prediction tool is further configured to:
determine that the first link was not activated;
in response to the determination that the first link was not activated, determine, based on the second score and the third score, that the second action is more likely to be performed than the third action; and
in response to the determination that the second action is more likely to be performed than the third action, present a second link on the display that when activated causes the second action to be performed.
17. The system of claim 16, wherein the prediction tool is further configured to remove the first link from the display before presenting the second link on the display.
US16/357,497 2019-03-19 2019-03-19 Prediction tool Active 2039-04-12 US10776243B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/357,497 US10776243B1 (en) 2019-03-19 2019-03-19 Prediction tool
US16/996,104 US11144426B2 (en) 2019-03-19 2020-08-18 Prediction tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/357,497 US10776243B1 (en) 2019-03-19 2019-03-19 Prediction tool

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/996,104 Continuation US11144426B2 (en) 2019-03-19 2020-08-18 Prediction tool

Publications (2)

Publication Number Publication Date
US10776243B1 true US10776243B1 (en) 2020-09-15
US20200301806A1 US20200301806A1 (en) 2020-09-24

Family

ID=72425716

Family Applications (2)

Application Number Title Priority Date Filing Date
US16/357,497 Active 2039-04-12 US10776243B1 (en) 2019-03-19 2019-03-19 Prediction tool
US16/996,104 Active US11144426B2 (en) 2019-03-19 2020-08-18 Prediction tool

Family Applications After (1)

Application Number Title Priority Date Filing Date
US16/996,104 Active US11144426B2 (en) 2019-03-19 2020-08-18 Prediction tool

Country Status (1)

Country Link
US (2) US10776243B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11609805B1 (en) * 2020-06-15 2023-03-21 Charles Schwab & Co., Inc. System and method for routing requests for events

Citations (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572221A (en) 1994-10-26 1996-11-05 Telefonaktiebolaget Lm Ericsson Method and apparatus for detecting and predicting motion of mobile terminals
US6876903B2 (en) 2000-11-17 2005-04-05 Honda Giken Kogyo Kabushiki Kaisha Gait pattern generating device for legged mobile robot
US6957074B2 (en) 2002-12-26 2005-10-18 Nokia Corporation Apparatus, and an associated method, for reserving resources in a mobile communication system through the use of historical indicia
US20080214153A1 (en) 2005-09-14 2008-09-04 Jorey Ramer Mobile User Profile Creation based on User Browse Behaviors
US20080242279A1 (en) 2005-09-14 2008-10-02 Jorey Ramer Behavior-based mobile content placement on a mobile communication facility
US20090043440A1 (en) 2007-04-12 2009-02-12 Yoshihiko Matsukawa Autonomous mobile device, and control device and program product for the autonomous mobile device
US7574661B2 (en) 2003-02-25 2009-08-11 Panasonic Corporation Application program prediction method and mobile terminal
US20090222313A1 (en) 2006-02-22 2009-09-03 Kannan Pallipuram V Apparatus and method for predicting customer behavior
US20090248599A1 (en) 2008-04-01 2009-10-01 Hueter Geoffrey J Universal system and method for representing and predicting human behavior
US20100035225A1 (en) 2006-07-11 2010-02-11 President And Fellows Of Harvard College Adaptive spaced teaching method and system
US7707131B2 (en) 2005-03-08 2010-04-27 Microsoft Corporation Thompson strategy based online reinforcement learning system for action selection
US20100106603A1 (en) 2008-10-20 2010-04-29 Carnegie Mellon University System, method and device for predicting navigational decision-making behavior
US20100169340A1 (en) 2008-12-30 2010-07-01 Expanse Networks, Inc. Pangenetic Web Item Recommendation System
US20100169313A1 (en) 2008-12-30 2010-07-01 Expanse Networks, Inc. Pangenetic Web Item Feedback System
US20100169342A1 (en) 2008-12-30 2010-07-01 Expanse Networks, Inc. Pangenetic Web Satisfaction Prediction System
US20100169262A1 (en) 2008-12-30 2010-07-01 Expanse Networks, Inc. Mobile Device for Pangenetic Web
US20110246059A1 (en) 2010-03-31 2011-10-06 Sony Corporation Information processing apparatus, behavior prediction display method, and computer program therefor
US20110282964A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated Delivery of targeted content related to a learned and predicted future behavior based on spatial, temporal, and user attributes and behavioral constraints
US20110313664A1 (en) 2009-02-09 2011-12-22 Toyota Jidosha Kabushiki Kaisha Apparatus for predicting the movement of a mobile body
US20110319094A1 (en) 2010-06-24 2011-12-29 Sony Corporation Information processing apparatus, information processing system, information processing method, and program
US20120023226A1 (en) 2010-07-26 2012-01-26 Steve Petersen Prediction of activity session for mobile network use optimization and user experience enhancement
US8108406B2 (en) 2008-12-30 2012-01-31 Expanse Networks, Inc. Pangenetic web user behavior prediction system
US8131271B2 (en) 2005-11-05 2012-03-06 Jumptap, Inc. Categorization of a mobile user profile based on browse behavior
US20120059789A1 (en) 2009-05-18 2012-03-08 Toyota Jidosha Kabushiki Kaisha Vehicular environment estimation device
US20120089996A1 (en) 2005-09-14 2012-04-12 Jorey Ramer Categorization of a mobile user profile based on browse and viewing behavior
US20120100869A1 (en) 2010-10-25 2012-04-26 Alohar Mobile Inc. Location Based User Behavior Analysis and Applications
US20120284080A1 (en) 2011-05-04 2012-11-08 Telefonica S.A. Customer cognitive style prediction model based on mobile behavioral profile
US20120303573A1 (en) 2011-05-26 2012-11-29 Massachusetts Institute Of Technology Methods and apparatus for prediction and modification of behavior in networks
US20130046603A1 (en) * 2011-08-17 2013-02-21 Bank Of America Corporation Method of providing an offer based on a projected path triggered by a point of sale transaction
US8429103B1 (en) 2012-06-22 2013-04-23 Google Inc. Native machine learning service for user adaptation on a mobile platform
US8510238B1 (en) 2012-06-22 2013-08-13 Google, Inc. Method to predict session duration on mobile devices using native machine learning
US8566696B1 (en) * 2011-07-14 2013-10-22 Google Inc. Predicting user navigation events
US20130346347A1 (en) 2012-06-22 2013-12-26 Google Inc. Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context
US8655307B1 (en) 2012-10-26 2014-02-18 Lookout, Inc. System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security
US20140179279A1 (en) 2012-12-20 2014-06-26 Kirk W Skeba Preventing dropped calls through behavior prediction
US20140185581A1 (en) 2012-12-13 2014-07-03 Futurewei Technologies, Inc. Methods and Systems for Admission Control and Resource Availability Prediction Considering User Equipment (UE) Mobility
US20140278688A1 (en) 2013-03-15 2014-09-18 Disney Enterprises, Inc. Guest movement and behavior prediction within a venue
US20140372511A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Content Pre-Render and Pre-Fetch Techniques
US20150038156A1 (en) 2013-07-31 2015-02-05 Qualcomm Incorporated Adapting mobile device behavior using predictive mobility
US8972318B2 (en) 2012-05-31 2015-03-03 Qualcomm Incorporated Predicting user behavior using feedback on previously run predictive searches
US20150088662A1 (en) * 2012-10-10 2015-03-26 Nugg.Ad Ag Predictive Behavioural Targeting
US20150134304A1 (en) 2013-11-08 2015-05-14 Microsoft Corporation Hierarchical statistical model for behavior prediction and classification
US20150278837A1 (en) 2014-03-31 2015-10-01 Liveperson, Inc. Online behavioral predictor
US20150286820A1 (en) 2014-04-08 2015-10-08 Qualcomm Incorporated Method and System for Inferring Application States by Performing Behavioral Analysis Operations in a Mobile Device
US9208678B2 (en) 2007-01-12 2015-12-08 International Business Machines Corporation Predicting adverse behaviors of others within an environment based on a 3D captured image stream
US20160102283A1 (en) 2014-10-09 2016-04-14 The United States Of America As Represented By The Secretary Department Of Health And Human Services Microfluidic device and system for precisely controlling and analyzing shear forces in blast-induced traumatic brain injuries
US20160132827A1 (en) 2014-11-06 2016-05-12 Xerox Corporation Methods and systems for designing of tasks for crowdsourcing
US9381916B1 (en) 2012-02-06 2016-07-05 Google Inc. System and method for predicting behaviors of detected objects through environment representation
US10176800B2 (en) 2017-02-10 2019-01-08 International Business Machines Corporation Procedure dialogs using reinforcement learning

Patent Citations (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572221A (en) 1994-10-26 1996-11-05 Telefonaktiebolaget Lm Ericsson Method and apparatus for detecting and predicting motion of mobile terminals
US6876903B2 (en) 2000-11-17 2005-04-05 Honda Giken Kogyo Kabushiki Kaisha Gait pattern generating device for legged mobile robot
US6957074B2 (en) 2002-12-26 2005-10-18 Nokia Corporation Apparatus, and an associated method, for reserving resources in a mobile communication system through the use of historical indicia
US7574661B2 (en) 2003-02-25 2009-08-11 Panasonic Corporation Application program prediction method and mobile terminal
US7707131B2 (en) 2005-03-08 2010-04-27 Microsoft Corporation Thompson strategy based online reinforcement learning system for action selection
US20080214153A1 (en) 2005-09-14 2008-09-04 Jorey Ramer Mobile User Profile Creation based on User Browse Behaviors
US20080242279A1 (en) 2005-09-14 2008-10-02 Jorey Ramer Behavior-based mobile content placement on a mobile communication facility
US20120089996A1 (en) 2005-09-14 2012-04-12 Jorey Ramer Categorization of a mobile user profile based on browse and viewing behavior
US8131271B2 (en) 2005-11-05 2012-03-06 Jumptap, Inc. Categorization of a mobile user profile based on browse behavior
US20090222313A1 (en) 2006-02-22 2009-09-03 Kannan Pallipuram V Apparatus and method for predicting customer behavior
US20100035225A1 (en) 2006-07-11 2010-02-11 President And Fellows Of Harvard College Adaptive spaced teaching method and system
US9208678B2 (en) 2007-01-12 2015-12-08 International Business Machines Corporation Predicting adverse behaviors of others within an environment based on a 3D captured image stream
US20090043440A1 (en) 2007-04-12 2009-02-12 Yoshihiko Matsukawa Autonomous mobile device, and control device and program product for the autonomous mobile device
US20090248599A1 (en) 2008-04-01 2009-10-01 Hueter Geoffrey J Universal system and method for representing and predicting human behavior
US20100106603A1 (en) 2008-10-20 2010-04-29 Carnegie Mellon University System, method and device for predicting navigational decision-making behavior
US20100169340A1 (en) 2008-12-30 2010-07-01 Expanse Networks, Inc. Pangenetic Web Item Recommendation System
US20100169313A1 (en) 2008-12-30 2010-07-01 Expanse Networks, Inc. Pangenetic Web Item Feedback System
US8108406B2 (en) 2008-12-30 2012-01-31 Expanse Networks, Inc. Pangenetic web user behavior prediction system
US20100169262A1 (en) 2008-12-30 2010-07-01 Expanse Networks, Inc. Mobile Device for Pangenetic Web
US20100169342A1 (en) 2008-12-30 2010-07-01 Expanse Networks, Inc. Pangenetic Web Satisfaction Prediction System
US20110313664A1 (en) 2009-02-09 2011-12-22 Toyota Jidosha Kabushiki Kaisha Apparatus for predicting the movement of a mobile body
US20120059789A1 (en) 2009-05-18 2012-03-08 Toyota Jidosha Kabushiki Kaisha Vehicular environment estimation device
US20110246059A1 (en) 2010-03-31 2011-10-06 Sony Corporation Information processing apparatus, behavior prediction display method, and computer program therefor
US20110282964A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated Delivery of targeted content related to a learned and predicted future behavior based on spatial, temporal, and user attributes and behavioral constraints
US20110319094A1 (en) 2010-06-24 2011-12-29 Sony Corporation Information processing apparatus, information processing system, information processing method, and program
US20120023226A1 (en) 2010-07-26 2012-01-26 Steve Petersen Prediction of activity session for mobile network use optimization and user experience enhancement
US20120100869A1 (en) 2010-10-25 2012-04-26 Alohar Mobile Inc. Location Based User Behavior Analysis and Applications
US20120284080A1 (en) 2011-05-04 2012-11-08 Telefonica S.A. Customer cognitive style prediction model based on mobile behavioral profile
US20120303573A1 (en) 2011-05-26 2012-11-29 Massachusetts Institute Of Technology Methods and apparatus for prediction and modification of behavior in networks
US8566696B1 (en) * 2011-07-14 2013-10-22 Google Inc. Predicting user navigation events
US20130046603A1 (en) * 2011-08-17 2013-02-21 Bank Of America Corporation Method of providing an offer based on a projected path triggered by a point of sale transaction
US9381916B1 (en) 2012-02-06 2016-07-05 Google Inc. System and method for predicting behaviors of detected objects through environment representation
US8972318B2 (en) 2012-05-31 2015-03-03 Qualcomm Incorporated Predicting user behavior using feedback on previously run predictive searches
US20130346347A1 (en) 2012-06-22 2013-12-26 Google Inc. Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context
US8510238B1 (en) 2012-06-22 2013-08-13 Google, Inc. Method to predict session duration on mobile devices using native machine learning
US8429103B1 (en) 2012-06-22 2013-04-23 Google Inc. Native machine learning service for user adaptation on a mobile platform
US20150088662A1 (en) * 2012-10-10 2015-03-26 Nugg.Ad Ag Predictive Behavioural Targeting
US8655307B1 (en) 2012-10-26 2014-02-18 Lookout, Inc. System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security
US20140185581A1 (en) 2012-12-13 2014-07-03 Futurewei Technologies, Inc. Methods and Systems for Admission Control and Resource Availability Prediction Considering User Equipment (UE) Mobility
US20140179279A1 (en) 2012-12-20 2014-06-26 Kirk W Skeba Preventing dropped calls through behavior prediction
US20140278688A1 (en) 2013-03-15 2014-09-18 Disney Enterprises, Inc. Guest movement and behavior prediction within a venue
US20140372511A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Content Pre-Render and Pre-Fetch Techniques
US20150038156A1 (en) 2013-07-31 2015-02-05 Qualcomm Incorporated Adapting mobile device behavior using predictive mobility
US20150134304A1 (en) 2013-11-08 2015-05-14 Microsoft Corporation Hierarchical statistical model for behavior prediction and classification
US20150278837A1 (en) 2014-03-31 2015-10-01 Liveperson, Inc. Online behavioral predictor
US20150286820A1 (en) 2014-04-08 2015-10-08 Qualcomm Incorporated Method and System for Inferring Application States by Performing Behavioral Analysis Operations in a Mobile Device
US20160102283A1 (en) 2014-10-09 2016-04-14 The United States Of America As Represented By The Secretary Department Of Health And Human Services Microfluidic device and system for precisely controlling and analyzing shear forces in blast-induced traumatic brain injuries
US20160132827A1 (en) 2014-11-06 2016-05-12 Xerox Corporation Methods and systems for designing of tasks for crowdsourcing
US10176800B2 (en) 2017-02-10 2019-01-08 International Business Machines Corporation Procedure dialogs using reinforcement learning

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11609805B1 (en) * 2020-06-15 2023-03-21 Charles Schwab & Co., Inc. System and method for routing requests for events
US11797361B2 (en) 2020-06-15 2023-10-24 Charles Schwab & Co., Inc. System and method for routing requests for events
US12141627B2 (en) 2020-06-15 2024-11-12 Charles Schwab & Co., Inc. System and method for routing requests for events

Also Published As

Publication number Publication date
US20200301806A1 (en) 2020-09-24
US11144426B2 (en) 2021-10-12
US20200379866A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
US20190392345A1 (en) Automatic action loading based on a data context and a machine-learned model
US9639174B2 (en) Mobile device display content based on shaking the device
US11423413B2 (en) Intelligent communication channel determination
EP3474210B1 (en) User account controls for online transactions
US20220253822A1 (en) System and method for group payments
US11144426B2 (en) Prediction tool
US20160034894A1 (en) Personalized budgets for financial services
US20230162276A1 (en) Systems and methods for validating repeating data
US10929237B2 (en) Error handling tool
US11037554B1 (en) Network of domain knowledge based conversational agents
US11775439B2 (en) Prefetching data for application usage
US20230316243A1 (en) Graphical user interfaces for consolidated account creation and account funding in digital systems
US20240078556A1 (en) Detection and intervention for anomalous transactions
US10990253B1 (en) Predictive navigation and fields platform to reduce processor and network resources usage
JP6507301B1 (en) Terminal device for supporting application for insurance by applicant, and server device provided communicably to the terminal device
JP6507300B1 (en) Terminal device for supporting application for insurance by applicant, and server device provided communicably to the terminal device
JP6431241B1 (en) Terminal device for supporting application for insurance by applicant, and server device provided in communication with this terminal device
US20230306392A1 (en) Graphical user interfaces for consolidated account creation and account funding in digital systems
EP3785203A1 (en) Systems and methods for providing services in a stateless application framework
US20240420104A1 (en) Facilitating intelligent asset management utilizing graphical user interfaces comprising dynamic asset management user interface elements
US20250088539A1 (en) Action determination for multi-category model
US20240354214A1 (en) Systems and methods for inactivity-based failure to complete task notifications
US20240273485A1 (en) Systems and methods for completing an interaction at a particular time determined by a user
US20240152886A1 (en) Systems and methods for funds transfer account aggregator
US20250086718A1 (en) System and method for providing data access

Legal Events

Date Code Title Description
AS Assignment

Owner name: BANK OF AMERICA CORPORATION, NORTH CAROLINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KOCHAR, SARABJEET SINGH;REEL/FRAME:048632/0336

Effective date: 20190315

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4