US20190102801A1 - System and method for matching purchase records to mobile devices - Google Patents

System and method for matching purchase records to mobile devices Download PDF

Info

Publication number
US20190102801A1
US20190102801A1 US16/209,284 US201816209284A US2019102801A1 US 20190102801 A1 US20190102801 A1 US 20190102801A1 US 201816209284 A US201816209284 A US 201816209284A US 2019102801 A1 US2019102801 A1 US 2019102801A1
Authority
US
United States
Prior art keywords
mobile device
mobile
purchase
sales
data
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.)
Abandoned
Application number
US16/209,284
Inventor
Spencer J. Lee
David N. Purdy
Jason D. Lobel
Preston A. Harvey
Massimo Ilario
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adnoli LLC
Original Assignee
Adnoli LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adnoli LLC filed Critical Adnoli LLC
Priority to US16/209,284 priority Critical patent/US20190102801A1/en
Assigned to ADNOLI, LLC reassignment ADNOLI, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HARVEY, PRESTON A, ILARIO, MASSIMO, LEE, SPENCER J, LOBEL, JASON D, PURDY, DAVID N
Publication of US20190102801A1 publication Critical patent/US20190102801A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history

Definitions

  • the present invention generally relates to a system and method for digital advertising, and more particularly relates to a system and method for mobile advertising. More particularly still, the present disclosure relates to a system and method for matching purchase history to mobile devices based on public data to provide more effective mobile advertising to the Internet connected mobile devices.
  • Advertising is a form of promoting and marketing products and services to potential buyers.
  • online advertising and mobile advertising have become critically important for businesses to reach consumers.
  • mobile marketing is expanding at a high speed all over the world.
  • mobile devices allow marketers to engage their target consumers with their brands within a given proximity to a location and through a medium frequently connected to a consumer.
  • Mobile advertising is thus obtaining a far greater reach for product and service providers.
  • various methods of mobile advertising have been proposed and practiced. For example, mobile web banner, short text, video billboard, mobile in-app display, and other means have become commercially available.
  • U.S. Pat. No. 8,792,909 proposes matching a mobile device to a household based on the location data of the mobile device, and then targets the mobile device with promotions.
  • U.S. Pat. No. 8,489,596 profiles a user of a mobile device based on location data of the mobile device. The goal is to derive intelligence on the user's behavior, and thus make targeted advertising to the user's mobile device.
  • a purchaser's consumption information includes, for example, the types of products, brands or categories of products, product prices, purchase pattern, amount of consumption, time of purchases, etc.
  • PII personal identification information
  • Another object of this disclosure is to provide a system and method to match sales transactions to mobile devices of the corresponding purchasers and create contextual segments for delivering relevant messages.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data and credit card data.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, credit card type and last-four digits of credit cards.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, and retailer's Loyalty Card data.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, and retailer's Loyalty Cards' entire numbers.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, and retailer's Loyalty Cards' last-four digits.
  • Another object of this disclosure is to provide a system and method to iteratively match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, credit card type and last-four digits of credit cards.
  • Another object of this disclosure is to provide a system and method to match sales transactions to mobile devices of the corresponding purchasers, derive intelligence into the purchaser' past consumption, and provide targeted mobile advertising to the mobile devices based on the intelligence.
  • Another object of this disclosure is to provide a system and method to match sales transactions to mobile devices of the corresponding purchasers, derive intelligence into the purchasers' consumption, provide targeted mobile advertising to the mobile devices based on the intelligence, and measure the effectiveness of the mobile advertising.
  • Another object of this disclosure is to provide a system and method for determining purchase records of mobile devices to provide contextually relevant metadata for analytics, digital marketing and advertising.
  • Another object of this disclosure is to provide a system and method to iteratively match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data and a unique retailer ID.
  • the present disclosure provides a system and method for matching purchase history to mobile devices based on public data to provide more effective mobile advertising to the mobile devices.
  • the mobile advertising system includes a database, and a mobile advertising server.
  • the mobile advertising server includes a memory, a processing unit accessing the memory, a network interface coupled to the processing unit and operatively coupled to the database, and a server software application operating on the processing unit.
  • the mobile advertising server is adapted to communicate with a sales transaction server system and a mobile device location data server system over a wide area network via the network interface.
  • the server software application is adapted to retrieve a first set of purchase records from the sales transaction server system, and retrieve a set of mobile device location data records from the mobile device location data server system.
  • the set of mobile device location data records corresponds to a set of mobile devices; and the set of mobile device location data records includes a list of mobile device location data records of a first mobile device within the set of mobile devices.
  • the server software application is also adapted to match a subset of purchase records of the first set of purchase records to the list of mobile device location data records. The subset of purchase records forms a first purchase history of a buyer operating the first mobile device.
  • the server software application is adapted to determine a first mobile advertisement for the first mobile device based on the first purchase history.
  • the first mobile advertisement indicates a product.
  • the server software application is adapted to send the first mobile advertisement to the first mobile device, and store the first mobile advertisement into the database.
  • the present disclosure facilitates data onboarding and derives benefits therefrom.
  • Data onboarding bridges the gap between offline and online data.
  • the present disclosure enables marketers and other business entities to leverage the rich troves of customer purchase history data for more accurate and targeted advertising and marketing.
  • the mobile device and sales transaction matching system includes a database and a server computer having a memory, a processing unit accessing the memory, a network interface coupled to the processing unit and operatively coupled to the database, and a specialized server software application operating on the processing unit.
  • the server computer is adapted to communicate with a sales transaction server system and a mobile device location data server system.
  • the specialized server software application is adapted to retrieve a set of purchase records from the sales transaction server system, and retrieve a set of mobile data points from the mobile device location data server system. The set of mobile data points corresponds to a first mobile device.
  • the specialized server software application is also adapted to, for each mobile data point within the set of mobile data point, define a mobile data sphere, and for each purchase record within the set of purchase records, define a transaction sphere.
  • the specialized server software application is adapted to compare each the mobile data sphere with each the transaction sphere to determine a list of over lapping purchase records for each mobile data point, thereby forming a plurality of lists of over lapping purchase records for the first mobile device.
  • the mobile data sphere of the mobile data point overlaps with the transaction sphere of each purchase record within the list of over lapping purchase records corresponding to the mobile data point.
  • specialized server software application is adapted to create a similarity function for determining similarity between transactions, and apply the similarity function to each pair of purchase records within the plurality of lists of over lapping purchase records to determine purchase records of a user of the first mobile device.
  • Each the mobile data sphere indicates a physical distance from a location of corresponding the mobile data point and a radius time from a timestamp of corresponding the mobile data point.
  • Each the transaction sphere indicates a physical distance from a store location of corresponding the purchase record and radius of time from a timestamp of corresponding the purchase record.
  • a mobile data sphere is said to be overlapping with a transaction sphere based on a Euclidean distance or a Manhattan metric.
  • the similarity function returns a value between zero and one when applied to a pair of purchase records.
  • the similarity function is a Jaccard Index, a modified Jaccard Index, a Tanimoto similarity, or a Sorensen-Dice Index.
  • the similarity function is created based on a set of training purchase records.
  • the set of purchase records is public data and the set of mobile data points is public data.
  • Each purchase record within the set of purchase records includes a store location, a sales timestamp, and a product identifier.
  • Each data point within the set of mobile data points includes a mobile device identifier, a mobile device location, and a mobile device timestamp.
  • FIG. 1 is a simplified block diagram of a new mobile advertising system in accordance with this disclosure.
  • FIG. 2 is a flowchart depicting a process by which a new mobile advertising server system matches sales transactions to mobile devices of the corresponding purchasers, and provides improved mobile advertising to the mobile devices in accordance with the teachings of this disclosure.
  • FIG. 3 is a simplified block diagram depicting a sales transaction record in accordance with the teachings of this disclosure.
  • FIG. 4 is a simplified block diagram depicting a mobile device location data record in accordance with the teachings of this disclosure.
  • FIG. 5 is a simplified block diagram illustrating a mobile device-transaction record in accordance with the teachings of this disclosure.
  • FIG. 6 is a flowchart depicting a process by which a mobile advertising server provides targeted mobile advertising to mobile devices in accordance with the teachings of this disclosure.
  • FIG. 7 is a flowchart depicting a process by which a mobile advertising server determines the effectiveness of mobile advertising to mobile devices in accordance with the teachings of this disclosure.
  • FIG. 8 is a flowchart depicting a process by which a mobile advertising server matches sales records to mobile devices of the buyers of such sales records in accordance with the teachings of this disclosure.
  • FIG. 9 is a flowchart depicting a process by which a server matches sales records to mobile devices of the buyers of such sales records in accordance with the teachings of this disclosure.
  • FIG. 10 is a block diagram depicting a process by which a server matches a mobile device to a set of sales records in accordance with the teachings of this disclosure.
  • the illustrative system 100 includes a mobile advertising server system 140 and a database 142 operatively coupled to the server system 140 .
  • the system 100 further includes a mobile device location data server system 130 and a database 132 operatively coupled to the server system 130 .
  • the system 100 includes a sales transaction server system 122 and a database 124 operatively coupled to the server system 122 .
  • the server systems 122 , 130 and 140 communicate over a wide area network 120 , such as the Internet.
  • the system 100 also includes a set (meaning one or more) of point-of-sale (“POS”) systems 106 and 108 disposed and operated in different retail stores 102 and 104 respectively.
  • POS point-of-sale
  • Purchasers also referred to herein as users, consumers, shoppers and buyers
  • mobile devices 110 , 112 and 114 such as iPhones and other brands of smartphones
  • the purchase transactions are conducted and entered using the POSes 106 - 108 , which upload the purchase transactions to the server 122 .
  • the mobile devices 110 - 114 communicate with the system 100 via a public phone network 116 or WiFi networks that are operatively coupled to the wide area network 120 .
  • the mobile devices 110 - 114 correspond to different and unique buyers carrying and operating the devices 110 - 114 .
  • the server systems 122 , 130 and 140 each include at least one server computer, and can be standalone servers, distributed server systems, server farm systems or cloud server systems. They are operatively coupled to and accessible over the wide area network 120 .
  • the servers 122 , 130 and 140 each run a specialized server software application to provide functionality for matching sales transactions to mobile devices, and providing improved mobile advertising onto the mobile devices.
  • a server system is provided by, for example, Amazon's cloud computing service
  • the specialized server software application is deployed and runs on server computers of the cloud computing service.
  • Server software applications can be written in computer programming languages, such as JAVA, PYTHON, C#, C++, PHP, etc.
  • Each server computer within the server systems 122 , 130 , 140 includes one or more processing units having one or more processors or processing cores, some amount memory and one or more network interfaces that are operatively coupled to the processing units.
  • the databases 124 , 132 , 142 can be, for example, relational database systems or other types of database systems, such as Google BigTable.
  • the databases 124 , 132 , 142 store data which can be retrieved and modified. For example, when a sales transaction is made through the POS 108 , the sales record (also referred to herein as a transaction, a purchase record and a receipt) is uploaded to the server 122 , which then stores it into the database system 124 .
  • the server system 122 represents independent server systems for different retail stores or retail store chains. For example, retail chains Walmart and Target use different server systems to process and maintain their respective inventories and sales transactions.
  • the mobile advertising server system 140 periodically retrieves sales records from the server system 122 or directly from the database 124 , and optionally stores them into the database 142 .
  • the server system 122 uploads the purchase receipts to the server system 140 .
  • the server system 140 is said to retrieve purchase records from the server system 122 .
  • the sales transaction data is Association of Retail Technology Standards (“ARTS”) compliant. Where the sales transaction data does not follow ARTS compliant, it is normalized to a standard schema that follows ARTS.
  • the location and time information of the mobile devices 110 - 114 is tracked by the server system 130 and stored in the database system 132 .
  • location data includes, for example, Global Positioning System (“GPS”) coordinates (such as latitude, longitude and altitude), and a mobile device timestamp.
  • GPS Global Positioning System
  • a timestamp includes date and time when the underlying mobile device is at the location identified by the GPS coordinates.
  • a timestamp can also represent a range of date and time, such as 5:34 PM to 5:56 PM on Dec. 10, 2015.
  • the location data of a mobile device is uploaded to, for example, the server system 130 .
  • the location data is derived from various other sources, such as advertising calls, wireless beacons, passive carrier data, social website check-in data, WiFi hotspots, etc.
  • the derived location data is stored in, for example, the database 132 .
  • the mobile advertising server system 140 periodically retrieves location data of the mobile devices 110 - 114 from the server system 130 or directly from the database 132 , and stores it into the database 142 .
  • the server system 130 uploads the location data to the server system 140 .
  • the server system 140 is said to retrieve mobile device location data from the server system 130 .
  • the location data of a particular mobile device (such as 110 ) is also the location data of the user of the mobile device.
  • FIG. 2 a flowchart illustrating a process by which the server 140 matches sales transactions to mobile devices of the corresponding buyers, and provides improved advertising to the mobile devices based on the buyers' purchase history is shown and generally indicated at 200 .
  • the process 200 allows the server 140 to determine the purchase history of a buyer of a particular mobile device, analyze the purchase history to derive shopping intelligence on the buyer, and provide improved advertising on the mobile device.
  • the buyer can be a segment like buyer of a certain brand of products.
  • the matching can further enable third parties to generate more relevant advertising to the mobile device.
  • the specialized mobile advertising server software application running on the server 140 retrieves a set of sales records from, for example, the database 142 .
  • the sales records are further illustrated by reference to FIG. 3 .
  • the purchase receipt 300 includes a store identifier (“ID”) 302 , a store address 304 , a store location 306 (represented by, for example, GPS coordinates), a store location dimension 308 indicating the geographical dimensions of the store centered around the store location 306 , a sales transaction timestamp 310 , a payment type 312 of the transaction (such as cash, check, debit card, credit card, etc.), a credit card type 314 (such as VISA, MASTERCARD, AMERICAN EXPRESS, etc.), a last-four digit number 316 of the credit card number, one or more stockkeeping unit (“SKU”) identifiers 318 indicating the products purchased in the transactions, and one or more product descriptions 320 of the purchased products.
  • ID store identifier
  • store address 304 represented by, for example, GPS coordinates
  • store location dimension 308 indicating the geographical dimensions of the store centered around the store location 306
  • sales transaction timestamp 310 a sales transaction timestamp 310
  • the credit card type 314 and the last-four digit number 316 are collectively referred to herein as a credit card ID. Moreover, the credit card type 314 and the last-four digit number 316 each are referred to herein as a credit card ID. A person of ordinary skill in the art would appreciate that the record 300 can include additional data elements.
  • the field 314 indicates the type of a retailer Loyalty Card and the field 316 contains the entire number or the last-four digit of the retailer Loyalty Card.
  • the last-four digit of either the retailer Loyalty Card or the credit card is public data.
  • the credit card data and the retailer Loyalty Card data are Payment Card Industry (“PCI”) compliant.
  • the record 300 includes a purchase ID 322 which uniquely identifies the transaction. For example, it is generated when the record 300 is stored into the database 142 . It should be noted that data contained in the record 300 is public data that is not protected under relevant privacy laws.
  • the specialized server software application retrieves a set of mobile device location data records from, for example, the database 142 .
  • the mobile device location data records are further illustrated by reference to FIG. 4 .
  • FIG. 4 an illustrative mobile device location data records is shown and generally indicated at 400 .
  • the location record 400 includes a mobile device ID 402 , a mobile device location 404 (such as a GPS latitude-longitude pair), a mobile device timestamp 406 indicating the time or a time range when the mobile device is located at the location 404 , and additional data 408 .
  • the mobile device ID 402 can be an Identifier for Advertising (“IDFA”) proposed by Apple Inc., an Android Advertising ID (“AAID”) proposed by Google, or a Windows Advertising ID (“WAID”) proposed by Microsoft or other unique mobile device identifier provided by an operating system or manufacturer.
  • IDFA Identifier for Advertising
  • AAID Android Advertising ID
  • WAID Windows Advertising ID
  • the ID 402 uniquely identifies a mobile device. It should be noted that data contained in the record 400 is public data that is not protected under relevant privacy laws. It should be noted that additional data elements can be included in the record 400 .
  • the specialized server software application matches sales records to mobile devices of the purchasers of products on the sales records.
  • One illustrative matching process is shown by reference to FIG. 8 .
  • FIG. 8 a flowchart depicting the process by which the server 140 matches sales records to mobile devices is shown and generally indicated at 800 .
  • the specialized server software application determines a cluster of mobile device location data records of mobile devices that are located at the store when the underlying sales transaction is created through, for example, a POS. Accordingly, at 802 , a transaction-to-devices map between each sales transaction and a cluster of mobile devices is formed.
  • a mobile device (such as 110 ) is said to be at or located at a store (such as 102 ) when the GPS location 404 of the mobile device 110 is within the store location dimension 308 from the store location 306 , and the timestamp 310 of the sales record matches the timestamp 406 .
  • the GPS location 404 of the mobile device 110 is said to be within the store location dimension 308 from the store location 306 when the location 404 is within the geographical area (such as a rectangle or a circle centered around the store location 306 ) defined by the store location dimension 308 and the store location 306 .
  • the timestamp 310 is said to match the timestamp 406 when the timestamp 310 is same as the timestamp 406 , the timestamp 310 is within the timestamp 406 in the case where the timestamp 406 is a range of time, or the timestamp 310 is within a predetermined range (such as one minute) from the timestamp 406 .
  • the process 800 can be performed iteratively to improve matching accuracy and process new sales records.
  • other matching methods can be applied to determine the buyer or buyers of a given set of sales transactions.
  • the specialized server software application determines a list of sales records having a common credit card type 314 and a common last-four digit number 316 . It should be noted that each sales record in the list corresponds a mobile device cluster and a transaction-to-devices map. In addition, at 804 , the server application may determine multiple lists of sales records.
  • the specialized server software application determines a mobile device, such as the mobile device 110 , which is present in the mobile device cluster of each sales record in the list of sales records identified at 804 .
  • the specialized server software application determines a mobile device that is present in the mobile device clusters of a certain portion (such as 80%) of sales records in the list of sales records identified at 804 .
  • the specialized server software application stores the associations between the mobile device determined at 806 , and the sales records in the list into the database 142 .
  • the association also referred to herein as device-transaction record and purchaser-transaction record, is further illustrated by reference to FIG. 5 .
  • the record 500 includes a mobile device ID 402 and a purchase record ID 322 .
  • a collection of the records 500 of a common mobile device identifies a purchase history (also referred to herein as shopping history) of the buyer owning the mobile device.
  • the specialized server software application analyzes the purchases of buyers, such as a buyer corresponding to the mobile device 110 .
  • the analysis results in intelligence about the purchase behavior, purchased products, products of likely future purchases, consumption power, and other information of the buyer. For example, at 208 , the server 140 determines that the buyer of the mobile device 110 purchases a pack of soft drinks each week.
  • the specialized server software application applies the intelligence into the buyer's consumption, and provides targeted mobile advertising to the mobile device 110 of the buyer.
  • the specialized server software application sends a promotion (also referred to herein as mobile advertisement) for soft drink of a particular brand to the mobile device 110 .
  • the application receives match metadata and can send a contextually relevant promotion to the device 110 .
  • the promotion indicates, for example, the brand, the product, the price, a discount, and/or other marketing information.
  • the specialized server software application stores the promotion sent to the mobile device 110 into the database 142 .
  • the stored information at 212 is also referred to herein as a mobile advertisement record, which indicates the promotion, the mobile device 110 , the time of the improved mobile advertisement, and other information.
  • the server 140 determines a product to promote using the improved mobile advertising. For example, products are categorized into segments. Each buyer's purchase history is then analyzed to determine the segments of products that the buyer has purchased. The selected product, such as a new brand or type of soft drink, is chosen from one of the segments.
  • the specialized server software application determines the mobile devices to send the promotion to. For example, at 604 , the server 140 selects a group of mobile devices of buyers who have purchased the same type of product in the last week or month.
  • the specialized server software application sends the promotion to the selected mobile devices over the network 120 .
  • the mobile advertisement can be sent to the mobile devices through one or more mobile applications, web pages, audio, video, application programming interview (“API”), web services, or other type of media.
  • API application programming interview
  • the present teachings can also be used to determine the effectiveness of the mobile advertising, which is further illustrated by reference to FIG. 7 .
  • the specialized server software application running on the server 140 selects a group of mobile devices that have received a particular mobile advertisement. This group of mobile devices is referred to herein as an exposed group of mobile devices. The buyers owning the exposed group of mobile devices are referred to herein as an exposed group of buyers.
  • the specialized server software application selects a second group (also referred to herein as a control group of mobile devices) of mobile devices. The buyers owning the control group of mobile devices are referred to herein as a control group of buyers. The control group does not receive the mobile advertisement.
  • the control group of buyers has the same or similar purchase history as the exposed group of buyers. For example, the two groups have purchased similar products of similar prices with similar purchase pattern.
  • the specialized server software application retrieves purchase records of the exposed group of buyers. The retrieved purchase transactions are entered after the mobile advertisement is sent to the exposed group of mobile devices.
  • the specialized server software application retrieves purchase records of the control group of buyers. The retrieved purchase transactions are entered after the mobile advertisement is sent to the control group of mobile devices.
  • the specialized server software application compares the purchase records of the exposed group of buyers to that of the control group of buyers to determine the effectiveness of the mobile advertisement sent to the exposed group of mobile devices. For example, where the mobile advertisement is a promotion for a new tablet computer model from a particular maker. The total purchases of the new computer model by the exposed group is determined and compared to that of the control group. For instance, where the respective total sales are $200,000 and $100,000, the effectiveness of the improved mobile advertising is thus 200%.
  • the system 100 includes a third-party server system 152 , such as a marketer's server system.
  • the server system 152 receives the consumer intelligence information from the server system 140 and then performs the process 600 .
  • each MC corresponds to a record 400 .
  • d stands for a distance from the store location 306 of the sales transaction
  • t stands for a radius of time in seconds from the timestamp 310
  • id stands for the purchase ID 322
  • ts stands for the timestamp 310
  • I stands for the store location 306
  • items stand for the product SKU 318 or a collection of purchased items in general.
  • the server software application compares every mobile data sphere ⁇ MCi, d, t> to every transaction sphere ⁇ Ti, d, t> to produce two datasets.
  • the first dataset is keyed by the tuple ⁇ MCi, d, t> while the second dataset is keyed by the tuple ⁇ Ti, d, t>.
  • MCresults This list is also denoted herein as MCresults.
  • a list of mobile data points MCt1 (MC1, MC2, . . . ). This list is also denoted herein as Tresults.
  • the overlap of two spheres can be determined based on Euclidean distance, Manhattan metric, or other metrics.
  • each mobile device ID 402 there is a set of corresponding mobile data points ⁇ MC1, MC2, . . . ⁇ and, a list of transactions for each mobile data point.
  • the server software application creates a similarity function SF(T1, T2), which takes any two transactions and returns a value between [0,1] inclusively and continuously.
  • a similarity of 0 indicates the two objects are not similar.
  • a value of 1 indicates the objects are identical.
  • the purpose of the function is to measure the similarity of any two transactions consistently and objectively.
  • Example implementations for this function include the Jaccard Index on the transaction items, and modified Jaccard index with an additional point-at-infinity, Tanimoto similarity, and S ⁇ rensen-Dice index.
  • machine-learned similarity functions are created using supervised and unsupervised learning algorithms. Such similarity functions are created using, for example, training set of known purchase history.
  • the server software application applies the similarity function to every combination of transactions pairwise of TMid.
  • the application determines the set of transactions made by the user of the mobile device.
  • the transaction vector (id, ts, I, items) is expanded to include additional data, such as transactional meta-data.
  • Tenriched (id, ts, I, items, metaData1, metaData2, . . . ).
  • the additional transaction meta-data elements include, for example, product size, product brand, purchase tender meta-data (such as credit card numbers, loyalty numbers, NFC identifiers, etc.).
  • Such additional meta-data points can be used to generate modified similarity functions using more sophisticatedly trained machine learned outputs.
  • the additional dimensions of vector clustering can produce more accurate determination of a mobile device user's sales transactions.
  • instance-based machine learning algorithms are used for matching a mobile device to a list of sales records.
  • Nearest neighbors also known as similarity search
  • k points such as POS transactions
  • Y a set of points in Y
  • the various nearest neighbor approaches depend on a few factors, such as number of data points, number of features (meaning dimensions) and similarity.
  • the similarity is determined by, for example, distance functions (such as Euclidean, Cosine, Jaccard, 1-norm, . . . ).
  • Linear search, K-D Tree and Ball Tree algorithms can be used to match mobile devices to respective purchase history.
  • Linear search is a brute-force method used to find the nearest-neighbor of a point x in a database Y.
  • Linear search includes the computation of the distances between the point x (meaning mobile device data point) and all points (meaning sales transactions T) in Y, and sorting the distances to find the smallest ones. Smaller distance means higher similarity between the objects.
  • a similar linear approach includes computing the distance from point x to every other point in the database Y, and keeping track of the shortest distance. In such a case, the system does not need to sort the distances. No additional space complexity is necessary.
  • K-D Tree For a low-dimensional space (such as spaces with less than 20 dimensions).
  • a tree-based data structure K-D Tree (also known as K-dimensional tree) can be used to organize data points in a space with k-dimensions.
  • K-D Tree data structure if a point MC (meaning a mobile data point) is very distant from a point T 1 (meaning a sales transaction), and point T 1 is close to a point T 2 (meaning a sales transaction), then point MC and T 2 are also distant from each other are thus not similar. Consequently, T 2 can be discarded without having to explicitly calculate its distance from MC. Accordingly, with the K-D Tree algorithm, the computational cost of nearest-neighbor algorithm can be reduced drastically.
  • the Ball Tree can be a more efficient data structure for determining a mobile device user's sales records. Ball Tree speeds up the discovery of neighbor points. While the KD-trees partition data is based on Cartesian axes, in Ball Trees the data is partitioned into D-dimensional hyperspheres (also referred to as balls), represented each by a tree node containing a subset of points to be searched. Each point can only belong to one ball based upon its distance from the ball's center (also referred to as centroid). Each leaf node in the tree defines a ball and defines all data points inside that ball.
  • D-dimensional hyperspheres also referred to as balls
  • the algorithm maintains a priority queue of the k-nearest points. For each visiting node, any subtree whose distance from the MC is greater than the furthest point encountered can be ignored for the rest of the search.
  • the tree pruning reduces complexity.
  • a point MC must fall within any of the hyperspheres. All the points T n in the same hypersphere will be considered nearest, hence similar to the point MC.
  • Brute-force approach can be computationally very expensive when the databases are large and contain with billions of records where each record may have hundreds of dimensions.
  • similar items can be quickly found using locality-sensitive hashing for approximate or near matches. However, this will not find the exact matches but only the most similar pairs or all pairs above a certain similarity threshold.
  • every data point (such as a mobile device data point) will be hashed and it's expected that similar data points (such as transactions), such as those points that have a small distance from each other, will have a similar hash value. With a high probability, these points are going to be hashed to the same bucket.
  • a series of distance measures can be used to find distance between vectors, such as Euclidean, Cosine, Edit, Hamming and Jaccard.
  • a min-wise hash using Jaccard index can be used as the hashing method.
  • the Jaccard Similarity can be defined as follow:
  • a mobile device data point and a sales transaction define the sets and the features in each vector define the elements of each set, then the similarity between them can be computed.
  • the function will calculate the probability that an element from the sets is also in their intersection. More elements (meaning features) are common to both sets. A higher probability means a higher similarity between the mobile device data points and the sales transaction vectors.
  • the system 100 estimates the Jaccard similarity for each pair J(A,B) more efficiently without having to calculate union and intersection for each set, which can be computationally expensive.
  • the server 140 tracks and stores the user's interaction (such as clicks) with mobile advertisements sent to the mobile device 110 .
  • the server 140 then use such data to refine collaborating filtering and deep machine learning models to make more accurate recommendations of goods to the user.
  • collaborative filtering techniques can be used to examine a shopper's POS history to find similarities with other shoppers and/or correlations between items. Such models are based on explicit or implicit ratings, preferences, likes, etc.
  • the system 100 does not take into consideration any product features or descriptive text, since the system 100 may not be aware of the type of item, or details about the items the shopper is interacting with, except that the user has expressed a certain preference for the item.
  • Some drawbacks of collaborative filtering can be overcome using content-based algorithms that calculate similarities using item metadata and content such as keywords, tags, or any text describing the product and user's profile. This approach focuses mainly on similarities between items, rather than which user has interacted with the items.
  • a machine deep learning system can analyze POS sales data and learn patterns and shopper's profiles. Such a learning system can be used to model the interest and habits of shoppers over time.
  • the neural network composed of various layers, using input and output nodes learns and adapts continuously according to the shopper's preferences and interactions with the mobile advertisements. Whether the shopper has interacted positively or negatively, new data is added to the neural network, reshaping it and updating shopper's profiles to discover new patterns and interests more accurately.
  • Using neural network to build and recognize patterns between users and items. Such patterns are then enhanced by using collaborative filtering and content-based to serve personalized content.
  • the accuracy and effectiveness of the promotions to a mobile device user is evaluated using one or more techniques, such as A/B testing, Root Mean Squared Error (“RMSE”), etc.
  • A/B testing checks whether the system 100 actually increases usage, web traffic, clicks, etc. Selecting a test user putting on the side part of the training data.
  • the recommendation system then generates recommendations for the test user based only on a part of the user history.
  • the new recommended items are compared to the data that was held back to see if the predictions are correct, RMSE predicts rating for a test set of user-item pair which are compared to the real ratings from a test set of training data. The average difference from the real value is calculated.
  • Precision is defined by the ratio of the number of relevant recommendations and the top N (meaning a positive integer) recommendations made.
  • a precision score of 1.0 means that every recommendations from the top N list was relevant.
  • Recall is defined by the ratio of the number of relevant recommendations and the total number of relevant recommendations.
  • a recall score of 1.0 means that all relevant recommendations were in the top N list.
  • the process 800 is implemented using machine learning methods and statistical models to match sales records to mobile devices more accurately.
  • the process 200 is performed iteratively to improve matching accuracy.
  • the measure of mobile advertising effectiveness is determined based on the number of units sold to the exposed group and the control group respectively.

