US20160210594A1 - Systems and methods for daily task optimization - Google Patents
Systems and methods for daily task optimization Download PDFInfo
- Publication number
- US20160210594A1 US20160210594A1 US14/600,381 US201514600381A US2016210594A1 US 20160210594 A1 US20160210594 A1 US 20160210594A1 US 201514600381 A US201514600381 A US 201514600381A US 2016210594 A1 US2016210594 A1 US 2016210594A1
- Authority
- US
- United States
- Prior art keywords
- consumer
- locations
- travel
- location
- processor
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000005457 optimization Methods 0.000 title description 14
- 238000004891 communication Methods 0.000 claims description 22
- 230000011218 segmentation Effects 0.000 claims description 2
- 238000007670 refining Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012011 method of payment Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
- G06Q10/1097—Task assignment
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063114—Status monitoring or status determination for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063116—Schedule adjustment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096805—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
- G08G1/096811—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard
- G08G1/096816—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard where the complete route is transmitted to the vehicle at once
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096833—Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
- G08G1/096844—Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route where the complete route is dynamically recomputed based on new data
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096877—Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement
- G08G1/096883—Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement where input information is obtained using a mobile device, e.g. a mobile phone, a PDA
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096877—Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement
- G08G1/096888—Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement where input information is obtained using learning systems, e.g. history databases
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/123—Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams
Definitions
- This patent application relates generally to the field of automated task planning systems, and more particularly to systems and methods for planning optimized sequences of tasks based on consumer location data, purchase data and travel data as exchanged and processed from multiple components.
- a computer implemented method for determining an optimized sequence of visits by a consumer to a plurality of merchant locations irrespective of travel distance.
- the method is implemented by a computing device having a memory storing instructions in the form of code and a processor configured by executing the instructions therein.
- the method includes receiving information about the errands from a remote device that is associated with a first consumer.
- the received data can include a start time, a start location, a final location and identify a plurality of merchant locations that are going to be visited by the first consumer.
- the method also includes generating one or more models for predicting the durations of visits at each of the merchant locations that the first consumer desires to visit.
- the models can be generated using transaction data and consumer location data associated with one or more of a plurality of consumers at respective merchant locations.
- the method also includes generating one or more ordered sequences of locations to be visited by the first consumer. Each of the one or more ordered sequences begins with the start location, ends with the final location, includes at least a portion of the plurality of merchant locations, and wherein consecutive locations in a ordered sequence define respective travel segments there between.
- the method also includes, calculating a total duration for each of the one or more ordered sequences. The total duration can be calculated using the one or more models in view of the start time, and in view of travel times for the respective travel segments as determined from a database of travel data.
- the method includes identifying, based on the calculated total durations, an optimal ordered sequence from among the one or more ordered sequences.
- the optimal ordered sequence can have the lowest calculated total duration irrespective of a total distance of the respective travel segments.
- the method also includes providing the optimal ordered sequence over a network to the remote device associated with the first consumer.
- the step of generating the model can include identifying using the consumer location data, times of entry by the one or more of the plurality of consumers into the respective merchant locations.
- the method can include identifying, using the transaction data, purchase times associated with transactions performed by the one or more consumers at the respective merchant locations.
- the method can include calculating visit durations for the one or more consumers at the merchant locations using the times of entry and purchase times.
- the method can include generating the one or more models using a regression algorithm and the calculated visit durations.
- a system for determining an optimized sequence of visits by a consumer to a plurality of merchant locations irrespective of travel distance.
- the system can include a non-transitory computer-readable storage medium and a processor that is configured by executing one or more software modules that include instructions in the form of code and are stored in the storage medium.
- the modules can include a communication module that configures the processor to receive, over a network from a remote device associated with the first consumer, a start time, a start location, a final location and the plurality of merchant locations to be visited by the first consumer.
- the modules can also include a database module that configures the processor to store the start time, the start location, the final location and the plurality of merchant locations to the storage medium.
- the database module further configures the processor to access a database including consumer location data and a database including transaction data associated with a plurality of consumers.
- the modules also include a modeling module that configures the processor to generate one or more models for predicting visit durations at each of the plurality of merchant locations using the transaction data and the consumer location data associated with one or more of the plurality of consumers at respective merchant locations.
- the modules also include an analysis module that configures the processor to generate one or more ordered sequences of locations to be visited by the first consumer.
- each of the one or more ordered sequences begins with the start location, ends with the final location, includes at least a portion of the plurality of merchant locations, and wherein consecutive locations in a ordered sequence define respective travel segments there between.
- the analysis module further configures the processor to calculate a total duration for each of the one or more ordered sequences.
- the total duration is calculated using the one or more models in view of the start time, and in view of travel times for the respective travel segments as determined from a database of travel data.
- the analysis module further configures the processor to identify, based on the calculated total durations, an optimal ordered sequence from among the one or more ordered sequences.
- the optimal ordered sequence is the sequence that has the lowest calculated total duration irrespective of a total distance of the respective travel segments.
- the modules also include a travel module that configures the processor to determine the travel times for the respective travel segments from a database of travel data.
- the communication module also configures the processor to provide over a network to the remote device associated with the first consumer, the optimal ordered sequence.
- FIG. 1 is a high-level diagram illustrating an exemplary configuration of a system for planning an optimized sequence of visits in accordance with at least one embodiment disclosed herein;
- FIG. 2 is a block diagram illustrating an exemplary configuration of a system for planning an optimized sequence of visits in accordance with at least one embodiment disclosed herein;
- FIG. 3 is a flow diagram illustrating a process for determining and modeling the duration of consumer visits at a merchant locations in accordance with at least one embodiment disclosed herein;
- FIG. 4 is a flow diagram illustrating a routine for planning an optimized sequence of visits in accordance with at least one embodiment disclosed herein.
- embodiments described herein relate to systems and methods for planning an optimized sequence of visits (e.g., daily tasks/errands) for a consumer to a plurality of merchant locations in view of information exchanged among networked components concerning a plurality of consumers.
- the consumer can submit to the system, using a mobile device, a list of locations that he or she has to visit that day and a start time and starting location.
- the system would determine and output a suggested ‘optimized’ list or sequence of locations that the user should visit, the optimal route to follow while visiting each location, and the total time it would take at each location and travel in between locations. For example, assume Consumer “X” wants to visit locations A, B, and C.
- Consumer “X” inputs the names of locations A through C into the application.
- the system then processes that information with regard to information exchanged from networked components (as described below), in addition to the starting location and time of the consumer, to produce a detailed and ordered list of locations to visit, say, B, A, and then C and provides the appropriate routes to take to reduce travel time between locations.
- networked components as described below
- the systems and methods disclosed herein accomplish this by leveraging three different datasets provided by different networked components: transactional data, consumer location/tracking information, (e.g., ibeach technology and/or GPS tracking data), and travel data that includes mapping and point-of-interest (POI) data.
- POI point-of-interest
- the system is configured to receive an errand list from a consumer that includes information about the various merchants or merchant locations the consumer desires to visit, a start time and a start location for the trip and a final location. Based on this information, as processed by the respective networked components, the system plans an optimized sequence of visits for the consumer based on historical information about how long it ordinarily takes for consumers to make purchases at each of the merchant locations on a given day of the week and at a given time, and how long it takes to travel in between the merchant locations.
- One component to the planning process includes modeling, by the back-end system server using a database of consumer location data (e.g., iBeacon, GPS and the like) and user transaction data (e.g., payment card transaction data), how long it takes for consumers to make purchases at various locations.
- the model would also forecast check-out wait times based on historical transaction volumes for a given date and time at a given merchant location.
- the model can be generated as a function of time of day, store location and/or day of the year.
- Another component to the planning process includes modeling, by the system using a database of location/travel data (e.g., dynamic map data such as “Google maps” provided by Google Inc.
- the system is configured to estimate how long it will take the consumer to visit each of the merchant locations on the list and can identify the most efficient order of the visits and the most appropriate route to complete the tasks/errands in the shortest total amount of time. Accordingly, the system processes historical and current travel/traffic data and the estimated visit durations across multiple user data sets to provide the user with an optimized order of visits and corresponding travel routes as opposed to sequentially running each visit.
- FIG. 1 is a high-level diagram illustrating an exemplary configuration of a system for daily task optimization 100 .
- the system comprises a system server 105 communicatively coupled to at least one: consumer device 101 , location database 102 , transaction database 103 and travel database 104 .
- the system server 105 is a computing device and/or data processing apparatus capable of communicating with consumer devices 101 , and other remote computing devices or computing networks (e.g., location database 102 , transaction database 103 , travel database 104 ), receiving, transmitting and storing electronic information and processing requests as further described herein.
- location database 102 transaction database 103
- travel database 104 are intended to represent various forms of computing devices including servers and/or networked or cloud based computing systems which support their respective databases, but which include processing to transform data, e.g., into a location using iBeacon responses, GPS information, and the like.
- Embodiments of the methods and systems described herein, in particular, the transaction database 103 can be associated with a transaction processing subsystem that is configured to record and/or process consumer transactions between consumers and one or more merchants.
- transaction database 103 can be associated with a payment card network operated by MasterCard International Incorporated, of Purchase, N.Y., the assignee of the present disclosure, and can include multiple consumers' transaction data across a like number of transactions which, according to an aspect of an embodiment of the invention, is exchanged with the system server 105 and coordinated with other databases 102 , 104 in order to process and arrive at relevant data to the modeling module 176 (shown in FIG. 2 and described below).
- transaction database 103 can store information concerning purchase transactions between consumers and merchants that are conducted using a transaction card.
- transaction card financial transaction card
- payment card refer to any suitable transaction card, such as a credit card, a debit card, a prepaid card, a charge card, a membership card, a promotional card, a frequent flyer card, an identification card, a prepaid card, a gift card, and/or any other device that may hold transaction account information and use technologies to deliver to a point of sale terminal the account information (e.g. NFC), such as mobile phones, smartphones, personal digital assistants (PDAs), key fobs, electronic wallets, and/or computers.
- PDAs personal digital assistants
- Each type of transactions card can be used as a method of payment for performing a transaction.
- a clearing process occurs to transfer additional transaction data related to the purchase among the parties to the transaction, such as a merchant bank, an interchange network, and issuer bank. More specifically, during and/or after the clearing process, additional data, such as a time of purchase, a merchant name, a type of merchant, purchase information, cardholder account information, a type of transaction, information regarding the purchased item and/or service, and/or other suitable information, is associated with a transaction and transmitted between parties to the transaction as transaction data, and may be stored by any of the parties to the transaction, for example, in transaction database 103 .
- Embodiments of the methods and systems described herein, in particular, the location database 102 can be associated with a sub-system comprising hardware that is configured such as by software to determine when a visitor enters a particular merchant location and identify the visitor based on signals emitted from mobile devices (e.g., consumer device 101 ) and received by radio receivers positioned in and around the merchant locations.
- mobile devices e.g., consumer device 101
- radio receivers positioned in and around the merchant locations.
- a smart phone e.g., consumer device 101
- interrogation signals attempting to locate and determine available networks.
- These wireless interrogations often include a unique identifier, such as, but not limited to a Media Access Control (MAC) address.
- MAC Media Access Control
- interrogation signals can be received by one or more passive receivers positioned about a merchant location, for example, inside an entry point. The strength of these signals varies with a distance away from the transceiver and may be used to determine a relative distance between the transceiver and a receiver. Based on the interrogations, the location tracking subsystem can determine a time of user entry into a merchant location as well as uniquely identify the user using device identifiers (e.g., the unique MAC addresses). Such location information can also be stored in a database, for example location database 102 . Exemplary systems and methods for determining when a visitor enters a merchant location and monitoring visitor activity within a merchant location are more fully described in co-pending and commonly assigned U.S.
- the system server 105 can exchange information from these subsystems and process it to identify a total length of a customer's visit to a particular merchant location.
- Travel database 104 can be configured to receive information from the system server 105 concerning proposed locations to be visited and provide historical and current information relating to maps, points-of-interests, travel conditions and route planning between points of interest (e.g., by foot, mass transit, public transportation, automobile and the like).
- travel database 104 can be operated by map and information service providers such as the “Google Maps” service provided by Google Inc. of Mountain View Calif. This information provides route planning information, but without regard to timing within each location at particular times on particular days of the week.
- the system server 105 exchanges further information concerning multiple consumers with the other databases to process the model and generate optimal ordered sequences.
- Consumer device 101 can be configured to collect (and/or display) information from one or more consumers, including a particular consumer 125 , communicate the information to the system server 105 and receive information from the system server. It should be understood that consumer device can be any computing device and/or data processing apparatus capable of embodying the systems and/or methods described herein, including, but not limited to, a personal computer, tablet computer or smartphone device.
- the system server 105 can communicate with one or more computing devices, such as devices a consumer device 101 , location database 102 , transaction database 103 , travel database 104 .
- Such computing devices transmit and/or receive data to/from system server 105 , thereby preferably initiating, maintaining, and/or enhancing the operation of the system for daily task optimization 100 , as will be described in greater detail below.
- any of the computing devices e.g., 101 , 102 , 103 , 104
- can be in direct communication with system server 105 can be in direct communication with system server 105 , indirect communication with system server 105 , and/or can be communicatively coordinated with system server 105 through a computer network such as the Internet.
- FIG. 1 depicts system for daily task optimization 100 with respect to a consumer device 101 , location database 102 , transaction database 103 , travel database 104 , it should be understood that any number of such computing devices 101 and/or databases can interact in the manner described herein. It should also be noted that while FIG. 1 depicts a system for daily task optimization 100 with respect to a particular consumer 125 , it should be understood that any number of consumers can interact with the with system for daily task optimization 100 in the manner described herein. It should be further understood that a substantial number of the operations described herein are initiated by and/or performed in relation to such consumer computing devices. For example, as referenced above, such computing devices can execute applications and/or viewers that request and/or receive data from system server 105 , substantially in the manner described in detail herein.
- system server 105 of the system for daily task optimization 100 is arranged with various hardware and software components that serve to enable operation of the system 100 , including a hardware processor 110 , hardware memory 120 , hardware storage 190 and a communication interface 150 .
- Processor 110 serves to execute software instructions that can be loaded into memory 120 .
- Processor 110 can be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation.
- memory 120 and/or storage 190 are accessible by processor 110 , thereby enabling processor 110 to receive and execute instructions stored on memory 120 and/or on storage 190 .
- Memory 120 can be, for example, a random access memory (RAM) or any other suitable volatile or non-volatile computer readable storage medium.
- RAM random access memory
- memory 120 can be fixed or removable.
- Storage 190 can take various forms, depending on the particular implementation.
- storage 190 can contain one or more hardware components or devices such as a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above.
- Storage 190 also can be fixed or removable or remote such as cloud based data storage systems.
- One or more software modules 130 are encoded in storage 190 and/or in memory 120 .
- the software modules 130 can comprise one or more software programs or applications having computer program code or a set of instructions executed in processor 110 .
- Such computer program code or instructions for carrying out operations for aspects of the systems and methods disclosed herein can be written in any combination of one or more programming languages.
- the program code can execute entirely on system server 105 , partly on system server 105 , as a stand-alone software package, partly on system server 105 and partly on a remote computer/device such as consumer device 101 , or any computing devices maintaining the location database 102 , transaction database 103 and travel database 104 or entirely on such the remote computing devices.
- the remote computer can be connected to system server 105 through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Internet Service Provider an Internet Service Provider
- a database module 170 included among the software modules 130 is a database module 170 , a user analysis module 172 , a travel module 174 , a modeling module 176 and a communication module 178 that are executed by processor 110 .
- the processor 110 configures the system server 105 to perform various operations relating to the system for daily task optimization, as will be described in greater detail below.
- the program code of software modules 130 and one or more computer readable storage devices can form a computer program product that can be manufactured and/or distributed in accordance with the present disclosure, as is known to those of ordinary skill in the art.
- one or more of software modules 130 can be downloaded over a network to storage 190 from another device or system via communication interface 150 for use within the for daily task optimization system 100 .
- other information and/or data relevant to the operation of the present systems and methods can also be stored on storage 190 , as will be discussed in greater detail below.
- a user database 185 is also preferably stored on storage 190 .
- the user database 185 contains and/or maintains various data items and elements that are utilized throughout the various operations of the system 100 .
- the information stored in the user database 185 can include, but is not limited to, user profiles, transaction data, location data, travel data, and other data relating to consumers, as will be described in greater detail herein.
- the user database 185 is depicted as being configured locally to the system server 105 , in certain implementations, the user database 185 and/or various of the data elements stored therein can be located remotely (such as on a remote device or server—not shown) and connected to the system server 105 through a network in a manner known to those of ordinary skill in the art.
- Communication interface 150 is also operatively connected to the processor 110 and can be any interface that enables communication between the system server 105 and external devices, machines and/or elements including remote devices 101 , 102 , 103 and 104 .
- communication interface 150 includes, but is not limited to, a modem, a Network Interface Card (NIC), an integrated network interface, a radio frequency transmitter/receiver (e.g., Bluetooth, cellular, NFC), a satellite communication transmitter/receiver, an infrared port, a USB connection, and/or any other such interfaces for connecting system server 105 to other computing devices and/or communication networks, such as private networks and the Internet.
- NIC Network Interface Card
- radio frequency transmitter/receiver e.g., Bluetooth, cellular, NFC
- satellite communication transmitter/receiver e.g., an infrared port, a USB connection
- Such connections can include a wired connection or a wireless connection (e.g., using the IEEE 802.11 standard), though it should
- the communication interface 150 enables the exchange of information from third party components, such as iBeacon sensor devices and the networks with which such devices communicate. This enables the system 100 to model and generate one or more ordered sequences so that an optimum plan can be established for a particular consumer with the benefit of information from a plurality of other consumers.
- one or more of the consumers can enroll to participate in the services facilitated by the system 100 .
- a consumer can do this by connecting to system server 105 using a consumer device 101 and actively providing personal information, such as, transaction account information and/or device information useable to identify the user among a plurality of consumers known to the location database 102 and the like.
- the individuals can simply provide a few key pieces of personal information, such as a name and/or transaction card number and grant permission for the system server 105 to access his or her spending records and/or location data from the appropriate data storage devices (e.g., transaction database 103 or location database 102 ).
- the particular consumer's information can be automatically made available to the system by virtue of having a payment card issued by a participating card issuer.
- system server 105 via a transaction processing company, card issuer, and the like, can automatically retrieve spending records for the particular consumer.
- a transaction processing company is an entity that may perform certain processing functions in connection with a financial transaction on behalf of financial institution, merchant, customer and the like. Any automatic access to a consumer's spending records or medical information would be subject to applicable data privacy and data usages laws.
- spending records and/or location data can be provided by the consumer or also received directly from a participating payment service provider company, with the appropriate consents from the consumer. It should also be understood that the consumer can also require authorization before the system server retrieves spending records and/or location information. Thus, it should be apparent that in the exemplary system and routine described herein, depending on applicable laws and regulations, a consumer can opt in, thereby consenting to the use of their spending records as well as any other personal information he or she provides.
- the individuals may be provided with an opportunity to control the manner such information is collected with respect to programs or features that may collect personal information (e.g., information about an individual's location data, spending records or an individual's current location/address).
- personal information e.g., information about an individual's location data, spending records or an individual's current location/address.
- Individuals may also be informed of the accompanying limitations on the functionality of a service that may result from limiting access to such personal information.
- certain data may be anonymized in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, identifiers associated with an individual's identity, transaction records and/or mobile device location records may be anonymized so that no personally identifiable information can be determined for the individuals.
- the systems and methods disclosed herein plan optimized sequences of visits for a user by leveraging three different datasets: transactional data from the transaction database 103 , location data for users stored in a location database 102 (e.g., ibeach data, GPS tracking data) and travel data stored in a travel database 104 .
- One component to the planning process includes modeling how long it takes for consumers to make purchases at various locations, by the back-end system server using a database of location data 102 (e.g., iBeacon, GPS and the like) and user transaction data (e.g., payment data) from the transaction database 103 .
- the model can be generated as a function of time of day and/or day of the year.
- Another component to the planning process includes modeling, by the system using a database of location/travel data (e.g., dynamic map data such as “Google Maps”), the locations of each of the merchant and how long it takes other consumers to travel between the merchant locations as a function of the time of day and/or day of the year.
- location/travel data e.g., dynamic map data such as “Google Maps”
- the system is configured to estimate how long it will take the particular consumer to visit each of the merchant locations on the list and can algorithmically identify the most efficient order of the visits and the most appropriate route to complete the tasks/errands in the shortest total amount of time.
- the system uses historical and current travel/traffic data and the estimated visit durations extracted from profiles and data sets of other consumers to provide the particular consumer with an optimized order of visits and corresponding travel routes as opposed to sequentially running each visit.
- FIG. 3 a flow diagram illustrates an exemplary process flow 300 for modeling the duration of visits by consumers to a store in accordance with at least one embodiment disclosed herein.
- one or more consumers enter a merchant location.
- consumer location information for the one or more consumers can be captured by a location tracking subsystem at the merchant location.
- the captured information can be stored in the location database 102 .
- interrogation signals from the consumers' respective mobile computing devices e.g., consumer device 101
- attempting to locate and determine available networks can be received by one or more passive receivers positioned about respective merchant locations.
- the location tracking subsystem can determine a time of consumer entry into a merchant location, as well as uniquely identify the user using device identifiers (e.g., the unique MAC addresses for the consumer device) and store the information in a database, for example location database 102 .
- device identifiers e.g., the unique MAC addresses for the consumer device
- consumers can be incentivized to actively check in with location tracking system using respective consumer devices upon entry to a merchant location.
- the one or more consumers conduct transactions at the merchant location using, for example, a transaction card at a point of sale terminal, and a record of the payment transaction can be stored in the transaction database 103 at step 320 .
- the transaction database 103 can be operated by a payment service provider, such as MasterCard International Incorporated.
- Each record of a transaction can include information identifying a respective consumer, information identifying a respective merchant, a respective merchant location, an associated transaction time and other such information that describes the transaction and the parties.
- Transaction records are not limited to any single payment method and the transaction records associated with each consumer can include transactions using a variety of payment methods, such as a credit card, a debit card, a prepaid card, a gift card, bank account bill-pay service, ACH payment, a TSM account, contactless payment, a virtual account number, electronic wallet transaction, cash or a combination of the foregoing.
- payment methods such as a credit card, a debit card, a prepaid card, a gift card, bank account bill-pay service, ACH payment, a TSM account, contactless payment, a virtual account number, electronic wallet transaction, cash or a combination of the foregoing.
- the system server processor 110 which is configured by executing one or more software modules 130 including, preferably, the database module 170 , and the communication module 178 , can maintain a database of consumer profiles that link, for the consumers, respective transaction records stored in the transaction database 103 and respective location records stored in the location database 102 .
- the “identity” of the consumers can be anonymized so that no personally identifiable information can be determined for the consumers from the transaction database 103 or the location database 102 or the profiles and information maintained by the system server 105 . More specifically, using the location database 102 and transaction database 103 , unique user IDs (UIDs) can be created by the configured processor and associated with corresponding identifiers maintained by the location tracking and transaction processing platforms.
- UIDs unique user IDs
- one exemplary way to create UIDs that link instances from different platforms comprises unique redemption (e.g., coupon) offers to consumers, say, for a MasterCard payment card or mobile wallet application when the consumer steps into a merchant location and provides information identifying their consumer device. Then, when the coupon is redeemed or the transaction has occurred, the configured processor can create a UID to associate the user's mobile device and transaction account identifier. It can be appreciated that alternative methods for linking a location tracking account and transaction accounts for a consumer are envisioned.
- the system server 105 can determine the duration of each consumer visit to respective merchant locations using the database of location information and database of transaction information.
- the processor 110 which is configured by executing one or more of the software modules 130 including, preferably, the analysis module 172 and the modeling module 176 , can calculate the duration of a visit by a consumer to a merchant location using the timestamps indicating when the consumer entered into the merchant location and the transaction time associated with the purchase made by the consumer at the merchant location.
- the configured processor can analyze the visit durations and algorithmically generate models that provide real-time estimations of how long the consumers take while they shop at respective merchant locations.
- the analysis can be performed using any number of mathematical analysis techniques, including regression modeling and other such statistical analysis tools, as would be understood by those in the art.
- the configured processor can be configured to segment the information based on time of day, date, day of the week, user profile information (e.g., demographics and the like), merchant location, and other such segmentation variables, as understood by those in the art.
- the configured processor can segment the data being analyzed or the results according to demographic data relating to the consumers that can include, but is not limited to, the particular consumer's age, address, location, education level, occupation, and family-related data, such as marital status and number of children and the like.
- demographic data can be determined by analyzing the transaction records retrieved from the transaction database 103 and/or can be obtained from third party providers of such information or from the consumers themselves.
- the analysis of the visit duration data and generation of the models can also include calculating a confidence level for the one or more models by the configured processor.
- the confidence level can be calculated based on the statistical sufficiency of the information that was used to generate the model. Accordingly, the confidence level can represent the reliability of a model for predicting visit durations and can ultimately be used by the system to identify the optimized sequence of errands in view of the reliability of the projected visit durations.
- the configured processor can select an alternative merchant location to be included into the optimized sequence based on the reliability of the model.
- the configured processor can also predict visit durations based on one or more other merchant locations that are related to the particular merchant location. For example, the average visit duration at a particular Sears store during peak holiday hours can be determined based on the model(s) projecting visit durations at one or more other Sears stores in the area or similar department stores.
- FIG. 4 a flow diagram illustrates an exemplary method 400 for generating an optimized sequence of visits by a first consumer to a plurality of merchant locations irrespective of travel distance in accordance with at least one embodiment disclosed herein.
- the process begins at step 405 , in which the processor 110 , which is configured by executing one or more of the software modules 130 , including, preferably, the communication module 178 , and the database module 170 , receives errand data from a consumer concerning the errands that the consumer would like to run.
- the errand data is actively provided to the system server 105 by the consumer using a mobile device, e.g., consumer device 101 over a network.
- the consumer device 101 can be configured to connect with the system server 105 via a client application executing on the consumer device or similar software applications or portals (e.g., a web-browser based application) that also facilitate the capture of the errand data from the consumer.
- the errand data can include a start time and/or date that the consumer would like to begin the sequence of errands (e.g., visits), a start location for the consumer, a final location (i.e., where the user desires to end the sequence, say, home or another destination).
- the errand data also includes information that can be used to identify a plurality of intervening locations that the consumer desires to visit in between departing from the start location and arriving at the final location, for example merchant locations to be visited.
- the information that can be used to identify the plurality of merchant locations can include the names of the merchants and/or the corresponding locations of the merchants.
- the user can provide a merchant name (e.g., “Sears”) or provide a type of merchant (e.g., “pharmacy” or “hardware store”). Accordingly, based on the merchant name or merchant type and an approximate location, the configured processor 110 can automatically identify a corresponding merchant location.
- the configured processor 110 can query the travel database 104 (e.g., the Google Maps service that includes travel information and point of interest information) and for each named merchant/type provided in the errand data, identify corresponding merchant locations that are in the vicinity of the start location, final location and/or intermediate or surrounding areas. Moreover, if a plurality of merchant locations fit the criteria specified in the errand data, the configured processor can select a particular merchant location that reduces the total duration of the sequence of errands or otherwise optimizes the sequence of errands to be performed by the user, as further described herein. In other implementations, the consumer can provide a list of items to purchase and these items can be mapped to merchants and their respective locations.
- the travel database 104 e.g., the Google Maps service that includes travel information and point of interest information
- one or more ordered sequences of locations to be visited by the consumer are generated. More particularly, the processor 110 , which is configured by executing one or more of the software modules 130 , including, preferably, the analysis module 172 , generates one or more ordered sequences of locations defined by the errand data. Preferably, each of the one or more ordered sequences begins with the start location and ends with the final location and includes at least a portion of the plurality of merchant locations. The consecutive locations in an ordered sequence define respective travel segments between the consecutive locations. Accordingly, it can be appreciated that the one or more ordered sequences represent possible sequences of visits by the consumer to the merchant locations and travel from one location to the next.
- the one or more ordered sequences can be generated to include each of the plurality of merchant locations, for example, if the consumer needs to visit every location. In some implementations, at least a portion of the plurality of merchant locations is included in the sequences.
- the configured processor 110 can include merchant locations in the ordered sequences in accordance with respective priorities. The respective priorities can be received by the configured processor from the consumer using the consumer device 101 as part of the errand data or separately. The respective priorities can specify how important it is for the consumer to visit a particular merchant location. For example, the user can specify that the bank is a high priority whereas visiting the dry cleaners is a low priority. Accordingly, the system can include or omit a merchant location from the sequence of errands accordingly, for example, if it would increase the length of the errands significantly.
- the system can generate sequences that correspond to all of the possible permutations of ordered locations, however, it can be appreciated that the configured processor 110 can selectively generate a limited number of ordered sequences.
- the ordered sequences can be generated based on geographic proximity to the start or final location, or based on the geographic proximity of merchant locations to one-another.
- the configured processor can identify one or more alternative merchant locations to those specified by the consumer and generate sequences using the one or more alternative locations.
- the system can project the total duration for each of the ordered sequences and select one or more optimized ordered sequences for the consumer to follow.
- the total duration of the one or more ordered sequences is determined.
- the processor 110 which is configured by executing one or more of the software modules 130 , including, preferably, the database module 170 and the analysis module 172 , the travel module 174 and the modeling module 176 can calculate, for each of the one or more ordered sequences, a total duration based on the start time and the locations in respective sequences using the models for estimating the durations of visits at merchant locations and based on the database of travel data 104 .
- calculating the total duration for a particular sequence can include calculating the duration of the travel time from the start location to the first merchant location in the sequence based on the start time. For example, using the start time and start location and the location of the ensuing visit in the sequence, the processor 110 , which is configured by executing one or more of the software modules 130 , including, the travel module 174 , can query the travel database 104 to determine the projected travel time. Accordingly, the configured processor 110 can calculate the projected arrival time at the first merchant location in the sequence. As would be understood by those skilled in the art, the projected travel time can be determined based on current or historical travel conditions stored in the travel database 104 .
- step 415 A can also include determining, by the configured processor 110 using the travel database 104 , a preferred route for the travel segment, for example, if a number of possible routes are available. Accordingly, the estimated travel time for each of the travel segments is determined based on the preferred route.
- the configured processor can calculate the duration of the visit at the first merchant location in the sequence. More specifically, the processor 110 , which is configured by executing one or more of the software modules 130 , including, the travel module 174 , can calculate the predicted visit duration using the one or more of the models that were generated to project visit durations at the merchant location as described in relation to FIG. 3 . More specifically, these models are provided with information exchanged between the system server 105 and one or more subsystems in order to receive and process relevant information for calculating duration of visit at any given time and date. Based on the estimated arrival time and the calculated visit duration, the configured processor can calculate the consumer's estimated departure time from the first merchant location.
- the configured processor iteratively repeats steps 415 A and 415 B to calculate visit durations for the remaining merchant locations in the ordered sequence based on the start time, a visit duration calculated for any preceding merchant locations in the ordered sequence based on the calculated travel times for any preceding travel segments.
- the configured processor iteratively calculates, using the database of travel data 104 , a travel time for each of the travel segments in the ordered sequence based on the start time, the calculated visit duration for any preceding visits to merchant locations and the calculated travel times for any preceding travel segments.
- the order of the location to visit influences the arrival time at a given location and, hence the predicted duration of the visit when arriving at the computed arrival time.
- the configured processor calculates the total visit duration for each of the one or more ordered sequences.
- the processor 110 which is configured by executing one or more of the software modules 130 , including, the analysis module 172 , can calculate the total visit duration by aggregating the calculated travel time for each of the travel segments and the calculated visit durations at each of the merchant locations in the one or more ordered sequences.
- an optimal ordered sequence from among the one or more ordered sequences is identified based on the respective calculated total visit durations.
- the selected optimal ordered sequence is the sequence that has the lowest calculated total duration irrespective of a total distance of the respective travel segments.
- the processor 110 which is configured by executing one or more of the software modules 130 , including, preferably, the analysis module 172 , can compare the calculated total durations for the one or more ordered sequences to identify the ordered sequence with the lowest total duration.
- the optimal ordered sequence can be selected as a function of the total duration and in view of additional selection parameters.
- the selection parameters can include, for example and without limitation, a confidence level ascribed to the calculated total visit durations, the total travel distance and whether the ordered sequence includes some or all of the merchant locations. More specifically, the calculated total duration for a particular ordered sequence can be weighted or adjusted based on the confidence level associated with respective calculated visit durations at one or more merchant locations. Accordingly, if the configured processor determines that multiple ordered sequences have a comparable total duration (e.g., is within a prescribed range), the configured processor 110 can select the ordered sequence that has the highest associated confidence level (e.g., the one with the most reliable projection of time).
- the optimal ordered sequence can be selected based on the total travel distance.
- the configured processor can select the ordered sequence that includes the most high-priority visits to merchant locations. It can be appreciated that the above methods for selecting an optimal sequence as a function of total duration, travel distance, reliability, priority of the visits and/or number of merchant locations included in the sequence are exemplary and alternative methods for selecting an optimal sequence can be implemented without departing from the scope of the disclosed embodiments.
- the errand data provided by the consumer can include additional constraints, such as a time that the sequence must be finished by or one or more additional locations-of-interest that the consumer must visit during the trip.
- the locations-of-interest can be any location that a consumer will visit, for example a school, restaurant, office and the like and the consumer.
- the errand data can also include a time and duration of each visit to the locations-of-interest. Accordingly, the configured processor can arrange the sequence of merchant locations to be visited in accordance with the constraints.
- the errand data might provide that the consumer wishes to visit a plurality of merchant locations, start the errands from a home location at 1:00 PM and return to the home location by 6:00 PM and provide that the consumer must visit the local elementary school at 3:15 PM for 30 minutes before continuing the errands.
- the configured processor 110 can plan the sequence of visits to the merchant locations in view of the 30 minute stop to the local school at 3:15 PM, for example, by breaking down the trip into smaller segments (e.g., 1:00 PM departure from home location to 3:15 PM arrival at school and 3:45 departure from school to home location by 6:00 PM) and selecting merchant locations to be visited in each segment so as to comply with the constraints.
- the optimal ordered sequence(s) from among the one or more ordered sequences are provided to the consumer.
- the processor 110 which is configured by executing one or more of the software modules 130 , including, preferably, the communication module 178 , can transmit at least the optimal ordered sequence to the consumer device 101 for presentation to the consumer.
- the configured processor can also provide alternative sequences of visits to the consumer. For example, the fastest sequence of visits that includes all merchant locations in the errand data, the fastest sequence of visits that includes all high priority merchant locations to be visited, the sequence of visits selected based on total duration and the least total travel distance.
- the configured processor can also present to the consumer via the consumer device 101 , one or more ordered sequences that include alternative merchant locations that further optimize the sequence of errands.
- the configured processor 110 can receive, from the consumer device 101 over a network, a selection by the consumer of the at least one optimal ordered sequence or additional instructions or modifications to the errand data or presented sequences. Based on the received instructions, the configured processor can revise or re-calculate the optimized sequences and present the revised sequences to the user. Based on the received selection, the configured processor can present additional details concerning the particular sequence and associated route(s).
- the location of the consumer can be monitored as the consumer is running errands according to the selected optimal ordered sequence.
- the processor 110 which is configured by executing one or more of the software modules 130 , including, preferably, the analysis module 172 and the communication module 178 , can determine a current location of the consumer as the consumer visits the plurality of merchant locations identified in the sequence in near real time.
- a user's current location can be received from the consumer device 101 (e.g., GPS data) or can be determined by the configured processor using information gathered from the location database 102 and/or the transaction database 103 .
- the configured processor can determine whether the consumer is running the errands in a manner that is consistent with the optimized sequence selected by the consumer. For example, the configured processor can determine whether the consumer has spent more than the predicted amount of time at one or more merchant locations.
- the processor 110 which is configured by executing one or more of the software modules 130 , including, preferably, the analysis module 172 , the travel module 174 , the modeling module 176 and the communication module 178 , can repeat the steps of: generating the one or more ordered sequences, calculating the total duration, and identifying an optimal ordered sequence for the remaining merchant locations. Accordingly, the configured processor can dynamically refine the optimal sequence based on the consumer's location data, real-time and historical travel information and the models for predicting visit durations and provide the refined optimal ordered sequence to the consumer device 101 .
- system server 105 in conjunction with the consumer device 101 and location database 102 , transaction database 103 and travel database 104 , is configured to plan optimized sequence of errands and actively track current progress of the consumer and the conditions of the environment (e.g., travel conditions, current time etc.) and update the optimized sequence to aid the consumer in completing the tasks/errands in an efficient/more optimal manner.
- the conditions of the environment e.g., travel conditions, current time etc.
- each block in the flowchart or block diagrams can represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures.
Abstract
Description
- This patent application relates generally to the field of automated task planning systems, and more particularly to systems and methods for planning optimized sequences of tasks based on consumer location data, purchase data and travel data as exchanged and processed from multiple components.
- In general, current systems and methods for planning a sequence of errands (e.g., visits to various merchant locations) are highly inefficient as they rely on personal experience and limited information from online resources.
- Important decisions in the planning process (e.g., Which merchant locations should be visited? What is the order of visits? How long will each visit take?) are largely made based on personal experiences and a limited amount of information from online sources. For example, online resources such as the Google Maps service provided by Google Inc. of Mountain View, Calif., are useful in identifying locations to visit and routes between locations. However, map services have limited value in that they generally display only current travel/traffic information and are not particularly helpful for accurately determining travel time for a future segment of the trip. Moreover, such services fail to provide any information as to how long it will take to actually visit a particular location. As a result, consumers generally default to planning the sequence of visits and the route based on travel distance and without regard to how long it takes to actually visit a location. Ultimately, because planning a trip and the particular sequence of the visits is based largely on a consumer's limited knowledge, the trips are often not planned effectively and time is often wasted.
- Accordingly, there a need for data-driven system and methods for projecting visit durations at various merchant locations and projecting travel times between the merchant locations. Furthermore, it is desirable to have systems and methods for planning an optimized sequence of errands based on the projected durations to merchant locations and travel times. Furthermore it is desirable for such systems and methods for monitoring and updating the optimized sequence to be in real time or near-real time.
- It is with respect to these and other considerations that the disclosure made herein is presented.
- According to a first aspect, a computer implemented method is provided for determining an optimized sequence of visits by a consumer to a plurality of merchant locations irrespective of travel distance. The method is implemented by a computing device having a memory storing instructions in the form of code and a processor configured by executing the instructions therein. The method includes receiving information about the errands from a remote device that is associated with a first consumer. The received data can include a start time, a start location, a final location and identify a plurality of merchant locations that are going to be visited by the first consumer. The method also includes generating one or more models for predicting the durations of visits at each of the merchant locations that the first consumer desires to visit. The models can be generated using transaction data and consumer location data associated with one or more of a plurality of consumers at respective merchant locations. The method also includes generating one or more ordered sequences of locations to be visited by the first consumer. Each of the one or more ordered sequences begins with the start location, ends with the final location, includes at least a portion of the plurality of merchant locations, and wherein consecutive locations in a ordered sequence define respective travel segments there between. The method also includes, calculating a total duration for each of the one or more ordered sequences. The total duration can be calculated using the one or more models in view of the start time, and in view of travel times for the respective travel segments as determined from a database of travel data. In addition, the method includes identifying, based on the calculated total durations, an optimal ordered sequence from among the one or more ordered sequences. The optimal ordered sequence can have the lowest calculated total duration irrespective of a total distance of the respective travel segments. The method also includes providing the optimal ordered sequence over a network to the remote device associated with the first consumer.
- According to a further aspect of the method, the step of generating the model can include identifying using the consumer location data, times of entry by the one or more of the plurality of consumers into the respective merchant locations. In addition, the method can include identifying, using the transaction data, purchase times associated with transactions performed by the one or more consumers at the respective merchant locations. In addition, the method can include calculating visit durations for the one or more consumers at the merchant locations using the times of entry and purchase times. In addition, the method can include generating the one or more models using a regression algorithm and the calculated visit durations.
- According to another aspect, a system is provided for determining an optimized sequence of visits by a consumer to a plurality of merchant locations irrespective of travel distance. The system can include a non-transitory computer-readable storage medium and a processor that is configured by executing one or more software modules that include instructions in the form of code and are stored in the storage medium. In particular, the modules can include a communication module that configures the processor to receive, over a network from a remote device associated with the first consumer, a start time, a start location, a final location and the plurality of merchant locations to be visited by the first consumer. The modules can also include a database module that configures the processor to store the start time, the start location, the final location and the plurality of merchant locations to the storage medium. In addition, the database module further configures the processor to access a database including consumer location data and a database including transaction data associated with a plurality of consumers. The modules also include a modeling module that configures the processor to generate one or more models for predicting visit durations at each of the plurality of merchant locations using the transaction data and the consumer location data associated with one or more of the plurality of consumers at respective merchant locations. The modules also include an analysis module that configures the processor to generate one or more ordered sequences of locations to be visited by the first consumer. In addition, each of the one or more ordered sequences begins with the start location, ends with the final location, includes at least a portion of the plurality of merchant locations, and wherein consecutive locations in a ordered sequence define respective travel segments there between. Moreover, the analysis module further configures the processor to calculate a total duration for each of the one or more ordered sequences. In addition, the total duration is calculated using the one or more models in view of the start time, and in view of travel times for the respective travel segments as determined from a database of travel data. In addition, the analysis module further configures the processor to identify, based on the calculated total durations, an optimal ordered sequence from among the one or more ordered sequences. In particular, the optimal ordered sequence is the sequence that has the lowest calculated total duration irrespective of a total distance of the respective travel segments. The modules also include a travel module that configures the processor to determine the travel times for the respective travel segments from a database of travel data. In addition, the communication module also configures the processor to provide over a network to the remote device associated with the first consumer, the optimal ordered sequence.
- These and other aspects, features, and advantages can be appreciated from the accompanying description of certain embodiments of the disclosure and the accompanying drawing figures and claims.
-
FIG. 1 is a high-level diagram illustrating an exemplary configuration of a system for planning an optimized sequence of visits in accordance with at least one embodiment disclosed herein; -
FIG. 2 is a block diagram illustrating an exemplary configuration of a system for planning an optimized sequence of visits in accordance with at least one embodiment disclosed herein; -
FIG. 3 is a flow diagram illustrating a process for determining and modeling the duration of consumer visits at a merchant locations in accordance with at least one embodiment disclosed herein; and -
FIG. 4 is a flow diagram illustrating a routine for planning an optimized sequence of visits in accordance with at least one embodiment disclosed herein. - By way of overview and introduction, embodiments described herein relate to systems and methods for planning an optimized sequence of visits (e.g., daily tasks/errands) for a consumer to a plurality of merchant locations in view of information exchanged among networked components concerning a plurality of consumers. For example, the consumer can submit to the system, using a mobile device, a list of locations that he or she has to visit that day and a start time and starting location. Rather than going down the list sequentially, the system would determine and output a suggested ‘optimized’ list or sequence of locations that the user should visit, the optimal route to follow while visiting each location, and the total time it would take at each location and travel in between locations. For example, assume Consumer “X” wants to visit locations A, B, and C. Consumer “X” inputs the names of locations A through C into the application. The system then processes that information with regard to information exchanged from networked components (as described below), in addition to the starting location and time of the consumer, to produce a detailed and ordered list of locations to visit, say, B, A, and then C and provides the appropriate routes to take to reduce travel time between locations. As further described herein, the systems and methods disclosed herein accomplish this by leveraging three different datasets provided by different networked components: transactional data, consumer location/tracking information, (e.g., ibeach technology and/or GPS tracking data), and travel data that includes mapping and point-of-interest (POI) data.
- More specifically, the system is configured to receive an errand list from a consumer that includes information about the various merchants or merchant locations the consumer desires to visit, a start time and a start location for the trip and a final location. Based on this information, as processed by the respective networked components, the system plans an optimized sequence of visits for the consumer based on historical information about how long it ordinarily takes for consumers to make purchases at each of the merchant locations on a given day of the week and at a given time, and how long it takes to travel in between the merchant locations. One component to the planning process includes modeling, by the back-end system server using a database of consumer location data (e.g., iBeacon, GPS and the like) and user transaction data (e.g., payment card transaction data), how long it takes for consumers to make purchases at various locations. The model would also forecast check-out wait times based on historical transaction volumes for a given date and time at a given merchant location. The model can be generated as a function of time of day, store location and/or day of the year. Another component to the planning process includes modeling, by the system using a database of location/travel data (e.g., dynamic map data such as “Google maps” provided by Google Inc. of Mountain View Calif.), where each of the merchant locations is located and how long it takes to travel between the merchant locations as a function of the time of day and/or day of the year. Using the models, the system is configured to estimate how long it will take the consumer to visit each of the merchant locations on the list and can identify the most efficient order of the visits and the most appropriate route to complete the tasks/errands in the shortest total amount of time. Accordingly, the system processes historical and current travel/traffic data and the estimated visit durations across multiple user data sets to provide the user with an optimized order of visits and corresponding travel routes as opposed to sequentially running each visit.
- The referenced systems and methods are now described more fully with reference to the accompanying drawings, in which one or more illustrated embodiments and/or arrangements of the systems and methods are shown. The systems and methods are not limited in any way to the illustrated embodiments and/or arrangements as the illustrated embodiments and/or arrangements described below are merely exemplary of the systems and methods, which can be embodied in various forms, as appreciated by one skilled in the art. Therefore, it is to be understood that any structural and functional details disclosed herein are not to be interpreted as limiting the systems and methods, but rather, are provided as a representative embodiment and/or arrangement for teaching one skilled in the art one or more ways to implement the systems and methods. Accordingly, aspects of the present systems and methods can take the form of an entirely hardware embodiment, a firmware embodiment, or an embodiment combining software and hardware.
- An exemplary system is shown as a block diagram in
FIG. 1 which is a high-level diagram illustrating an exemplary configuration of a system fordaily task optimization 100. In one arrangement, the system comprises asystem server 105 communicatively coupled to at least one:consumer device 101,location database 102,transaction database 103 andtravel database 104. Thesystem server 105 is a computing device and/or data processing apparatus capable of communicating withconsumer devices 101, and other remote computing devices or computing networks (e.g.,location database 102,transaction database 103, travel database 104), receiving, transmitting and storing electronic information and processing requests as further described herein. Similarly,location database 102,transaction database 103,travel database 104 are intended to represent various forms of computing devices including servers and/or networked or cloud based computing systems which support their respective databases, but which include processing to transform data, e.g., into a location using iBeacon responses, GPS information, and the like. - Embodiments of the methods and systems described herein, in particular, the
transaction database 103, can be associated with a transaction processing subsystem that is configured to record and/or process consumer transactions between consumers and one or more merchants. For example and without limitation,transaction database 103 can be associated with a payment card network operated by MasterCard International Incorporated, of Purchase, N.Y., the assignee of the present disclosure, and can include multiple consumers' transaction data across a like number of transactions which, according to an aspect of an embodiment of the invention, is exchanged with thesystem server 105 and coordinated withother databases FIG. 2 and described below). - Accordingly,
transaction database 103 can store information concerning purchase transactions between consumers and merchants that are conducted using a transaction card. As used herein, the terms “transaction card,” “financial transaction card,” and “payment card” refer to any suitable transaction card, such as a credit card, a debit card, a prepaid card, a charge card, a membership card, a promotional card, a frequent flyer card, an identification card, a prepaid card, a gift card, and/or any other device that may hold transaction account information and use technologies to deliver to a point of sale terminal the account information (e.g. NFC), such as mobile phones, smartphones, personal digital assistants (PDAs), key fobs, electronic wallets, and/or computers. Each type of transactions card can be used as a method of payment for performing a transaction. As would be understood by those skilled in the art, after a purchase has been made using a transaction card, a clearing process occurs to transfer additional transaction data related to the purchase among the parties to the transaction, such as a merchant bank, an interchange network, and issuer bank. More specifically, during and/or after the clearing process, additional data, such as a time of purchase, a merchant name, a type of merchant, purchase information, cardholder account information, a type of transaction, information regarding the purchased item and/or service, and/or other suitable information, is associated with a transaction and transmitted between parties to the transaction as transaction data, and may be stored by any of the parties to the transaction, for example, intransaction database 103. - Embodiments of the methods and systems described herein, in particular, the
location database 102, can be associated with a sub-system comprising hardware that is configured such as by software to determine when a visitor enters a particular merchant location and identify the visitor based on signals emitted from mobile devices (e.g., consumer device 101) and received by radio receivers positioned in and around the merchant locations. In general, when not connected to a wireless network a smart phone (e.g., consumer device 101) sends out interrogation signals attempting to locate and determine available networks. These wireless interrogations often include a unique identifier, such as, but not limited to a Media Access Control (MAC) address. These interrogation signals can be received by one or more passive receivers positioned about a merchant location, for example, inside an entry point. The strength of these signals varies with a distance away from the transceiver and may be used to determine a relative distance between the transceiver and a receiver. Based on the interrogations, the location tracking subsystem can determine a time of user entry into a merchant location as well as uniquely identify the user using device identifiers (e.g., the unique MAC addresses). Such location information can also be stored in a database, forexample location database 102. Exemplary systems and methods for determining when a visitor enters a merchant location and monitoring visitor activity within a merchant location are more fully described in co-pending and commonly assigned U.S. patent application Ser. No. 14/138,342, entitled “SYSTEMS AND METHODS FOR PASSIVELY DETERMINING A RATIO OF PURCHASERS AND PROSPECTIVE PURCHASERS IN A MERCHANT LOCATION” filed Dec. 23, 2013, which is hereby incorporated by reference as if set forth in its entirety herein. - As further described herein, using the
location database 102, which provides information concerning when a particular consumer enters a particular merchant location, and using thetransaction database 103, which provides information concerning when a visitor makes a purchase at the merchant location, thesystem server 105 can exchange information from these subsystems and process it to identify a total length of a customer's visit to a particular merchant location. -
Travel database 104 can be configured to receive information from thesystem server 105 concerning proposed locations to be visited and provide historical and current information relating to maps, points-of-interests, travel conditions and route planning between points of interest (e.g., by foot, mass transit, public transportation, automobile and the like). For example,travel database 104 can be operated by map and information service providers such as the “Google Maps” service provided by Google Inc. of Mountain View Calif. This information provides route planning information, but without regard to timing within each location at particular times on particular days of the week. Thesystem server 105 exchanges further information concerning multiple consumers with the other databases to process the model and generate optimal ordered sequences. -
Consumer device 101 can be configured to collect (and/or display) information from one or more consumers, including aparticular consumer 125, communicate the information to thesystem server 105 and receive information from the system server. It should be understood that consumer device can be any computing device and/or data processing apparatus capable of embodying the systems and/or methods described herein, including, but not limited to, a personal computer, tablet computer or smartphone device. - At various points during the operation of system for
daily task optimization 100, thesystem server 105 can communicate with one or more computing devices, such as devices aconsumer device 101,location database 102,transaction database 103,travel database 104. Such computing devices transmit and/or receive data to/fromsystem server 105, thereby preferably initiating, maintaining, and/or enhancing the operation of the system fordaily task optimization 100, as will be described in greater detail below. It should be understood that any of the computing devices (e.g., 101, 102, 103, 104) can be in direct communication withsystem server 105, indirect communication withsystem server 105, and/or can be communicatively coordinated withsystem server 105 through a computer network such as the Internet. - It should be noted that while
FIG. 1 depicts system fordaily task optimization 100 with respect to aconsumer device 101,location database 102,transaction database 103,travel database 104, it should be understood that any number ofsuch computing devices 101 and/or databases can interact in the manner described herein. It should also be noted that whileFIG. 1 depicts a system fordaily task optimization 100 with respect to aparticular consumer 125, it should be understood that any number of consumers can interact with the with system fordaily task optimization 100 in the manner described herein. It should be further understood that a substantial number of the operations described herein are initiated by and/or performed in relation to such consumer computing devices. For example, as referenced above, such computing devices can execute applications and/or viewers that request and/or receive data fromsystem server 105, substantially in the manner described in detail herein. - It should be further understood that while the various computing devices and machines referenced herein, including but not limited to,
system server 105,consumer device 101,location database 102,transaction database 103, andtravel database 104 are referred to herein as individual/single devices and/or machines, in certain implementations the referenced devices and machines, and their associated and/or accompanying operations, features, and/or functionalities can be combined or arranged or otherwise employed by one or more of the computing devices and/or across any number of devices and/or machines, such as over a network connection, as is known to those of skill in the art. - In reference to
FIG. 2 ,system server 105 of the system fordaily task optimization 100 is arranged with various hardware and software components that serve to enable operation of thesystem 100, including ahardware processor 110,hardware memory 120,hardware storage 190 and acommunication interface 150.Processor 110 serves to execute software instructions that can be loaded intomemory 120.Processor 110 can be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation. - Preferably,
memory 120 and/orstorage 190 are accessible byprocessor 110, thereby enablingprocessor 110 to receive and execute instructions stored onmemory 120 and/or onstorage 190.Memory 120 can be, for example, a random access memory (RAM) or any other suitable volatile or non-volatile computer readable storage medium. In addition,memory 120 can be fixed or removable.Storage 190 can take various forms, depending on the particular implementation. For example,storage 190 can contain one or more hardware components or devices such as a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above.Storage 190 also can be fixed or removable or remote such as cloud based data storage systems. - One or
more software modules 130 are encoded instorage 190 and/or inmemory 120. Thesoftware modules 130 can comprise one or more software programs or applications having computer program code or a set of instructions executed inprocessor 110. Such computer program code or instructions for carrying out operations for aspects of the systems and methods disclosed herein can be written in any combination of one or more programming languages. The program code can execute entirely onsystem server 105, partly onsystem server 105, as a stand-alone software package, partly onsystem server 105 and partly on a remote computer/device such asconsumer device 101, or any computing devices maintaining thelocation database 102,transaction database 103 andtravel database 104 or entirely on such the remote computing devices. In the latter scenario, the remote computer can be connected tosystem server 105 through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). - Preferably, included among the
software modules 130 is adatabase module 170, auser analysis module 172, atravel module 174, amodeling module 176 and acommunication module 178 that are executed byprocessor 110. During execution of thesoftware modules 130, theprocessor 110 configures thesystem server 105 to perform various operations relating to the system for daily task optimization, as will be described in greater detail below. The program code ofsoftware modules 130 and one or more computer readable storage devices (such asmemory 120 and/or storage 190) can form a computer program product that can be manufactured and/or distributed in accordance with the present disclosure, as is known to those of ordinary skill in the art. - It should be understood that in some illustrative embodiments, one or more of
software modules 130 can be downloaded over a network tostorage 190 from another device or system viacommunication interface 150 for use within the for dailytask optimization system 100. In addition, it should be noted that other information and/or data relevant to the operation of the present systems and methods (such as user database 185) can also be stored onstorage 190, as will be discussed in greater detail below. - Also preferably stored on
storage 190 is auser database 185. As will be described in greater detail below, theuser database 185 contains and/or maintains various data items and elements that are utilized throughout the various operations of thesystem 100. The information stored in theuser database 185 can include, but is not limited to, user profiles, transaction data, location data, travel data, and other data relating to consumers, as will be described in greater detail herein. It should be noted that although theuser database 185 is depicted as being configured locally to thesystem server 105, in certain implementations, theuser database 185 and/or various of the data elements stored therein can be located remotely (such as on a remote device or server—not shown) and connected to thesystem server 105 through a network in a manner known to those of ordinary skill in the art. -
Communication interface 150 is also operatively connected to theprocessor 110 and can be any interface that enables communication between thesystem server 105 and external devices, machines and/or elements includingremote devices communication interface 150 includes, but is not limited to, a modem, a Network Interface Card (NIC), an integrated network interface, a radio frequency transmitter/receiver (e.g., Bluetooth, cellular, NFC), a satellite communication transmitter/receiver, an infrared port, a USB connection, and/or any other such interfaces for connectingsystem server 105 to other computing devices and/or communication networks, such as private networks and the Internet. Such connections can include a wired connection or a wireless connection (e.g., using the IEEE 802.11 standard), though it should be understood thatcommunication interface 150 can be practically any interface that enables communication to/from thesystem server 105. - The
communication interface 150 enables the exchange of information from third party components, such as iBeacon sensor devices and the networks with which such devices communicate. This enables thesystem 100 to model and generate one or more ordered sequences so that an optimum plan can be established for a particular consumer with the benefit of information from a plurality of other consumers. - The operation of the system for
daily task optimization 100 and the various elements and components described above will be further appreciated with reference to the method for system fordaily task optimization 100 as described below, in conjunction withFIG. 3 . - At some point prior to conducting the methods for daily task optimization in accordance with at least one embodiment disclosed herein, one or more of the consumers (e.g., consumer 125) can enroll to participate in the services facilitated by the
system 100. For example, a consumer can do this by connecting tosystem server 105 using aconsumer device 101 and actively providing personal information, such as, transaction account information and/or device information useable to identify the user among a plurality of consumers known to thelocation database 102 and the like. It should be understood that, alternatively, the individuals can simply provide a few key pieces of personal information, such as a name and/or transaction card number and grant permission for thesystem server 105 to access his or her spending records and/or location data from the appropriate data storage devices (e.g.,transaction database 103 or location database 102). In addition, the particular consumer's information can be automatically made available to the system by virtue of having a payment card issued by a participating card issuer. Using either personal information or transaction information,system server 105, via a transaction processing company, card issuer, and the like, can automatically retrieve spending records for the particular consumer. As used herein, a transaction processing company is an entity that may perform certain processing functions in connection with a financial transaction on behalf of financial institution, merchant, customer and the like. Any automatic access to a consumer's spending records or medical information would be subject to applicable data privacy and data usages laws. - It should be understood that spending records and/or location data can be provided by the consumer or also received directly from a participating payment service provider company, with the appropriate consents from the consumer. It should also be understood that the consumer can also require authorization before the system server retrieves spending records and/or location information. Thus, it should be apparent that in the exemplary system and routine described herein, depending on applicable laws and regulations, a consumer can opt in, thereby consenting to the use of their spending records as well as any other personal information he or she provides.
- For situations in which the systems discussed here collect personal information about individuals, the individuals may be provided with an opportunity to control the manner such information is collected with respect to programs or features that may collect personal information (e.g., information about an individual's location data, spending records or an individual's current location/address). Individuals may also be informed of the accompanying limitations on the functionality of a service that may result from limiting access to such personal information. In addition, certain data may be anonymized in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, identifiers associated with an individual's identity, transaction records and/or mobile device location records may be anonymized so that no personally identifiable information can be determined for the individuals.
- As noted above, the systems and methods disclosed herein plan optimized sequences of visits for a user by leveraging three different datasets: transactional data from the
transaction database 103, location data for users stored in a location database 102 (e.g., ibeach data, GPS tracking data) and travel data stored in atravel database 104. One component to the planning process includes modeling how long it takes for consumers to make purchases at various locations, by the back-end system server using a database of location data 102 (e.g., iBeacon, GPS and the like) and user transaction data (e.g., payment data) from thetransaction database 103. The model can be generated as a function of time of day and/or day of the year. Another component to the planning process includes modeling, by the system using a database of location/travel data (e.g., dynamic map data such as “Google Maps”), the locations of each of the merchant and how long it takes other consumers to travel between the merchant locations as a function of the time of day and/or day of the year. Using the models, the system is configured to estimate how long it will take the particular consumer to visit each of the merchant locations on the list and can algorithmically identify the most efficient order of the visits and the most appropriate route to complete the tasks/errands in the shortest total amount of time. Accordingly, the system uses historical and current travel/traffic data and the estimated visit durations extracted from profiles and data sets of other consumers to provide the particular consumer with an optimized order of visits and corresponding travel routes as opposed to sequentially running each visit. - Turning now to
FIG. 3 , a flow diagram illustrates anexemplary process flow 300 for modeling the duration of visits by consumers to a store in accordance with at least one embodiment disclosed herein. - At step 305 one or more consumers enter a merchant location. At step 310, consumer location information for the one or more consumers can be captured by a location tracking subsystem at the merchant location. The captured information can be stored in the
location database 102. More specifically, as noted above, in some implementations, interrogation signals from the consumers' respective mobile computing devices (e.g., consumer device 101) attempting to locate and determine available networks can be received by one or more passive receivers positioned about respective merchant locations. Based on the unique identifier included in the interrogations and associated time-stamps, the location tracking subsystem can determine a time of consumer entry into a merchant location, as well as uniquely identify the user using device identifiers (e.g., the unique MAC addresses for the consumer device) and store the information in a database, forexample location database 102. Alternatively, for example, consumers can be incentivized to actively check in with location tracking system using respective consumer devices upon entry to a merchant location. - In addition, at step 315, the one or more consumers conduct transactions at the merchant location using, for example, a transaction card at a point of sale terminal, and a record of the payment transaction can be stored in the
transaction database 103 atstep 320. As noted above, thetransaction database 103 can be operated by a payment service provider, such as MasterCard International Incorporated. Each record of a transaction can include information identifying a respective consumer, information identifying a respective merchant, a respective merchant location, an associated transaction time and other such information that describes the transaction and the parties. Transaction records are not limited to any single payment method and the transaction records associated with each consumer can include transactions using a variety of payment methods, such as a credit card, a debit card, a prepaid card, a gift card, bank account bill-pay service, ACH payment, a TSM account, contactless payment, a virtual account number, electronic wallet transaction, cash or a combination of the foregoing. - At
step 325, thesystem server processor 110, which is configured by executing one ormore software modules 130 including, preferably, thedatabase module 170, and thecommunication module 178, can maintain a database of consumer profiles that link, for the consumers, respective transaction records stored in thetransaction database 103 and respective location records stored in thelocation database 102. As noted above, the “identity” of the consumers can be anonymized so that no personally identifiable information can be determined for the consumers from thetransaction database 103 or thelocation database 102 or the profiles and information maintained by thesystem server 105. More specifically, using thelocation database 102 andtransaction database 103, unique user IDs (UIDs) can be created by the configured processor and associated with corresponding identifiers maintained by the location tracking and transaction processing platforms. For example, one exemplary way to create UIDs that link instances from different platforms comprises unique redemption (e.g., coupon) offers to consumers, say, for a MasterCard payment card or mobile wallet application when the consumer steps into a merchant location and provides information identifying their consumer device. Then, when the coupon is redeemed or the transaction has occurred, the configured processor can create a UID to associate the user's mobile device and transaction account identifier. It can be appreciated that alternative methods for linking a location tracking account and transaction accounts for a consumer are envisioned. - At
step 330, thesystem server 105 can determine the duration of each consumer visit to respective merchant locations using the database of location information and database of transaction information. In particular, theprocessor 110, which is configured by executing one or more of thesoftware modules 130 including, preferably, theanalysis module 172 and themodeling module 176, can calculate the duration of a visit by a consumer to a merchant location using the timestamps indicating when the consumer entered into the merchant location and the transaction time associated with the purchase made by the consumer at the merchant location. By aggregating the calculated visit duration for a plurality of users at a plurality of merchant locations, the configured processor can analyze the visit durations and algorithmically generate models that provide real-time estimations of how long the consumers take while they shop at respective merchant locations. The analysis can be performed using any number of mathematical analysis techniques, including regression modeling and other such statistical analysis tools, as would be understood by those in the art. In addition, the configured processor can be configured to segment the information based on time of day, date, day of the week, user profile information (e.g., demographics and the like), merchant location, and other such segmentation variables, as understood by those in the art. By way of further example, the configured processor can segment the data being analyzed or the results according to demographic data relating to the consumers that can include, but is not limited to, the particular consumer's age, address, location, education level, occupation, and family-related data, such as marital status and number of children and the like. Such demographic data can be determined by analyzing the transaction records retrieved from thetransaction database 103 and/or can be obtained from third party providers of such information or from the consumers themselves. - In addition, the analysis of the visit duration data and generation of the models can also include calculating a confidence level for the one or more models by the configured processor. For example, the confidence level can be calculated based on the statistical sufficiency of the information that was used to generate the model. Accordingly, the confidence level can represent the reliability of a model for predicting visit durations and can ultimately be used by the system to identify the optimized sequence of errands in view of the reliability of the projected visit durations. Similarly, the configured processor can select an alternative merchant location to be included into the optimized sequence based on the reliability of the model.
- In addition, in the event that the visit duration data for a particular merchant location is insufficient to accurately model visit durations, the configured processor can also predict visit durations based on one or more other merchant locations that are related to the particular merchant location. For example, the average visit duration at a particular Sears store during peak holiday hours can be determined based on the model(s) projecting visit durations at one or more other Sears stores in the area or similar department stores.
- Turning now to
FIG. 4 , a flow diagram illustrates anexemplary method 400 for generating an optimized sequence of visits by a first consumer to a plurality of merchant locations irrespective of travel distance in accordance with at least one embodiment disclosed herein. - The process begins at
step 405, in which theprocessor 110, which is configured by executing one or more of thesoftware modules 130, including, preferably, thecommunication module 178, and thedatabase module 170, receives errand data from a consumer concerning the errands that the consumer would like to run. In some implementations, the errand data is actively provided to thesystem server 105 by the consumer using a mobile device, e.g.,consumer device 101 over a network. It can be appreciated that theconsumer device 101 can be configured to connect with thesystem server 105 via a client application executing on the consumer device or similar software applications or portals (e.g., a web-browser based application) that also facilitate the capture of the errand data from the consumer. The errand data can include a start time and/or date that the consumer would like to begin the sequence of errands (e.g., visits), a start location for the consumer, a final location (i.e., where the user desires to end the sequence, say, home or another destination). The errand data also includes information that can be used to identify a plurality of intervening locations that the consumer desires to visit in between departing from the start location and arriving at the final location, for example merchant locations to be visited. - In some implementations, the information that can be used to identify the plurality of merchant locations can include the names of the merchants and/or the corresponding locations of the merchants. In addition or alternatively, if the user is flexible regarding which particular merchant location is visited, the user can provide a merchant name (e.g., “Sears”) or provide a type of merchant (e.g., “pharmacy” or “hardware store”). Accordingly, based on the merchant name or merchant type and an approximate location, the configured
processor 110 can automatically identify a corresponding merchant location. For example, the configuredprocessor 110 can query the travel database 104 (e.g., the Google Maps service that includes travel information and point of interest information) and for each named merchant/type provided in the errand data, identify corresponding merchant locations that are in the vicinity of the start location, final location and/or intermediate or surrounding areas. Moreover, if a plurality of merchant locations fit the criteria specified in the errand data, the configured processor can select a particular merchant location that reduces the total duration of the sequence of errands or otherwise optimizes the sequence of errands to be performed by the user, as further described herein. In other implementations, the consumer can provide a list of items to purchase and these items can be mapped to merchants and their respective locations. - Then at
step 410, one or more ordered sequences of locations to be visited by the consumer are generated. More particularly, theprocessor 110, which is configured by executing one or more of thesoftware modules 130, including, preferably, theanalysis module 172, generates one or more ordered sequences of locations defined by the errand data. Preferably, each of the one or more ordered sequences begins with the start location and ends with the final location and includes at least a portion of the plurality of merchant locations. The consecutive locations in an ordered sequence define respective travel segments between the consecutive locations. Accordingly, it can be appreciated that the one or more ordered sequences represent possible sequences of visits by the consumer to the merchant locations and travel from one location to the next. - In some implementations, the one or more ordered sequences can be generated to include each of the plurality of merchant locations, for example, if the consumer needs to visit every location. In some implementations, at least a portion of the plurality of merchant locations is included in the sequences. For example, the configured
processor 110 can include merchant locations in the ordered sequences in accordance with respective priorities. The respective priorities can be received by the configured processor from the consumer using theconsumer device 101 as part of the errand data or separately. The respective priorities can specify how important it is for the consumer to visit a particular merchant location. For example, the user can specify that the bank is a high priority whereas visiting the dry cleaners is a low priority. Accordingly, the system can include or omit a merchant location from the sequence of errands accordingly, for example, if it would increase the length of the errands significantly. - In some implementations, the system can generate sequences that correspond to all of the possible permutations of ordered locations, however, it can be appreciated that the configured
processor 110 can selectively generate a limited number of ordered sequences. For example, the ordered sequences can be generated based on geographic proximity to the start or final location, or based on the geographic proximity of merchant locations to one-another. In some implementations, the configured processor can identify one or more alternative merchant locations to those specified by the consumer and generate sequences using the one or more alternative locations. As further described herein, the system can project the total duration for each of the ordered sequences and select one or more optimized ordered sequences for the consumer to follow. - At
step 415, the total duration of the one or more ordered sequences is determined. In particular, theprocessor 110, which is configured by executing one or more of thesoftware modules 130, including, preferably, thedatabase module 170 and theanalysis module 172, thetravel module 174 and themodeling module 176 can calculate, for each of the one or more ordered sequences, a total duration based on the start time and the locations in respective sequences using the models for estimating the durations of visits at merchant locations and based on the database oftravel data 104. - As shown at
step 415A, calculating the total duration for a particular sequence can include calculating the duration of the travel time from the start location to the first merchant location in the sequence based on the start time. For example, using the start time and start location and the location of the ensuing visit in the sequence, theprocessor 110, which is configured by executing one or more of thesoftware modules 130, including, thetravel module 174, can query thetravel database 104 to determine the projected travel time. Accordingly, the configuredprocessor 110 can calculate the projected arrival time at the first merchant location in the sequence. As would be understood by those skilled in the art, the projected travel time can be determined based on current or historical travel conditions stored in thetravel database 104. In addition,step 415A can also include determining, by the configuredprocessor 110 using thetravel database 104, a preferred route for the travel segment, for example, if a number of possible routes are available. Accordingly, the estimated travel time for each of the travel segments is determined based on the preferred route. - Based on the projected arrival time, at
step 415B, the configured processor can calculate the duration of the visit at the first merchant location in the sequence. More specifically, theprocessor 110, which is configured by executing one or more of thesoftware modules 130, including, thetravel module 174, can calculate the predicted visit duration using the one or more of the models that were generated to project visit durations at the merchant location as described in relation toFIG. 3 . More specifically, these models are provided with information exchanged between thesystem server 105 and one or more subsystems in order to receive and process relevant information for calculating duration of visit at any given time and date. Based on the estimated arrival time and the calculated visit duration, the configured processor can calculate the consumer's estimated departure time from the first merchant location. - At
step 415C, the configured processor iteratively repeatssteps travel data 104, a travel time for each of the travel segments in the ordered sequence based on the start time, the calculated visit duration for any preceding visits to merchant locations and the calculated travel times for any preceding travel segments. As will be appreciated, the order of the location to visit influences the arrival time at a given location and, hence the predicted duration of the visit when arriving at the computed arrival time. - Then, at
step 415D, the configured processor calculates the total visit duration for each of the one or more ordered sequences. For example, theprocessor 110, which is configured by executing one or more of thesoftware modules 130, including, theanalysis module 172, can calculate the total visit duration by aggregating the calculated travel time for each of the travel segments and the calculated visit durations at each of the merchant locations in the one or more ordered sequences. - At
step 420, an optimal ordered sequence from among the one or more ordered sequences is identified based on the respective calculated total visit durations. In some implementations, the selected optimal ordered sequence is the sequence that has the lowest calculated total duration irrespective of a total distance of the respective travel segments. More specifically, theprocessor 110, which is configured by executing one or more of thesoftware modules 130, including, preferably, theanalysis module 172, can compare the calculated total durations for the one or more ordered sequences to identify the ordered sequence with the lowest total duration. - In some implementations, the optimal ordered sequence can be selected as a function of the total duration and in view of additional selection parameters. The selection parameters can include, for example and without limitation, a confidence level ascribed to the calculated total visit durations, the total travel distance and whether the ordered sequence includes some or all of the merchant locations. More specifically, the calculated total duration for a particular ordered sequence can be weighted or adjusted based on the confidence level associated with respective calculated visit durations at one or more merchant locations. Accordingly, if the configured processor determines that multiple ordered sequences have a comparable total duration (e.g., is within a prescribed range), the configured
processor 110 can select the ordered sequence that has the highest associated confidence level (e.g., the one with the most reliable projection of time). By way of further example, the optimal ordered sequence can be selected based on the total travel distance. By way of further example, the configured processor can select the ordered sequence that includes the most high-priority visits to merchant locations. It can be appreciated that the above methods for selecting an optimal sequence as a function of total duration, travel distance, reliability, priority of the visits and/or number of merchant locations included in the sequence are exemplary and alternative methods for selecting an optimal sequence can be implemented without departing from the scope of the disclosed embodiments. - In some implementations, the errand data provided by the consumer can include additional constraints, such as a time that the sequence must be finished by or one or more additional locations-of-interest that the consumer must visit during the trip. The locations-of-interest can be any location that a consumer will visit, for example a school, restaurant, office and the like and the consumer. In addition, the errand data can also include a time and duration of each visit to the locations-of-interest. Accordingly, the configured processor can arrange the sequence of merchant locations to be visited in accordance with the constraints. For example, the errand data might provide that the consumer wishes to visit a plurality of merchant locations, start the errands from a home location at 1:00 PM and return to the home location by 6:00 PM and provide that the consumer must visit the local elementary school at 3:15 PM for 30 minutes before continuing the errands. Based on the foregoing example, the configured
processor 110 can plan the sequence of visits to the merchant locations in view of the 30 minute stop to the local school at 3:15 PM, for example, by breaking down the trip into smaller segments (e.g., 1:00 PM departure from home location to 3:15 PM arrival at school and 3:45 departure from school to home location by 6:00 PM) and selecting merchant locations to be visited in each segment so as to comply with the constraints. - At
step 425, the optimal ordered sequence(s) from among the one or more ordered sequences are provided to the consumer. More specifically, theprocessor 110, which is configured by executing one or more of thesoftware modules 130, including, preferably, thecommunication module 178, can transmit at least the optimal ordered sequence to theconsumer device 101 for presentation to the consumer. In addition, the configured processor can also provide alternative sequences of visits to the consumer. For example, the fastest sequence of visits that includes all merchant locations in the errand data, the fastest sequence of visits that includes all high priority merchant locations to be visited, the sequence of visits selected based on total duration and the least total travel distance. In addition, the configured processor can also present to the consumer via theconsumer device 101, one or more ordered sequences that include alternative merchant locations that further optimize the sequence of errands. - In addition, the configured
processor 110 can receive, from theconsumer device 101 over a network, a selection by the consumer of the at least one optimal ordered sequence or additional instructions or modifications to the errand data or presented sequences. Based on the received instructions, the configured processor can revise or re-calculate the optimized sequences and present the revised sequences to the user. Based on the received selection, the configured processor can present additional details concerning the particular sequence and associated route(s). - In addition, at
step 430, the location of the consumer can be monitored as the consumer is running errands according to the selected optimal ordered sequence. More specifically, theprocessor 110, which is configured by executing one or more of thesoftware modules 130, including, preferably, theanalysis module 172 and thecommunication module 178, can determine a current location of the consumer as the consumer visits the plurality of merchant locations identified in the sequence in near real time. A user's current location can be received from the consumer device 101 (e.g., GPS data) or can be determined by the configured processor using information gathered from thelocation database 102 and/or thetransaction database 103. Using the current location, the configured processor can determine whether the consumer is running the errands in a manner that is consistent with the optimized sequence selected by the consumer. For example, the configured processor can determine whether the consumer has spent more than the predicted amount of time at one or more merchant locations. - Based on the current location of the consumer and the merchant locations already visited, the
processor 110, which is configured by executing one or more of thesoftware modules 130, including, preferably, theanalysis module 172, thetravel module 174, themodeling module 176 and thecommunication module 178, can repeat the steps of: generating the one or more ordered sequences, calculating the total duration, and identifying an optimal ordered sequence for the remaining merchant locations. Accordingly, the configured processor can dynamically refine the optimal sequence based on the consumer's location data, real-time and historical travel information and the models for predicting visit durations and provide the refined optimal ordered sequence to theconsumer device 101. - Accordingly it can be appreciated that the
system server 105, in conjunction with theconsumer device 101 andlocation database 102,transaction database 103 andtravel database 104, is configured to plan optimized sequence of errands and actively track current progress of the consumer and the conditions of the environment (e.g., travel conditions, current time etc.) and update the optimized sequence to aid the consumer in completing the tasks/errands in an efficient/more optimal manner. - At this juncture, it should be noted that although much of the foregoing description has been directed to systems and methods for task optimization in which a consumer visits merchant locations, the systems and methods disclosed herein can be similarly deployed and/or implemented in scenarios, situations, and settings far beyond the referenced scenarios of visiting merchant locations.
- It should be appreciated that more or fewer operations can be performed than shown in the figures and described. These operations can also be performed in a different order than those described. It is to be understood that like numerals in the drawings represent like elements through the several figures, and that not all components and/or steps described and illustrated with reference to the figures are required for all embodiments or arrangements.
- Thus, illustrative embodiments and arrangements of the present systems and methods provide a computer implemented method, computer system, and computer program product for determining optimized sequences of tasks. The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments and arrangements. In this regard, each block in the flowchart or block diagrams can represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
- The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
- Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
- The subject matter described above is provided by way of illustration only and should not be construed as limiting. Various modifications and changes can be made to the subject matter described herein without following the example embodiments and applications illustrated and described, and without departing from the true spirit and scope of the present disclosure, which is set forth in the following claims.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/600,381 US9412098B1 (en) | 2015-01-20 | 2015-01-20 | Systems and methods for daily task optimization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/600,381 US9412098B1 (en) | 2015-01-20 | 2015-01-20 | Systems and methods for daily task optimization |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160210594A1 true US20160210594A1 (en) | 2016-07-21 |
US9412098B1 US9412098B1 (en) | 2016-08-09 |
Family
ID=56408135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/600,381 Active 2035-02-11 US9412098B1 (en) | 2015-01-20 | 2015-01-20 | Systems and methods for daily task optimization |
Country Status (1)
Country | Link |
---|---|
US (1) | US9412098B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609768A (en) * | 2017-09-06 | 2018-01-19 | 北京五八到家信息技术有限公司 | A kind of service provider's management system and service provider's management method |
US20180060857A1 (en) * | 2016-08-29 | 2018-03-01 | Wal-Mart Stores, Inc. | Mobile Analytics-Based Identification |
US10200808B2 (en) * | 2015-04-14 | 2019-02-05 | At&T Mobility Ii Llc | Anonymization of location datasets for travel studies |
US10275575B1 (en) * | 2015-12-08 | 2019-04-30 | Massachusetts Mutual Life Insurance Company | Interactive meal-dataset-based map |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002000297A2 (en) * | 2000-06-23 | 2002-01-03 | Medtronic, Inc. | Portable extender for data transmission within a medical device communication system |
US7249036B2 (en) * | 2000-07-06 | 2007-07-24 | Cary Gresham Bayne | Method for clinician house calls utilizing portable computing and communications equipment |
US20030028399A1 (en) * | 2000-09-25 | 2003-02-06 | Duane Davis | Method and system for providing interactive health care services |
US8019622B2 (en) * | 2005-10-24 | 2011-09-13 | CellTrak Technologies, Inc. | Home health point-of-care and administration system |
US7681791B1 (en) * | 2005-12-28 | 2010-03-23 | Brett Beveridge | Efficient inventory and information management |
US8166410B2 (en) * | 2006-12-27 | 2012-04-24 | Mlslistings Inc. | Methods and systems of online mapping and planning driving tours |
DE102009014978A1 (en) * | 2008-10-10 | 2010-04-29 | Eads Deutschland Gmbh | Computationally efficient route determination along several predetermined waypoints with intermediate given links |
US9959513B2 (en) * | 2012-05-29 | 2018-05-01 | Ophio Software, Inc. | Systems and methods involving features of sales force processing and/or productivity |
US20130332180A1 (en) * | 2012-06-06 | 2013-12-12 | Caresource | Mobile care management system and associated methods |
-
2015
- 2015-01-20 US US14/600,381 patent/US9412098B1/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10200808B2 (en) * | 2015-04-14 | 2019-02-05 | At&T Mobility Ii Llc | Anonymization of location datasets for travel studies |
US10275575B1 (en) * | 2015-12-08 | 2019-04-30 | Massachusetts Mutual Life Insurance Company | Interactive meal-dataset-based map |
US20180060857A1 (en) * | 2016-08-29 | 2018-03-01 | Wal-Mart Stores, Inc. | Mobile Analytics-Based Identification |
CN107609768A (en) * | 2017-09-06 | 2018-01-19 | 北京五八到家信息技术有限公司 | A kind of service provider's management system and service provider's management method |
Also Published As
Publication number | Publication date |
---|---|
US9412098B1 (en) | 2016-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210725B2 (en) | Determining pricing information from merchant data | |
US11810115B2 (en) | Method and system for determining terminal locations | |
US9671230B2 (en) | Approaches to crowdsourced-based wait time estimates | |
US10614451B2 (en) | Systems and methods for multi-use account system | |
US20140180767A1 (en) | Method and system for assigning spending behaviors to geographic areas | |
US20150058088A1 (en) | Method and system for using transaction data to assign a trade area to a merchant location | |
US11475301B2 (en) | Method, system, and computer program product for determining relationships of entities associated with interactions | |
US20160162936A1 (en) | Notification of possible customers | |
US20140207524A1 (en) | Systems and methods for determining consumer shopping corridors | |
US20160314482A1 (en) | Determination of resource provider conditions using transaction data | |
US9203821B2 (en) | Automatic context aware preloading of credential emulator | |
US9412098B1 (en) | Systems and methods for daily task optimization | |
US11756037B2 (en) | Product analysis platform to perform a facial recognition analysis to provide information associated with a product to a user | |
EP3493137A1 (en) | Method, system, and computer program product for analyzing transaction activity clusters via travel path-generated regions | |
US20150100383A1 (en) | Method and system to measure customer traffic at a merchant location | |
US20160350792A1 (en) | Systems and methods for simulating reward opportunities | |
CN114467106A (en) | Graph learning and automatic behavior coordination platform | |
US20240112204A1 (en) | Systems and methods for merging networks of heterogeneous data | |
US20150186909A1 (en) | Method and system for consumer tracking using geolocation | |
US20150019290A1 (en) | Systems and methods for representing consumer behavior | |
US20180121971A1 (en) | Method and system for parking rate estimation based on geolocation and payment history | |
US20150161743A1 (en) | System and method for automatically classifying transaction information | |
US11301887B2 (en) | Recommendation engine for rideshare system and vehicle routing | |
US20160335640A1 (en) | Linking accounts using surface representations of geolocation history | |
US20170083958A1 (en) | Method and system for assessing parking capacity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MASTERCARD INTERNATIONAL INCORPORATED, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PASTORE, JEREMY;ZHAO, MICHAEL;ELANGOVAN, ARUN;REEL/FRAME:034757/0537 Effective date: 20150120 |
|
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 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |