US 11,783,436 B2
Magellan: a context-aware itinerary recommendation system built only using card-transaction data
Dhruv Gelda, Palo Alto, CA (US); Konik Kothari, Champaign, IL (US); Wei Zhang, Palo Alto, CA (US); and Hao Yang, Palo Alto, CA (US)
Assigned to Visa International Service Association, San Francisco, CA (US)
Filed by VISA INTERNATIONAL SERVICE ASSOCIATION, San Francisco, CA (US)
Filed on Jun. 3, 2020, as Appl. No. 16/891,993.
Claims priority of provisional application 62/857,143, filed on Jun. 4, 2019.
Prior Publication US 2020/0387988 A1, Dec. 10, 2020
Int. Cl. G06Q 50/14 (2012.01); G06Q 40/12 (2023.01); G06Q 30/0201 (2023.01); G06F 16/23 (2019.01); G06T 11/00 (2006.01); G06F 16/248 (2019.01); G06N 5/04 (2023.01); G06N 20/00 (2019.01); G06F 16/22 (2019.01)
CPC G06Q 50/14 (2013.01) [G06F 16/22 (2019.01); G06F 16/2379 (2019.01); G06F 16/248 (2019.01); G06N 5/04 (2013.01); G06N 20/00 (2019.01); G06Q 30/0201 (2013.01); G06Q 40/12 (2013.12); G06T 11/00 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A system for dynamically recommending a next object comprising:
a database for storing payment transaction data of a user, wherein the stored payment transaction data comprises at least one of a transaction date, a transaction time, a transaction amount, a transaction type, a merchant identification (ID), a merchant type, a payment device type, or a transaction ID;
an interface for receiving a new payment transaction data of the user;
a processor, being data-accessibly coupled to the database, is configured to execute computer-executable instructions for:
receiving the new payment transaction data of the user from the interface;
retrieving the stored payment transaction data of the user from the database;
retrieving further payment transaction data of further users, wherein the further payment transaction data has similar characteristics to the new payment transaction data of the user, wherein the similar characteristics are based on a function of k-nearest neighbors and a cosine similarity;
determining if the further payment transaction data includes a minimum number of transactions and a minimum transaction amount spent within a time period;
in response to a determination that the further payment transaction data includes a minimum number of transactions and a minimum transaction amount spent within the time period, determining if the minimum number of transactions occurred within a minimum geographic area;
in response to a determination the minimum number of transactions occurred within the minimum geographic area, organizing the further payment transaction data as a series of temporally ordered sequences;
generating a plurality of two-dimensional representations of the further payment transaction data, wherein each of the plurality of two-dimensional representations represents at least one of the further payment transaction data associated with the stored payment transaction data, wherein the plurality of two-dimensional representations forms a cluster of two-dimensional representations;
overlaying the cluster of two-dimensional representations of the further payment transaction data with quadtree decomposition boxes that represent a geographic area, wherein a location of the further transaction data included in the cluster of two-dimensional representations occurred within the geographic area;
decomposing the quadtree decomposition boxes based on the geographic area represented by the quadtree decomposition boxes and a number of payment transactions that occurred within the geographic area represented by the quadtree decomposition boxes, wherein decomposing the quadtree decomposition boxes includes:
recursively subdividing the quadtree decomposition until the number of payment transactions that occurred in the geographic area meets a predefined threshold;
building a distribution data as a function of the decomposed quadtree decomposition;
mapping the distribution data to the new payment transaction data of the user; and
generating a recommendation as a function of the new payment transaction data and mapping, wherein the recommendation identifies the next object.