Abstract

A mobile device and sales transaction matching system matches sales records to a buyer operating a mobile device. The sales transactions are generated by point-of-sales system, The matching system defines a mobile data sphere for each mobile data point and a transaction sphere for each purchase record before determining whether they overlap or not. For each mobile data point, there is a list of corresponding overlapping transactions. Similarity function is created and applied to the two dimensional maps of overlapping transactions corresponding to a list of mobile data points of the mobile device. The application of the similarity function determines the transactions that are made by the buyer. Both the mobile data points and purchase records are public data. Each sphere indicates a physical distance and a time radius.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation application of co-pending U.S. patent application Ser. No. 14/990,964, entitled “SYSTEM AND METHOD FOR DETERMINING PURCHASE RECORDS OF MOBILE DEVICES TO PROVIDE EFFECTIVE MOBILE ADVERTISING,” filed Jan. 8, 2016, assigned to ADNOLI, LLC of Chicago, Ill., and which is hereby incorporated by reference in its entirety to provide continuity of disclosure.
  • FIELD OF THE DISCLOSURE
  • The present invention generally relates to a system and method for digital advertising, and more particularly relates to a system and method for mobile advertising. More particularly still, the present disclosure relates to a system and method for matching purchase history to mobile devices based on public data to provide more effective mobile advertising to the Internet connected mobile devices.
  • DESCRIPTION OF BACKGROUND
  • Advertising is a form of promoting and marketing products and services to potential buyers. With the rapid growth of Internet technologies and wireless communication technologies, online advertising and mobile advertising have become critically important for businesses to reach consumers. In particular, with the increasing popularity of smart phones (such as iPhones), mobile marketing is expanding at a high speed all over the world. As an interactive medium, mobile devices allow marketers to engage their target consumers with their brands within a given proximity to a location and through a medium frequently connected to a consumer. Mobile advertising is thus obtaining a far greater reach for product and service providers. Accordingly, various methods of mobile advertising have been proposed and practiced. For example, mobile web banner, short text, video billboard, mobile in-app display, and other means have become commercially available.
  • However, due to various factors, mobile advertising is still not an effective marketing tool In response, targeted advertising onto mobile devices (such as smart phones, tablet computers, digital billboards, connected cars and watches, etc.) based on proprietary information has been proposed. To provide such targeted mobile advertising, a marketer analyzes a user's past purchase transactions and sends contextually relevant message (such as promotions) to the user's mobile device. This approach is feasible only when the marketer has knowledge of the identity of the user, the user's past purchase data and the user's mobile device identification. Such prerequisite information is not available in many other use cases.
  • U.S. Pat. No. 8,792,909 proposes matching a mobile device to a household based on the location data of the mobile device, and then targets the mobile device with promotions. U.S. Pat. No. 8,489,596 profiles a user of a mobile device based on location data of the mobile device. The goal is to derive intelligence on the user's behavior, and thus make targeted advertising to the user's mobile device.
  • However, the conventional methods for mobile advertising fail to obtain relevant, high-quality intelligence on consumers' past consumption to provide effective advertising onto their mobile devices and may result in spam, irrelevant or unwanted messages. A purchaser's consumption information includes, for example, the types of products, brands or categories of products, product prices, purchase pattern, amount of consumption, time of purchases, etc.
  • Accordingly, there is a need for a new system and method for matching consumers' past purchase records to their mobile devices, and provide more effective mobile advertising to the mobile devices based on consumption intelligence derived from the past purchase records. There is a further need for the new mobile advertising system and method to rely on publicly available data alone, not private personal identification information (“PII”) of the consumers. PII is data that could potentially identify a specific individual. In other words, PII data is information that allows one individual to be distinguished from another.
  • OBJECTS OF THE DISCLOSED SYSTEM, METHOD, AND APPARATUS
  • Accordingly, it is an object of this disclosure to provide a system and method to match sales transactions to mobile devices of the corresponding purchasers.
  • Another object of this disclosure is to provide a system and method to match sales transactions to mobile devices of the corresponding purchasers and create contextual segments for delivering relevant messages.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data and credit card data.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, credit card type and last-four digits of credit cards.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, and retailer's Loyalty Card data.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, and retailer's Loyalty Cards' entire numbers.
  • Another object of this disclosure is to provide a system and method to match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, and retailer's Loyalty Cards' last-four digits.
  • Another object of this disclosure is to provide a system and method to iteratively match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data, credit card type and last-four digits of credit cards.
  • Another object of this disclosure is to provide a system and method to match sales transactions to mobile devices of the corresponding purchasers, derive intelligence into the purchaser' past consumption, and provide targeted mobile advertising to the mobile devices based on the intelligence.
  • Another object of this disclosure is to provide a system and method to match sales transactions to mobile devices of the corresponding purchasers, derive intelligence into the purchasers' consumption, provide targeted mobile advertising to the mobile devices based on the intelligence, and measure the effectiveness of the mobile advertising.
  • Another object of this disclosure is to provide a system and method for determining purchase records of mobile devices to provide contextually relevant metadata for analytics, digital marketing and advertising.
  • Another object of this disclosure is to provide a system and method to iteratively match public sales transactions to mobile devices of the corresponding purchasers using public mobile device location data and a unique retailer ID.
  • Other advantages of this disclosure will be clear to a person of ordinary skill in the art. It should be understood, however, that a system or method could practice the disclosure while not achieving all of the enumerated advantages, and that the protected disclosure is defined by the claims.
  • SUMMARY OF THE DISCLOSURE
  • Generally speaking, pursuant to the various embodiments, the present disclosure provides a system and method for matching purchase history to mobile devices based on public data to provide more effective mobile advertising to the mobile devices. The mobile advertising system includes a database, and a mobile advertising server. The mobile advertising server includes a memory, a processing unit accessing the memory, a network interface coupled to the processing unit and operatively coupled to the database, and a server software application operating on the processing unit. The mobile advertising server is adapted to communicate with a sales transaction server system and a mobile device location data server system over a wide area network via the network interface. The server software application is adapted to retrieve a first set of purchase records from the sales transaction server system, and retrieve a set of mobile device location data records from the mobile device location data server system. The set of mobile device location data records corresponds to a set of mobile devices; and the set of mobile device location data records includes a list of mobile device location data records of a first mobile device within the set of mobile devices. The server software application is also adapted to match a subset of purchase records of the first set of purchase records to the list of mobile device location data records. The subset of purchase records forms a first purchase history of a buyer operating the first mobile device. Moreover, the server software application is adapted to determine a first mobile advertisement for the first mobile device based on the first purchase history. The first mobile advertisement indicates a product. Furthermore, the server software application is adapted to send the first mobile advertisement to the first mobile device, and store the first mobile advertisement into the database.
  • The present disclosure facilitates data onboarding and derives benefits therefrom. Data onboarding bridges the gap between offline and online data. The present disclosure enables marketers and other business entities to leverage the rich troves of customer purchase history data for more accurate and targeted advertising and marketing.
  • Further in accordance with the present teachings is a mobile device and sales transaction matching system. The mobile device and sales transaction matching system includes a database and a server computer having a memory, a processing unit accessing the memory, a network interface coupled to the processing unit and operatively coupled to the database, and a specialized server software application operating on the processing unit. The server computer is adapted to communicate with a sales transaction server system and a mobile device location data server system. The specialized server software application is adapted to retrieve a set of purchase records from the sales transaction server system, and retrieve a set of mobile data points from the mobile device location data server system. The set of mobile data points corresponds to a first mobile device.
    The specialized server software application is also adapted to, for each mobile data point within the set of mobile data point, define a mobile data sphere, and for each purchase record within the set of purchase records, define a transaction sphere. In addition, the specialized server software application is adapted to compare each the mobile data sphere with each the transaction sphere to determine a list of over lapping purchase records for each mobile data point, thereby forming a plurality of lists of over lapping purchase records for the first mobile device. The mobile data sphere of the mobile data point overlaps with the transaction sphere of each purchase record within the list of over lapping purchase records corresponding to the mobile data point.
    Moreover, specialized server software application is adapted to create a similarity function for determining similarity between transactions, and apply the similarity function to each pair of purchase records within the plurality of lists of over lapping purchase records to determine purchase records of a user of the first mobile device. Each the mobile data sphere indicates a physical distance from a location of corresponding the mobile data point and a radius time from a timestamp of corresponding the mobile data point. Each the transaction sphere indicates a physical distance from a store location of corresponding the purchase record and radius of time from a timestamp of corresponding the purchase record. A mobile data sphere is said to be overlapping with a transaction sphere based on a Euclidean distance or a Manhattan metric. The similarity function returns a value between zero and one when applied to a pair of purchase records. The similarity function is a Jaccard Index, a modified Jaccard Index, a Tanimoto similarity, or a Sorensen-Dice Index. The similarity function is created based on a set of training purchase records. The set of purchase records is public data and the set of mobile data points is public data. Each purchase record within the set of purchase records includes a store location, a sales timestamp, and a product identifier. Each data point within the set of mobile data points includes a mobile device identifier, a mobile device location, and a mobile device timestamp.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Although the characteristic features of this disclosure will be particularly pointed out in the claims, the invention itself, and the manner in which it may be made and used, may be better understood by referring to the following description taken in connection with the accompanying drawings forming a part hereof, wherein like reference numerals refer to like parts throughout the several views and in which:
  • FIG. 1 is a simplified block diagram of a new mobile advertising system in accordance with this disclosure.
  • FIG. 2 is a flowchart depicting a process by which a new mobile advertising server system matches sales transactions to mobile devices of the corresponding purchasers, and provides improved mobile advertising to the mobile devices in accordance with the teachings of this disclosure.
  • FIG. 3 is a simplified block diagram depicting a sales transaction record in accordance with the teachings of this disclosure.
  • FIG. 4 is a simplified block diagram depicting a mobile device location data record in accordance with the teachings of this disclosure.
  • FIG. 5 is a simplified block diagram illustrating a mobile device-transaction record in accordance with the teachings of this disclosure.
  • FIG. 6 is a flowchart depicting a process by which a mobile advertising server provides targeted mobile advertising to mobile devices in accordance with the teachings of this disclosure.
  • FIG. 7 is a flowchart depicting a process by which a mobile advertising server determines the effectiveness of mobile advertising to mobile devices in accordance with the teachings of this disclosure.
  • FIG. 8 is a flowchart depicting a process by which a mobile advertising server matches sales records to mobile devices of the buyers of such sales records in accordance with the teachings of this disclosure.
  • FIG. 9 is a flowchart depicting a process by which a server matches sales records to mobile devices of the buyers of such sales records in accordance with the teachings of this disclosure.
  • FIG. 10 is a block diagram depicting a process by which a server matches a mobile device to a set of sales records in accordance with the teachings of this disclosure.
  • A person of ordinary skills in the art will appreciate that elements of the figures above are illustrated for simplicity and clarity, and are not necessarily drawn to scale. The dimensions of some elements in the figures may have been exaggerated relative to other elements to help understanding of the present teachings. Furthermore, a particular order in which certain elements, parts, components, modules, steps, actions, events and/or processes are described or illustrated may not be actually required. A person of ordinary skills in the art will appreciate that, for the purpose of simplicity and clarity of illustration, some commonly known and well-understood elements that are useful and/or necessary in a commercially feasible embodiment may not be depicted in order to provide a clear view of various embodiments in accordance with the present teachings.
  • DETAILED DESCRIPTION
  • Turning to the Figures and to FIG. 1 in particular, a system for matching store sales records to mobile devices of the corresponding purchasers, and providing improved mobile advertising is shown and generally indicated at 100. The illustrative system 100 includes a mobile advertising server system 140 and a database 142 operatively coupled to the server system 140. The system 100 further includes a mobile device location data server system 130 and a database 132 operatively coupled to the server system 130. In addition, the system 100 includes a sales transaction server system 122 and a database 124 operatively coupled to the server system 122. The server systems 122, 130 and 140 communicate over a wide area network 120, such as the Internet. The system 100 also includes a set (meaning one or more) of point-of-sale (“POS”) systems 106 and 108 disposed and operated in different retail stores 102 and 104 respectively. Purchasers (also referred to herein as users, consumers, shoppers and buyers) own and carry mobile devices 110, 112 and 114 (such as iPhones and other brands of smartphones) when they visit the stores 102 and 104 to purchase goods and/or services. The purchase transactions are conducted and entered using the POSes 106-108, which upload the purchase transactions to the server 122. The mobile devices 110-114 communicate with the system 100 via a public phone network 116 or WiFi networks that are operatively coupled to the wide area network 120. As used herein, the mobile devices 110-114 correspond to different and unique buyers carrying and operating the devices 110-114.
  • The server systems 122, 130 and 140 each include at least one server computer, and can be standalone servers, distributed server systems, server farm systems or cloud server systems. They are operatively coupled to and accessible over the wide area network 120. The servers 122, 130 and 140 each run a specialized server software application to provide functionality for matching sales transactions to mobile devices, and providing improved mobile advertising onto the mobile devices. When a server system is provided by, for example, Amazon's cloud computing service, the specialized server software application is deployed and runs on server computers of the cloud computing service. Server software applications can be written in computer programming languages, such as JAVA, PYTHON, C#, C++, PHP, etc. Each server computer within the server systems 122,130,140 includes one or more processing units having one or more processors or processing cores, some amount memory and one or more network interfaces that are operatively coupled to the processing units.
  • The databases 124,132,142 can be, for example, relational database systems or other types of database systems, such as Google BigTable. The databases 124,132,142 store data which can be retrieved and modified. For example, when a sales transaction is made through the POS 108, the sales record (also referred to herein as a transaction, a purchase record and a receipt) is uploaded to the server 122, which then stores it into the database system 124. As used herein, the server system 122 represents independent server systems for different retail stores or retail store chains. For example, retail chains Walmart and Target use different server systems to process and maintain their respective inventories and sales transactions. The mobile advertising server system 140 periodically retrieves sales records from the server system 122 or directly from the database 124, and optionally stores them into the database 142. Alternatively, the server system 122 uploads the purchase receipts to the server system 140. In either case, the server system 140 is said to retrieve purchase records from the server system 122. In one implementation, the sales transaction data is Association of Retail Technology Standards (“ARTS”) compliant. Where the sales transaction data does not follow ARTS compliant, it is normalized to a standard schema that follows ARTS.
  • The location and time information of the mobile devices 110-114 is tracked by the server system 130 and stored in the database system 132. Such location and time data (collectively referred to herein as location data) includes, for example, Global Positioning System (“GPS”) coordinates (such as latitude, longitude and altitude), and a mobile device timestamp. A timestamp includes date and time when the underlying mobile device is at the location identified by the GPS coordinates. As used herein, a timestamp can also represent a range of date and time, such as 5:34 PM to 5:56 PM on Dec. 10, 2015. The location data of a mobile device is uploaded to, for example, the server system 130. Alternatively, the location data is derived from various other sources, such as advertising calls, wireless beacons, passive carrier data, social website check-in data, WiFi hotspots, etc. The derived location data is stored in, for example, the database 132.
  • The mobile advertising server system 140 periodically retrieves location data of the mobile devices 110-114 from the server system 130 or directly from the database 132, and stores it into the database 142. Alternatively, the server system 130 uploads the location data to the server system 140. In either case, the server system 140 is said to retrieve mobile device location data from the server system 130. It should be noted that the location data of a particular mobile device (such as 110) is also the location data of the user of the mobile device.
  • Referring to FIG. 2, a flowchart illustrating a process by which the server 140 matches sales transactions to mobile devices of the corresponding buyers, and provides improved advertising to the mobile devices based on the buyers' purchase history is shown and generally indicated at 200. In other words, the process 200 allows the server 140 to determine the purchase history of a buyer of a particular mobile device, analyze the purchase history to derive shopping intelligence on the buyer, and provide improved advertising on the mobile device. For example, the buyer can be a segment like buyer of a certain brand of products. The matching can further enable third parties to generate more relevant advertising to the mobile device. At 202, the specialized mobile advertising server software application running on the server 140 retrieves a set of sales records from, for example, the database 142. The sales records are further illustrated by reference to FIG. 3.
  • Turning to FIG. 3, a simplified block diagram depicting an illustrative sales record 300 is shown. The purchase receipt 300 includes a store identifier (“ID”) 302, a store address 304, a store location 306 (represented by, for example, GPS coordinates), a store location dimension 308 indicating the geographical dimensions of the store centered around the store location 306, a sales transaction timestamp 310, a payment type 312 of the transaction (such as cash, check, debit card, credit card, etc.), a credit card type 314 (such as VISA, MASTERCARD, AMERICAN EXPRESS, etc.), a last-four digit number 316 of the credit card number, one or more stockkeeping unit (“SKU”) identifiers 318 indicating the products purchased in the transactions, and one or more product descriptions 320 of the purchased products. The credit card type 314 and the last-four digit number 316 are collectively referred to herein as a credit card ID. Moreover, the credit card type 314 and the last-four digit number 316 each are referred to herein as a credit card ID. A person of ordinary skill in the art would appreciate that the record 300 can include additional data elements.
  • In an alternate implementation, the field 314 indicates the type of a retailer Loyalty Card and the field 316 contains the entire number or the last-four digit of the retailer Loyalty Card. The last-four digit of either the retailer Loyalty Card or the credit card is public data. As used herein, the credit card data and the retailer Loyalty Card data are Payment Card Industry (“PCI”) compliant. In a further implementation, the record 300 includes a purchase ID 322 which uniquely identifies the transaction. For example, it is generated when the record 300 is stored into the database 142. It should be noted that data contained in the record 300 is public data that is not protected under relevant privacy laws.
  • Turning back to FIG. 2, at 204, the specialized server software application retrieves a set of mobile device location data records from, for example, the database 142. The mobile device location data records are further illustrated by reference to FIG. 4. Referring now to FIG. 4, an illustrative mobile device location data records is shown and generally indicated at 400. The location record 400 includes a mobile device ID 402, a mobile device location 404 (such as a GPS latitude-longitude pair), a mobile device timestamp 406 indicating the time or a time range when the mobile device is located at the location 404, and additional data 408. The mobile device ID 402 can be an Identifier for Advertising (“IDFA”) proposed by Apple Inc., an Android Advertising ID (“AAID”) proposed by Google, or a Windows Advertising ID (“WAID”) proposed by Microsoft or other unique mobile device identifier provided by an operating system or manufacturer. The ID 402 uniquely identifies a mobile device. It should be noted that data contained in the record 400 is public data that is not protected under relevant privacy laws. It should be noted that additional data elements can be included in the record 400.
  • Turning back to FIG. 2, at 206, the specialized server software application matches sales records to mobile devices of the purchasers of products on the sales records. One illustrative matching process is shown by reference to FIG. 8. Referring now to FIG. 8, a flowchart depicting the process by which the server 140 matches sales records to mobile devices is shown and generally indicated at 800. At 802, for each sales record, the specialized server software application determines a cluster of mobile device location data records of mobile devices that are located at the store when the underlying sales transaction is created through, for example, a POS. Accordingly, at 802, a transaction-to-devices map between each sales transaction and a cluster of mobile devices is formed. A mobile device (such as 110) is said to be at or located at a store (such as 102) when the GPS location 404 of the mobile device 110 is within the store location dimension 308 from the store location 306, and the timestamp 310 of the sales record matches the timestamp 406.
  • The GPS location 404 of the mobile device 110 is said to be within the store location dimension 308 from the store location 306 when the location 404 is within the geographical area (such as a rectangle or a circle centered around the store location 306) defined by the store location dimension 308 and the store location 306. The timestamp 310 is said to match the timestamp 406 when the timestamp 310 is same as the timestamp 406, the timestamp 310 is within the timestamp 406 in the case where the timestamp 406 is a range of time, or the timestamp 310 is within a predetermined range (such as one minute) from the timestamp 406.
  • It should be noted that the process 800 can be performed iteratively to improve matching accuracy and process new sales records. In addition, other matching methods can be applied to determine the buyer or buyers of a given set of sales transactions. At 804, the specialized server software application determines a list of sales records having a common credit card type 314 and a common last-four digit number 316. It should be noted that each sales record in the list corresponds a mobile device cluster and a transaction-to-devices map. In addition, at 804, the server application may determine multiple lists of sales records.
  • At 806, the specialized server software application determines a mobile device, such as the mobile device 110, which is present in the mobile device cluster of each sales record in the list of sales records identified at 804. Alternatively, at 806, the specialized server software application determines a mobile device that is present in the mobile device clusters of a certain portion (such as 80%) of sales records in the list of sales records identified at 804. At 808, the specialized server software application stores the associations between the mobile device determined at 806, and the sales records in the list into the database 142. The association, also referred to herein as device-transaction record and purchaser-transaction record, is further illustrated by reference to FIG. 5.
  • Referring to FIG. 5, a simplified block diagram illustrating a mobile device-transaction record is shown and generally indicated at 500. The record 500 includes a mobile device ID 402 and a purchase record ID 322. A collection of the records 500 of a common mobile device identifies a purchase history (also referred to herein as shopping history) of the buyer owning the mobile device.
  • Turning back to FIG. 2, at 208, the specialized server software application analyzes the purchases of buyers, such as a buyer corresponding to the mobile device 110. The analysis results in intelligence about the purchase behavior, purchased products, products of likely future purchases, consumption power, and other information of the buyer. For example, at 208, the server 140 determines that the buyer of the mobile device 110 purchases a pack of soft drinks each week.
  • At 210, the specialized server software application applies the intelligence into the buyer's consumption, and provides targeted mobile advertising to the mobile device 110 of the buyer. For example, the specialized server software application sends a promotion (also referred to herein as mobile advertisement) for soft drink of a particular brand to the mobile device 110. As an additional example, the application receives match metadata and can send a contextually relevant promotion to the device 110. The promotion indicates, for example, the brand, the product, the price, a discount, and/or other marketing information. At 212, the specialized server software application stores the promotion sent to the mobile device 110 into the database 142. The stored information at 212 is also referred to herein as a mobile advertisement record, which indicates the promotion, the mobile device 110, the time of the improved mobile advertisement, and other information.
  • Referring to FIG. 6, a flowchart depicting a process by which the server 140 performs the element 210 is shown and generally indicated at 600. At 602, the server determines a product to promote using the improved mobile advertising. For example, products are categorized into segments. Each buyer's purchase history is then analyzed to determine the segments of products that the buyer has purchased. The selected product, such as a new brand or type of soft drink, is chosen from one of the segments. At 604, the specialized server software application determines the mobile devices to send the promotion to. For example, at 604, the server 140 selects a group of mobile devices of buyers who have purchased the same type of product in the last week or month. At 606, the specialized server software application sends the promotion to the selected mobile devices over the network 120. The mobile advertisement can be sent to the mobile devices through one or more mobile applications, web pages, audio, video, application programming interview (“API”), web services, or other type of media.
  • The present teachings can also be used to determine the effectiveness of the mobile advertising, which is further illustrated by reference to FIG. 7. At 702, the specialized server software application running on the server 140 selects a group of mobile devices that have received a particular mobile advertisement. This group of mobile devices is referred to herein as an exposed group of mobile devices. The buyers owning the exposed group of mobile devices are referred to herein as an exposed group of buyers. At 704, the specialized server software application selects a second group (also referred to herein as a control group of mobile devices) of mobile devices. The buyers owning the control group of mobile devices are referred to herein as a control group of buyers. The control group does not receive the mobile advertisement. In addition, the control group of buyers has the same or similar purchase history as the exposed group of buyers. For example, the two groups have purchased similar products of similar prices with similar purchase pattern.
  • At 706, the specialized server software application retrieves purchase records of the exposed group of buyers. The retrieved purchase transactions are entered after the mobile advertisement is sent to the exposed group of mobile devices. At 708, the specialized server software application retrieves purchase records of the control group of buyers. The retrieved purchase transactions are entered after the mobile advertisement is sent to the control group of mobile devices. At 710, the specialized server software application compares the purchase records of the exposed group of buyers to that of the control group of buyers to determine the effectiveness of the mobile advertisement sent to the exposed group of mobile devices. For example, where the mobile advertisement is a promotion for a new tablet computer model from a particular maker. The total purchases of the new computer model by the exposed group is determined and compared to that of the control group. For instance, where the respective total sales are $200,000 and $100,000, the effectiveness of the improved mobile advertising is thus 200%.
  • In a further implementation, the system 100 includes a third-party server system 152, such as a marketer's server system. In such a case, the server system 152 receives the consumer intelligence information from the server system 140 and then performs the process 600.
  • Referring now to FIG. 9, a flowchart depicting a process by which the server system 140 performs element 206 (FIG. 2) is shown and generally indicated at 900. At 902, the server software application running on the server 140 defines a mobile data sphere <MCi, d, t> for each mobile data point MC=(id, ts, I). i is a positive integer serving as an index; d is a physical distance from the location reported for that mobile device ID 402; t stands for a radius of time in seconds from the mobile device timestamp 406; id stands for the mobile device ID 402; ts stands for the mobile device timestamp 406; and I stands for the mobile device location 404. Accordingly, each MC corresponds to a record 400.
  • At 904, the server software application defines a transaction sphere <Ti, d, t> for each sales transaction T=(id, ts, I, items). Here, d stands for a distance from the store location 306 of the sales transaction; t stands for a radius of time in seconds from the timestamp 310; id stands for the purchase ID 322; ts stands for the timestamp 310; I stands for the store location 306; and items stand for the product SKU 318 or a collection of purchased items in general.
  • At 906, the server software application compares every mobile data sphere <MCi, d, t> to every transaction sphere <Ti, d, t> to produce two datasets. The first dataset is keyed by the tuple <MCi, d, t> while the second dataset is keyed by the tuple <Ti, d, t>. When the mobile data sphere <MCi, d, t> overlaps with the tuple <Ti, d, t>, the corresponding mobile data point and transaction are paired. Accordingly, for each mobile data point MCi, a list of transactions Tmc=(T1, T2, . . . ) are paired with MCi. This list is also denoted herein as MCresults. Similarly, for each transaction Ti, a list of mobile data points MCt1=(MC1, MC2, . . . ). This list is also denoted herein as Tresults. The overlap of two spheres can be determined based on Euclidean distance, Manhattan metric, or other metrics.
  • Accordingly, for each mobile device ID 402, there is a set of corresponding mobile data points {MC1, MC2, . . . } and, a list of transactions for each mobile data point. The two dimensional data map can be represented as: Tmid={Tmc1=(T1,T2, . . . ), Tmc2=(T3, T4, . . . ), Tmc3=(T5, T6, . . . )}, mid stands for mobile device ID 402. To filter the list Tmid and extract a set of sales transactions made by the user of the mobile device, at 908, the server software application creates a similarity function SF(T1, T2), which takes any two transactions and returns a value between [0,1] inclusively and continuously. A similarity of 0 indicates the two objects are not similar. A value of 1 indicates the objects are identical. The purpose of the function is to measure the similarity of any two transactions consistently and objectively. Example implementations for this function include the Jaccard Index on the transaction items, and modified Jaccard index with an additional point-at-infinity, Tanimoto similarity, and Sørensen-Dice index. In a further implementation, machine-learned similarity functions are created using supervised and unsupervised learning algorithms. Such similarity functions are created using, for example, training set of known purchase history.
  • At 910, the server software application applies the similarity function to {Tmc1=(T1,T2, . . . ), Tmc2=(T3, T4, . . . ), Tmc3=(T5, T6, . . . )}. For example, the server software application applies the similarity function to every combination of transactions pairwise of TMid. The application determines the set of transactions made by the user of the mobile device.
  • In a further implementation, the transaction vector (id, ts, I, items) is expanded to include additional data, such as transactional meta-data. For example, Tenriched=(id, ts, I, items, metaData1, metaData2, . . . ). The additional transaction meta-data elements include, for example, product size, product brand, purchase tender meta-data (such as credit card numbers, loyalty numbers, NFC identifiers, etc.). Such additional meta-data points can be used to generate modified similarity functions using more sophisticatedly trained machine learned outputs. The additional dimensions of vector clustering can produce more accurate determination of a mobile device user's sales transactions.
  • In one implementation, instance-based machine learning algorithms (such as nearest-neighbor) are used for matching a mobile device to a list of sales records. Nearest neighbors (also known as similarity search) consist of a series of unsupervised neighbors-based learning algorithms, techniques and data structures that are applied to a data set X of n points in a k-dimensional vector space V to find k points (such as POS transactions) that are nearest to a given input point (such as mobile device data point) or a set of points in Y, which are further illustrated in FIG. 10. x stands for a mobile data point; kn stands for a sales transaction; and dn stands for distance between a mobile data point and a transaction. The various nearest neighbor approaches depend on a few factors, such as number of data points, number of features (meaning dimensions) and similarity. The similarity is determined by, for example, distance functions (such as Euclidean, Cosine, Jaccard, 1-norm, . . . ).
  • Linear search, K-D Tree and Ball Tree algorithms can be used to match mobile devices to respective purchase history. Linear search is a brute-force method used to find the nearest-neighbor of a point x in a database Y. Linear search includes the computation of the distances between the point x (meaning mobile device data point) and all points (meaning sales transactions T) in Y, and sorting the distances to find the smallest ones. Smaller distance means higher similarity between the objects. A similar linear approach includes computing the distance from point x to every other point in the database Y, and keeping track of the shortest distance. In such a case, the system does not need to sort the distances. No additional space complexity is necessary.
  • For a low-dimensional space (such as spaces with less than 20 dimensions). a tree-based data structure, K-D Tree (also known as K-dimensional tree) can be used to organize data points in a space with k-dimensions. Using the K-D Tree data structure, if a point MC (meaning a mobile data point) is very distant from a point T1 (meaning a sales transaction), and point T1 is close to a point T2 (meaning a sales transaction), then point MC and T2 are also distant from each other are thus not similar. Consequently, T2 can be discarded without having to explicitly calculate its distance from MC. Accordingly, with the K-D Tree algorithm, the computational cost of nearest-neighbor algorithm can be reduced drastically.
  • If the datasets (such as Tmc1) have a high number of dimensions, the Ball Tree can be a more efficient data structure for determining a mobile device user's sales records. Ball Tree speeds up the discovery of neighbor points. While the KD-trees partition data is based on Cartesian axes, in Ball Trees the data is partitioned into D-dimensional hyperspheres (also referred to as balls), represented each by a tree node containing a subset of points to be searched. Each point can only belong to one ball based upon its distance from the ball's center (also referred to as centroid). Each leaf node in the tree defines a ball and defines all data points inside that ball. During a neighbor search, the algorithm maintains a priority queue of the k-nearest points. For each visiting node, any subtree whose distance from the MC is greater than the furthest point encountered can be ignored for the rest of the search. The tree pruning reduces complexity. A point MC must fall within any of the hyperspheres. All the points Tn in the same hypersphere will be considered nearest, hence similar to the point MC.
  • Brute-force approach can be computationally very expensive when the databases are large and contain with billions of records where each record may have hundreds of dimensions. In such a case, similar items can be quickly found using locality-sensitive hashing for approximate or near matches. However, this will not find the exact matches but only the most similar pairs or all pairs above a certain similarity threshold. With this approach, every data point (such as a mobile device data point) will be hashed and it's expected that similar data points (such as transactions), such as those points that have a small distance from each other, will have a similar hash value. With a high probability, these points are going to be hashed to the same bucket. With locality sensitive hashing techniques, as often happens in machine learning, a series of distance measures can be used to find distance between vectors, such as Euclidean, Cosine, Edit, Hamming and Jaccard.
  • A min-wise hash using Jaccard index can be used as the hashing method. The Jaccard Similarity can be defined as follow:

  • J(A,B)=|A∩B|/|AUB|
  • Jaccard Similarity defines the number of items two sets have in common divided by the total number of items in both sets. J=1 if the sets contain exactly the same items, while J=0 if the sets have no items in common. Any items in between are defined by (0<=J<=1).
  • If a mobile device data point and a sales transaction define the sets and the features in each vector define the elements of each set, then the similarity between them can be computed. In practice, the function will calculate the probability that an element from the sets is also in their intersection. More elements (meaning features) are common to both sets. A higher probability means a higher similarity between the mobile device data points and the sales transaction vectors. Using the MinHash approach, the system 100 estimates the Jaccard similarity for each pair J(A,B) more efficiently without having to calculate union and intersection for each set, which can be computationally expensive.
  • In a further implementation, the server 140 tracks and stores the user's interaction (such as clicks) with mobile advertisements sent to the mobile device 110. The server 140 then use such data to refine collaborating filtering and deep machine learning models to make more accurate recommendations of goods to the user.
  • Various collaborative filtering techniques can be used to examine a shopper's POS history to find similarities with other shoppers and/or correlations between items. Such models are based on explicit or implicit ratings, preferences, likes, etc. In one implementation, the system 100 does not take into consideration any product features or descriptive text, since the system 100 may not be aware of the type of item, or details about the items the shopper is interacting with, except that the user has expressed a certain preference for the item. Some drawbacks of collaborative filtering can be overcome using content-based algorithms that calculate similarities using item metadata and content such as keywords, tags, or any text describing the product and user's profile. This approach focuses mainly on similarities between items, rather than which user has interacted with the items.
  • A machine deep learning system can analyze POS sales data and learn patterns and shopper's profiles. Such a learning system can be used to model the interest and habits of shoppers over time. The neural network composed of various layers, using input and output nodes learns and adapts continuously according to the shopper's preferences and interactions with the mobile advertisements. Whether the shopper has interacted positively or negatively, new data is added to the neural network, reshaping it and updating shopper's profiles to discover new patterns and interests more accurately. Using neural network to build and recognize patterns between users and items. Such patterns are then enhanced by using collaborative filtering and content-based to serve personalized content.
  • In a further implementation, the accuracy and effectiveness of the promotions to a mobile device user is evaluated using one or more techniques, such as A/B testing, Root Mean Squared Error (“RMSE”), etc. A/B testing checks whether the system 100 actually increases usage, web traffic, clicks, etc. Selecting a test user putting on the side part of the training data. The recommendation system then generates recommendations for the test user based only on a part of the user history. The new recommended items are compared to the data that was held back to see if the predictions are correct, RMSE predicts rating for a test set of user-item pair which are compared to the real ratings from a test set of training data. The average difference from the real value is calculated. Precision is defined by the ratio of the number of relevant recommendations and the top N (meaning a positive integer) recommendations made. A precision score of 1.0 means that every recommendations from the top N list was relevant. Recall is defined by the ratio of the number of relevant recommendations and the total number of relevant recommendations. A recall score of 1.0 means that all relevant recommendations were in the top N list.
  • Obviously, many additional modifications and variations of the present disclosure are possible in light of the above teachings. Thus, it is to be understood that, within the scope of the appended claims, the disclosure may be practiced otherwise than is specifically described above. For example, the process 800 is implemented using machine learning methods and statistical models to match sales records to mobile devices more accurately. As an additional example, the process 200 is performed iteratively to improve matching accuracy. As still a further example, the measure of mobile advertising effectiveness is determined based on the number of units sold to the exposed group and the control group respectively.
  • The foregoing description of the disclosure has been presented for purposes of illustration and description, and is not intended to be exhaustive or to limit the disclosure to the precise form disclosed. The description was selected to best explain the principles of the present teachings and practical application of these principles to enable others skilled in the art to best utilize the disclosure in various embodiments and various modifications as are suited to the particular use contemplated. It should be recognized that the words “a” or “an” are intended to include both the singular and the plural. Conversely, any reference to plural elements shall, where appropriate, include the singular.
  • It is intended that the scope of the disclosure not be limited by the specification, but be defined by the claims set forth below. In addition, although narrow claims may be presented below, it should be recognized that the scope of this invention is much broader than presented by the claim(s). It is intended that broader claims will be submitted in one or more applications that claim the benefit of priority from this application. Insofar as the description above and the accompanying drawings disclose additional subject matter that is not within the scope of the claim or claims below, the additional inventions are not dedicated to the public and the right to file one or more applications to claim such additional inventions is reserved.

Claims (9)

What is claimed is:
1-6 (canceled)
7. A mobile device and sales transaction matching system comprising:
i) a database;
ii) a server computer having a memory, a processing unit accessing said memory, a network interface coupled to said processing unit and operatively coupled to said database, and a specialized server software application operating on said processing unit, wherein said server computer is adapted to communicate with a sales transaction server system and a mobile device location data server system;
iii) said specialized server software application adapted to:
1) retrieve a set of purchase records from said sales transaction server system;
2) retrieve a set of mobile data points from said mobile device location data server system, wherein said set of mobile data points corresponds to a first mobile device;
3) for each mobile data point within said set of mobile data point, define a mobile data sphere;
4) for each purchase record within said set of purchase records, define a transaction sphere;
5) compare each said mobile data sphere with each said transaction sphere to determine a list of over lapping purchase records for each mobile data point, thereby forming a plurality of lists of over lapping purchase records for said first mobile device, wherein said mobile data sphere of said each mobile data point overlaps with said transaction sphere of each purchase record within said list of over lapping purchase records corresponding to said each mobile data point;
6) create a similarity function for determining similarity between transactions; and
7) apply said similarity function to each pair of purchase records within said plurality of lists of over lapping purchase records to determine purchase records of a user of said first mobile device.
8. The mobile device and sales transaction matching system of claim 7 wherein:
1) each said mobile data sphere indicates a physical distance from a location of corresponding said mobile data point and a radius time from a timestamp of corresponding said mobile data point; and
2) each said transaction sphere indicates a physical distance from a store location of corresponding said purchase record and radius of time from a timestamp of corresponding said purchase record.
9. The mobile device and sales transaction matching system of claim 8 wherein a mobile data sphere is said to be overlapping with a transaction sphere based on a Euclidean distance or a Manhattan metric.
10. The mobile device and sales transaction matching system of claim 8 wherein said similarity function returns a value between zero and one when applied to a pair of purchase records.
11. The mobile device and sales transaction matching system of claim 10 wherein said similarity function is a Jaccard Index, a modified Jaccard Index, a Tanimoto similarity, or a Sorensen-Dice Index.
12. The mobile device and sales transaction matching system of claim 10 wherein said similarity function is created based on a set of training purchase records.
13. The mobile device and sales transaction matching system of claim 7 wherein said set of purchase records is public data and said set of mobile data points is public data.
14. The mobile device and sales transaction matching system of claim 7 wherein each purchase record within said set of purchase records includes a store location, a sales timestamp, and a product identifier, and wherein each data point within said set of mobile data points includes a mobile device identifier, a mobile device location, and a mobile device timestamp.
US16/209,284 2016-01-08 2018-12-04 System and method for matching purchase records to mobile devices Abandoned US20190102801A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/209,284 US20190102801A1 (en) 2016-01-08 2018-12-04 System and method for matching purchase records to mobile devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/990,964 US10204359B1 (en) 2016-01-08 2016-01-08 System and method for determining purchase records of mobile devices to provide effective mobile advertising
US16/209,284 US20190102801A1 (en) 2016-01-08 2018-12-04 System and method for matching purchase records to mobile devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/990,964 Continuation US10204359B1 (en) 2016-01-08 2016-01-08 System and method for determining purchase records of mobile devices to provide effective mobile advertising

Publications (1)

Publication Number Publication Date
US20190102801A1 true US20190102801A1 (en) 2019-04-04

Family

ID=65241721

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/990,964 Active 2037-02-06 US10204359B1 (en) 2016-01-08 2016-01-08 System and method for determining purchase records of mobile devices to provide effective mobile advertising
US16/209,284 Abandoned US20190102801A1 (en) 2016-01-08 2018-12-04 System and method for matching purchase records to mobile devices

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/990,964 Active 2037-02-06 US10204359B1 (en) 2016-01-08 2016-01-08 System and method for determining purchase records of mobile devices to provide effective mobile advertising

Country Status (1)

Country Link
US (2) US10204359B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220067754A1 (en) * 2020-08-27 2022-03-03 Coupang Corporation Computerized systems and methods for predicting a minimum detectable effect
US20220311758A1 (en) * 2021-03-25 2022-09-29 International Business Machines Corporation Transient identification generation
US20230005042A1 (en) * 2021-07-01 2023-01-05 Capital One Services, Llc Optimize Shopping Route Using Purchase Embeddings
US11922476B2 (en) 2021-07-01 2024-03-05 Capital One Services, Llc Generating recommendations based on descriptors in a multi-dimensional search space

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10559009B1 (en) * 2013-03-15 2020-02-11 Semcasting, Inc. System and method for linking qualified audiences with relevant media advertising through IP media zones
US9965797B1 (en) * 2016-10-22 2018-05-08 Capital One Services, Llc System and method for generating user customized order interface
US11170393B1 (en) * 2017-04-11 2021-11-09 Snap Inc. System to calculate an engagement score of location based media content
US10581980B2 (en) 2017-06-01 2020-03-03 Xandr Inc. Device identification techniques using shared device graph
US11810147B2 (en) * 2017-10-19 2023-11-07 Foursquare Labs, Inc. Automated attribution modeling and measurement
US20200097879A1 (en) * 2018-09-25 2020-03-26 Oracle International Corporation Techniques for automatic opportunity evaluation and action recommendation engine
US20230017848A1 (en) * 2020-01-20 2023-01-19 TapText llc System and method for text-based delivery of sales promotions with deferred text-to-call interactions
US20230017090A1 (en) * 2020-01-20 2023-01-19 Tap Text IIc System and method for text-based delivery of sales promotions with deferred text-to-call interactions
CN113592529B (en) * 2021-06-22 2023-11-21 中债金科信息技术有限公司 Potential customer recommendation method and device for bond products

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160092927A1 (en) * 2013-08-01 2016-03-31 Google Inc. Online resource serving to a traveling user
US20170193586A1 (en) * 2015-12-31 2017-07-06 Wal-Mart Stores, Inc. System, method, and non-transitory computer-readable storage media for evaluating search results for online grocery personalization
US20170238155A1 (en) * 2011-03-23 2017-08-17 Freelinc Technologies Inc. Proximity based social networking cross-reference to related application

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510773B1 (en) 2007-06-27 2013-08-13 Verve Wireless, Inc. Systems and methods for providing targeted advertising and content delivery to mobile devices
US8264352B2 (en) 2009-04-09 2012-09-11 International Business Machines Corporation System and methods for locating mobile devices using location and presence information
TW201116035A (en) 2009-10-30 2011-05-01 Ind Tech Res Inst System and method for matching mobile device users
TWI490801B (en) 2009-11-16 2015-07-01 Univ Nat Central Real-time, localized and mobile matching method and system for proxy purchase
US8069088B1 (en) 2010-06-04 2011-11-29 Google Inc. Method and system for crediting a retailer for an internet purchase
US10127578B2 (en) 2011-05-09 2018-11-13 Capital One Services, Llc Method and system for matching purchase transaction history to real-time location information
US8768876B2 (en) 2012-02-24 2014-07-01 Placed, Inc. Inference pipeline system and method
US8972357B2 (en) 2012-02-24 2015-03-03 Placed, Inc. System and method for data collection to validate location data
US8825662B1 (en) 2012-04-24 2014-09-02 Semcasting, Inc. System and method for creating customized IP zones utilizing predictive modeling
US20140012806A1 (en) 2012-06-22 2014-01-09 Jiwire, Inc. Location graph based derivation of attributes
US20140025483A1 (en) * 2012-07-20 2014-01-23 Mastercard International Incorporated System and method for protecting consumer privacy in the measuring of the effectiveness of advertisements
US8738454B2 (en) 2012-07-23 2014-05-27 Wal-Mart Stores, Inc. Transferring digital receipt data to mobile devices
US8621244B1 (en) 2012-10-04 2013-12-31 Datalogix Inc. Method and apparatus for matching consumers
US20140236669A1 (en) 2013-02-18 2014-08-21 PlaceIQ, Inc. Apparatus and Method for Identifying and Employing Visitation Rates
US8489596B1 (en) 2013-01-04 2013-07-16 PlaceIQ, Inc. Apparatus and method for profiling users
US20140223471A1 (en) * 2013-02-05 2014-08-07 Ihigh.Com, Inc. Side channel caching and triggering of contextual advertisements for live broadcast video streaming to mobile computing devices
US10373194B2 (en) 2013-02-20 2019-08-06 Datalogix Holdings, Inc. System and method for measuring advertising effectiveness
US8775248B1 (en) 2013-03-14 2014-07-08 Abakus, Inc. Advertising conversion attribution
US20150073893A1 (en) * 2013-09-06 2015-03-12 Tune, Inc. Systems and methods of tracking conversions by location
US10467661B2 (en) * 2013-11-20 2019-11-05 Facebook, Inc. Offline conversion measurement for advertisements presented to users of an online system
US8792909B1 (en) 2013-12-04 2014-07-29 4 Info, Inc. Systems and methods for statistically associating mobile devices to households
US20150248694A1 (en) 2014-02-28 2015-09-03 Ebay Inc. Attributing offline purchases to online advertising
US20150262197A1 (en) * 2014-03-13 2015-09-17 Qualcomm Incorporated Trajectory based context inference
US8978153B1 (en) 2014-08-01 2015-03-10 Datalogix, Inc. Apparatus and method for data matching and anonymization
US20160292687A1 (en) * 2014-10-13 2016-10-06 Empire Technology Development Llc Verification location determination for entity presence confirmation of online purchases
US20160275521A1 (en) * 2015-03-19 2016-09-22 Warrantx, Inc. Integrated electronic warranty platform
US20160321679A1 (en) * 2015-04-30 2016-11-03 International Business Machines Corporation Device and membership identity matching
US20170132666A1 (en) * 2015-11-06 2017-05-11 Sure, Inc. Provisioning a transaction management system to provide for product offerings based on episodic events

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170238155A1 (en) * 2011-03-23 2017-08-17 Freelinc Technologies Inc. Proximity based social networking cross-reference to related application
US20160092927A1 (en) * 2013-08-01 2016-03-31 Google Inc. Online resource serving to a traveling user
US20170193586A1 (en) * 2015-12-31 2017-07-06 Wal-Mart Stores, Inc. System, method, and non-transitory computer-readable storage media for evaluating search results for online grocery personalization

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220067754A1 (en) * 2020-08-27 2022-03-03 Coupang Corporation Computerized systems and methods for predicting a minimum detectable effect
US20220311758A1 (en) * 2021-03-25 2022-09-29 International Business Machines Corporation Transient identification generation
US11677736B2 (en) * 2021-03-25 2023-06-13 International Business Machines Corporation Transient identification generation
US20230005042A1 (en) * 2021-07-01 2023-01-05 Capital One Services, Llc Optimize Shopping Route Using Purchase Embeddings
US11869063B2 (en) * 2021-07-01 2024-01-09 Capital One Services, Llc Optimize shopping route using purchase embeddings
US11922476B2 (en) 2021-07-01 2024-03-05 Capital One Services, Llc Generating recommendations based on descriptors in a multi-dimensional search space

Also Published As

Publication number Publication date
US10204359B1 (en) 2019-02-12

Similar Documents

Publication Publication Date Title
US20190102801A1 (en) System and method for matching purchase records to mobile devices
US10949907B1 (en) Systems and methods for deep learning model based product matching using multi modal data
CN108876526B (en) Commodity recommendation method and device and computer-readable storage medium
US10726438B2 (en) Personalized contextual coupon engine
US20200273054A1 (en) Digital receipts economy
US9904949B1 (en) Product recommendations
US20190295114A1 (en) Digital banking platform and architecture
US10360623B2 (en) Visually generated consumer product presentation
US8589208B2 (en) Data integration and analysis
US11042946B2 (en) Identity mapping between commerce customers and social media users
CN104765758B (en) System and method for search result orientation
US10528959B2 (en) Micro-moment analysis
US20210103925A1 (en) Feature subspace isolation and disentanglement in merchant embeddings
US20160132924A1 (en) Methods and systems for creating event-triggered marketing campaigns
US20200233696A1 (en) Real Time User Matching Using Purchasing Behavior
KR102511634B1 (en) System for providing context awareness based cross-domain recommendation service for retail kiosk
WO2020113208A1 (en) System, method, and computer program product for generating embeddings for objects
US20210319478A1 (en) Automatic Cloud, Hybrid, and Quantum-Based Optimization Techniques for Communication Channels
US20200387935A1 (en) Automated data analysis and processing for targeted advertising
Zeng et al. Location-aware real-time recommender systems for brick-and-mortar retailers
US11727422B2 (en) Audience recommendation using node similarity in combined contextual graph embeddings
US11620588B2 (en) Methods and systems for determining alternative plans
US11922476B2 (en) Generating recommendations based on descriptors in a multi-dimensional search space
US20240135017A1 (en) Storing and retrieving data based on experience in categories associated with historical interactions
US20230099904A1 (en) Machine learning model prediction of interest in an object

Legal Events

Date Code Title Description
AS Assignment

Owner name: ADNOLI, LLC, ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEE, SPENCER J;PURDY, DAVID N;LOBEL, JASON D;AND OTHERS;SIGNING DATES FROM 20181203 TO 20181204;REEL/FRAME:047669/0880

STPP Information on status: patent application and granting procedure in general

Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION