US20180357617A1 - Purchase Transaction Data Retrieval System With Unobtrusive Side Channel Data Recovery - Google Patents

Purchase Transaction Data Retrieval System With Unobtrusive Side Channel Data Recovery Download PDF

Info

Publication number
US20180357617A1
US20180357617A1 US16/104,852 US201816104852A US2018357617A1 US 20180357617 A1 US20180357617 A1 US 20180357617A1 US 201816104852 A US201816104852 A US 201816104852A US 2018357617 A1 US2018357617 A1 US 2018357617A1
Authority
US
United States
Prior art keywords
product
purchase transaction
price
purchase
extracted
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/104,852
Inventor
Dennis Madura
Bradford William Pflum
Matthew Joseph Iannone
Juan Wang
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.)
Milo Acquisition Sub LLC
Original Assignee
Slice Technologies Inc
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 Slice Technologies Inc filed Critical Slice Technologies Inc
Priority to US16/104,852 priority Critical patent/US20180357617A1/en
Assigned to SLICE TECHNOLOGIES, INC. reassignment SLICE TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: IANNONE, Matthew Joseph, MADURA, Dennis, PFLUM, Bradford William, WANG, JUAN
Publication of US20180357617A1 publication Critical patent/US20180357617A1/en
Assigned to RAKUTEN MARKETING LLC reassignment RAKUTEN MARKETING LLC MERGER (SEE DOCUMENT FOR DETAILS). Assignors: SLICE TECHNOLOGIES, INC.
Assigned to MILO ACQUISITION SUB LLC reassignment MILO ACQUISITION SUB LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RAKUTEN MARKETING LLC
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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • G06F17/3053
    • G06F17/30554
    • 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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • reporting systems have been developed to extract purchase related information from data sources that are published directly by merchants to consumers, such as purchase confirmation messages and shipping confirmation messages.
  • data extraction approaches breakdown if merchants fail to provide complete purchase transaction information to the consumers in one or more of such direct publishing channels.
  • these systems are unable to provide complete cross-merchant purchase transaction information without requiring consumers to open membership accounts with all the merchants with which they shop and to further provide the reporting system with access to those accounts.
  • the invention features a computer-implemented method of a purchase transaction data retrieval system.
  • a server system associated with the purchase transaction data retrieval system retrieves purchase transaction records.
  • the server system automatically extracts from ones of the purchase transaction records respective sets of purchase transaction related data values for respective target purchase-related field types.
  • the server system automatically flags respective ones of the sets of purchase transaction related data values comprising one or more respective incomplete purchase-related data values for one or more of the target purchase-related field types, and stores the flagged sets of purchase transaction related data values and ones of the other sets of purchase transaction related data values determined to be complete in a data storage system.
  • the server system determines a query and at least one query result selection criterion based on one or more of the extracted data values in the flagged set; over a second network connection with a second network node, based on the query, the server system obtains respective query results comprising a ranked listing of product-related items each associated with data values for respective purchase-related field types; the server system selects a product-related item in the ranked listing based on the at least one query result selection criteria; the server system excerpts from the respective query results a respective data value for at least one of the one or more target purchase-related field types associated with the selected product-related item in the query results; and the server system loads the at least one excerpted data value and ones of the extracted purchase-related-transaction values in the respective flagged set in the data storage system.
  • the server system transmits data for displaying a view on purchase transaction related data values in the data storage system to a client network node.
  • the invention also features apparatus operable to implement the method described above and computer-readable media storing computer-readable instructions causing a computer to implement the method described above.
  • FIG. 1 is a diagrammatic view of an example of a network communication environment.
  • FIG. 2 is a diagrammatic overview of electronic message processing stages performed by an example of a purchase transaction data retrieval system.
  • FIG. 3 is a diagrammatic detailed view of an electronic message based purchase transaction retrieval process performed by an example of a purchase transaction data retrieval system.
  • FIG. 4 is a flow diagram of an example of a side channel data recovery process performed by an example of a purchase transaction data retrieval system.
  • FIG. 5A is a diagrammatic view of an order confirmation message for a single-item purchase transaction.
  • FIG. 5B is a diagrammatic view of an order confirmation message for a multi-item purchase transaction.
  • FIG. 6 is a diagrammatic view of an example of a graphical user interface presenting aggregated purchase transaction information.
  • FIG. 7 is a block diagram of an example of computer apparatus.
  • a “product” is any tangible or intangible good or service that is available for purchase or use.
  • Purchase transaction information is information related to the purchase of a product.
  • Purchase transaction data includes, for example, invoice data, purchase confirmation data (also referred to as “receipt data”), product order information (e.g., merchant name, order number, order date, product description, product name, product quantity, product price, sales tax, shipping cost, and order total), and product shipping information (e.g., billing address, shipping company, shipping address, estimated shipping date, estimated delivery date, and tracking number).
  • product order information e.g., merchant name, order number, order date, product description, product name, product quantity, product price, sales tax, shipping cost, and order total
  • product shipping information e.g., billing address, shipping company, shipping address, estimated shipping date, estimated delivery date, and tracking number.
  • An “electronic message” is a persistent text based information record sent from a sender to a recipient between physical network nodes and stored in non-transitory computer-readable memory.
  • An electronic message may be structured message (e.g., a hypertext markup language (HTML) message that includes structured tag elements) or unstructured (e.g., a plain text message).
  • structured message e.g., a hypertext markup language (HTML) message that includes structured tag elements
  • unstructured e.g., a plain text message
  • a “computer” is any machine, device, or apparatus that processes data according to computer-readable instructions that are stored on a computer-readable medium either temporarily or permanently.
  • a “computer operating system” is a software component of a computer system that manages and coordinates the performance of tasks and the sharing of computing and hardware resources.
  • a “software application” (also referred to as software, an application, computer software, a computer application, a program, and a computer program) is a set of instructions that a computer can interpret and execute to perform one or more specific tasks.
  • a “data file” is a block of information that durably stores data for use by a software application.
  • computer-readable medium refers to any tangible, non-transitory device capable storing information (e.g., instructions and data) that is readable by a machine (e.g., a computer).
  • Storage devices suitable for tangibly embodying such information include, but are not limited to, all forms of physical, non-transitory computer-readable memory, including, for example, semiconductor memory devices, such as random access memory (RAM), EPROM, EEPROM, and Flash memory devices, magnetic disks such as internal hard disks and removable hard disks, magneto-optical disks, DVD-ROM/RAM, and CD-ROM/RAM.
  • a “network node” is a physical junction or connection point in a communications network. Examples of network nodes include, but are not limited to, a terminal, a computer, and a network switch.
  • a “server system” includes one or more network nodes and responds to requests for information or service.
  • a “client node” is a network node that requests information or service from a server system.
  • the term “includes” means includes but not limited to, the term “including” means including but not limited to.
  • the term “based on” means based at least in part on.
  • the following specification describes examples of improved systems and methods for obtaining purchase transaction information based on electronic messages that solve practical problems that have arisen from changes in merchant purchase transaction reporting practices resulting in the omission of certain critical product specific information from the electronic confirmation messages that they send to their customers.
  • These examples provide a purchase transaction data retrieval system that is able to unobtrusively obtain missing purchase transaction information from one or more side channels and combine that information with information extracted from electronic messages to provide actionable information across a wider variety of purchase transactions and merchants than otherwise would be possible using conventional approaches.
  • the resulting purchase transaction information can be aggregated to provide individuals with enhanced tools for visualizing and organizing their purchase histories and to provide merchants and other organizations improved cross-merchant purchase graph information across different consumer demographics to enable targeted and less intrusive advertising and other marketing strategies.
  • These improved systems and methods can be deployed to monitor consumer purchases over time to obtain updated purchase history information that can be aggregated for an individual consumer or across many consumers to provide actionable information that directs consumer behavior and organizational marketing strategies.
  • these improved systems and methods can organize disparate purchase transaction information into actionable data that can be used by a consumer to organize her prior purchases and enhance her understanding of her purchasing behavior and can be used by merchants and other organizations to improve the accuracy and return-on-investment of their marketing campaigns.
  • FIG. 1 shows an example of a network communications environment 10 that includes a network 11 that interconnects a purchase transaction data retrieval system 12 , one or more product merchants 14 that sell products, one or more product delivery providers 16 that deliver purchased products to purchasers, one or more message providers 18 that provide message handling services, and one or more purchase transaction information consumers 20 that purchase product and market information and services from the purchase transaction data retrieval system 12 .
  • the network 11 may include any of a local area network (LAN), a metropolitan area network (MAN), and a wide area network (WAN) (e.g., the internet).
  • the network 11 typically includes a number of different computing platforms and transport facilities that support the transmission of a wide variety of different media types (e.g., text, voice, audio, and video) between network nodes of a purchase transaction data retrieval system 12 , one or more product merchants 14 , product delivery providers 16 , message providers 18 , and purchase transaction information consumers 20 .
  • Each of the purchase transaction data retrieval system 12 , the product merchants 14 , the product delivery providers 16 , the message providers 18 , and the purchase transaction information consumers 20 typically connects to the network 11 via a network node (e.g., a client computer or server system) that includes a tangible computer-readable memory, a processor, and input/output (I/O) hardware (which may include a display).
  • a network node e.g., a client computer or server system
  • I/O input/output
  • One or more of the product merchants 14 typically allow individuals and businesses to purchase products directly over the network 11 using a network enabled software application, such as a web browser.
  • One or more of the product merchants 14 also may allow individuals and businesses to purchase products in a physical retail establishment.
  • a product merchant 14 may send a product purchase confirmation electronic message to a messaging address associated with the product purchaser.
  • the product purchase confirmation message may include, for example, product order information such as merchant name, order number, order date, estimated delivery date, product description, product name, product quantity, product price, sales tax, shipping cost, and order total.
  • the product merchant 14 also may arrange to have the product delivered by one of the product delivery providers 16 .
  • the product delivery provider 16 may deliver the product to the purchaser physically or electronically. In either case, the product delivery provider 16 or the product merchant 14 may send a delivery notification electronic message to the messaging address associated with the purchaser.
  • the delivery notification electronic message may include, for example, product shipping information such as product order information, billing address, shipping company, shipping address, estimated shipping date, estimated delivery date, and tracking number.
  • the purchaser's messaging address may be any type of network address to which electronic messages may be sent.
  • Examples of such messaging addresses include electronic mail (e-mail) addresses, text messaging addresses (e.g., a sender identifier, such as a telephone number or a user identifier for a texting service), a user identifier for a social networking service, and a facsimile telephone number.
  • the product purchase related electronic messages typically are routed to the purchaser through respective ones of the message providers 18 associated with the purchaser's messaging address.
  • the message providers 18 typically store the purchasers' electronic messages in respective message folder data structures in a database.
  • the purchase transaction data retrieval system 12 extracts purchase transaction information from the electronic messages of product purchasers. In some examples, the purchase transaction data retrieval system obtains authorization from the product purchasers to access their respective message folders that are managed by the message providers 18 . In other examples, product purchasers allow the purchase transaction data retrieval system 12 to access their electronic messages that are stored on their local communication devices (e.g., personal computer or mobile phone).
  • the purchase transaction data retrieval system 12 obtains authorization from the product purchasers to access their respective message folders that are managed by the message providers 18 . In other examples, product purchasers allow the purchase transaction data retrieval system 12 to access their electronic messages that are stored on their local communication devices (e.g., personal computer or mobile phone).
  • the purchase transaction data retrieval and provisioning service 12 accesses the product purchaser's electronic messaging account and processes selected ones of the electronic messages 22 that relate to purchase transactions.
  • the purchase transaction data retrieval and provisioning service 12 includes a number of stages for retrieving and processing the electronic messages 22 before producing processed data 24 that may be provided to the purchase transaction information consumers 20 . These stages include a message discovery stage 26 , a field extraction stage 28 , a missing data recovery stage 29 , and a data processing stage 30 .
  • the electronic message processing method of FIG. 2 is performed by a server system that is associated with the purchase transaction data retrieval and provisioning service 12 .
  • the purchase transaction data retrieval and provisioning system 12 identifies the particular ones of the electronic messages 22 that relate to purchase transactions.
  • rule-based filters and machine learning classifiers are used to identify purchase transaction related electronic messages (see, e.g., the examples described in U.S. patent application Ser. No. 13/185,943, filed Jul. 19, 2011, U.S. patent application Ser. No. 13/349,287, filed Jan. 12, 2012, U.S. patent application Ser. No. 14/519,919, filed Oct. 21, 2014, and U.S. patent application Ser. No. 14/519,975, filed Oct. 21, 2014).
  • the purchase transaction data retrieval and provisioning service 12 extracts purchase transaction information from the identified ones of the electronic messages 22 .
  • purchase transaction information include merchant name, order number, order date, product description, product name, product quantity, product price, sales tax, shipping cost, order total, billing address, shipping company, shipping address, estimated shipping date, estimated delivery date, and tracking number.
  • a variety of different methods may be used to extract purchase transaction information from the identified ones of the electronic messages 22 (see, e.g., the examples described in U.S. patent application Ser. No. 13/185,943, filed Jul. 19, 2011, U.S. patent application Ser. No. 13/349,287, filed Jan. 12, 2012, U.S. patent application Ser. No. 14/519,919, filed Oct. 21, 2014, and U.S. patent application Ser. No. 14/519,975, filed Oct. 21, 2014).
  • the purchase transaction data retrieval and provisioning service 12 identifies information that is missing from the extracted purchase transaction information and attempts to recover some or all of the identified missing information. Examples of these processes are described in detail below.
  • the purchase transaction data retrieval and provisioning service 12 combines the extracted and recovered purchase transaction information to produce processed data 24 that includes, for example, aggregated data and views on the aggregated data.
  • Various views on the aggregated data may be prepared for different types of purchase transaction information consumers 20 .
  • the extracted purchase transaction information is processed, for example, to display information about the users' purchases, including information for tracking in-transit orders, information for accessing purchase details, and aggregate purchase summary information.
  • the extracted purchase transaction information is processed, for example, to assist in targeting advertising to consumers based on their purchase histories.
  • the extracted purchase transaction information is processed to provide, for example, anonymous item-level purchase detail across retailers, categories, and devices.
  • the purchase transaction information provider 12 needs information that allows it to accurately identify (or at least categorize) individual purchased products and accurately determine the prices paid for those individual products.
  • Limited data order confirmation messages do not contain complete product description information and/or individual product price information and, as a result, conventional approaches do not use purchase transaction information from limited data order confirmation messages to generate their purchase transaction reports.
  • FIG. 3 shows an example of the process of FIG. 2 in which the data recovery stage 29 has been expanded to show processes for unobtrusively recovering missing purchase transaction information from one or more side channels to mitigate the data omission problem associated with limited data order confirmation messages.
  • the purchase transaction data retrieval and provisioning service 12 extracts respective sets of purchase transaction related data values for respective target purchase-related field types from identified ones of the users' electronic messages ( FIG. 3 , blocks 26 and 28 ).
  • Each set of purchase transaction related data values typically is stored as a respective database record, which may be indexed by the order number of the associated purchase transaction.
  • the purchase transaction data retrieval and provisioning service 12 flags respective ones of the sets of purchase transaction related data values that include one or more incomplete purchase-related data values for one or more of the target purchase-related field types ( FIG. 3 , block 32 ).
  • the flagged data value sets typically correspond to the purchase transaction related data value sets that are extracted from limited data order confirmation messages.
  • the purchase transaction data retrieval and provisioning system 12 only flags those sets of purchase transaction related data values that have incomplete or no information for one or more key purchase-related field types (e.g., product description, product price, and product quantity).
  • the purchase transaction data retrieval system 12 automatically scans each set of extracted purchase transaction related data values for an incomplete data value marker in one or more key purchase-related field types.
  • an incomplete data value marker include an indication that an extracted product description text data value for the product description field is incomplete.
  • indications include the presence of an ellipsis (e.g., “ . . . ”) or other symbol (e.g., a dash, such as “-”) in the extracted product description text in the product description field, and the presence of an indication in the product description field that the respective purchase transaction relates to one or more unspecified other items (e.g., the product description text includes an explicit reference to “other items”).
  • the purchase transaction data retrieval and provisioning service 12 in addition to extracting purchase transaction related data values from electronic messages 22 , the purchase transaction data retrieval and provisioning service 12 also extracts complete sets of purchase transaction related data values from users' purchase history records that are stored in the users' customer accounts that are maintained by the merchants 14 with which the users shop.
  • users of the purchase transaction data retrieval system 12 provide their authentication credentials (e.g., username and password) for their customer accounts with one or more of the merchants 14 with which they shop to allow the purchase transaction data retrieval system 12 to retrieve complete sets of purchase transaction data from the users' purchase history records that are stored in association with their customer accounts with respective ones of the merchants 14 .
  • the purchase transaction data retrieval service 12 stores the extracted sets 31 of purchase transaction related data values that are determined to be complete and the extracted sets 34 of purchase transaction related data values that are flagged as incomplete in a data storage system 36 .
  • the purchase transaction data retrieval system 12 stores the sets of purchase transaction related data values that are flagged as incomplete in a recovery data store, and loads ones of the other sets of purchase transaction related data values that are determined to be complete as structured data in a data warehouse.
  • the recovery data store serves as a temporary repository for the flagged data sets and may be organized as a database or a flat file.
  • the data warehouse serves as a central repository for purchase transaction data that supports various analysis and reporting functions.
  • structured data is loaded into the data warehouse using extract-transform-load (ETL) based data warehousing techniques.
  • ETL extract-transform-load
  • the purchase transaction data retrieval system 12 executes one or more side channel data recovery processes to retrieve data that is missing from the respective incomplete sets of purchase transaction related data values stored in the recovery data store ( FIG. 3 , block 38 ).
  • the purchase transaction data retrieval system 12 attempts to recover some or all of the missing data from respective ones of the complete sets 31 of purchase transaction related data values stored in the data storage system 36 .
  • the purchase transaction data retrieval system 12 attempts to recover missing data from the complete sets 31 of purchase transaction data that the purchase transaction data retrieval system 12 extracts from the electronic messages 22 and from users' purchase history records that are retrieved from the users' customer accounts with respective ones of the merchants 14 .
  • the purchase transaction data retrieval system 12 attempts to recover some or all of the missing data from third party data maintained on one or more product information servers 40 .
  • the third party data includes publically available databases (e.g., product catalogues) that are maintained by the product information servers 40 of product merchants 14 , online shopping aggregators, and other online sources of product information.
  • the purchase transaction data retrieval 12 combines the extracted and recovered purchase transaction information to produce processed data 24 that includes, for example, aggregated data and views on the aggregated data. Either automatically or responsive to requests from the client network nodes 20 , the purchase transaction data retrieval system 12 transmits the processed data 24 to the client network nodes 20 for displaying respective views on the aggregated data.
  • FIG. 4 shows an example of a side channel data recovery process 42 that involves applying the following processing stages to ones of the flagged sets of purchase transaction related data values in the data storage system 36 .
  • the purchase transaction data retrieval system 12 determines a query and at least one query result selection criterion based on one or more of the extracted data values in the flagged set ( FIG. 4 , block 44 ).
  • the particular contents of the query and the query result selection criterion typically are determined based on one or more of the extracted data values in the flagged data value set or the missing information to be recovered, or both the extracted data value information and the missing information.
  • Some examples are designed to identify a product purchased in a purchase transaction based on an incomplete product description that was extracted from a purchase transaction record.
  • the purchase transaction data retrieval system 12 incorporates, at least in part, the extracted incomplete description of the purchased product into the query.
  • the query also may include a product model number, product feature information, a merchant identifier, and other ancillary product-related information that was extracted from the associated purchase transaction record.
  • the query result selection criteria include an extracted price paid (e.g., order subtotal price) for the product corresponding to the extracted incomplete product description.
  • the query result selection criteria also may include a timeliness requirement to ensure that the missing information is recovered from data that is contemporaneous or nearly contemporaneous (e.g., within a specified number of weeks or months) with the date of the purchase transaction (as reflected, for example, by the order date or the confirmation message date).
  • the query result selection criteria also may include one or more heuristics to select a particular product from a listing of potentially matching products.
  • Some examples are designed to identify a product purchased in a purchase transaction and a price paid for that product based on an incomplete product description and one or more price data values that were extracted from a purchase transaction record.
  • the purchase transaction data retrieval system 12 incorporates the extracted incomplete description of the purchased product into the query.
  • the query also may include a product model number, product feature information, a merchant identifier, and other ancillary product-related information that was extracted from the associated purchase transaction record.
  • the query result selection criteria include one or more of the following: price constraints that are derived from one or more extracted price data values to narrow the list of similar product descriptions; a timeliness requirement to ensure that the missing information is recovered from data that is contemporaneous or nearly contemporaneous (e.g., within a specified number of weeks or months) with the date of the purchase transaction (as reflected, for example, by the order date or the confirmation message date); and one or more heuristics to select a particular product from a listing of potentially matching products.
  • the purchase transaction data retrieval system 12 automatically determines upper and lower product price bounds for selecting the product-related item in the respective query results based on a first price data value for a subtotal field type and a second price data value for an order total field type, and optionally based on one or more item quantity data values extracted from the respective purchase transaction record.
  • the upper price bound is set to the extracted order total price value.
  • the lower price bound is derived from a scaling of the order subtotal price value by a factor dependent on a linear function of the one or more item quantity data values extracted from the respective purchase transaction record.
  • the scaling factor is given by equation (1):
  • the lower price bound is derived from a scaling of the order total price value by a factor dependent on a linear function of the one or more item quantity data values extracted from the respective purchase transaction record.
  • the scaling factor is given by equation (1) where one or both of the empirically determined constants a and b may be same or different from the values used for the examples described above in which the order subtotal price value is greater than zero.
  • FIGS. 5A and 5B show exemplary purchase transaction records 46 , 48 from which the purchase transaction data retrieval system 12 generates respective query terms and respective query result selection criteria.
  • FIG. 5A shows an example of a single-item purchase transaction record 46 that provides a partial description (i.e., “Lemon Star Premium xPhone”) of the purchased product, a quantity (“1” is implied) of the purchased product, and a price (i.e., $19.99) of the purchased product.
  • the incomplete description of the purchased product prevents the purchase transaction data retrieval system 12 from directly identifying the product purchased.
  • the purchase transaction data retrieval system 12 generates a query that includes the extracted partial description of the purchased product, and generates a query result selection criterion that includes the extracted purchased product price as the upper price bound.
  • FIG. 5B shows an example of a multi-item purchase transaction record 48 that provides the quantity (“1” is implied) and a partial product description (i.e., “13 oz Crichton Sport”) of the first purchased product listed, the quantity (i.e., “4”) of “other items” purchased, the total price of the items before tax (i.e., $31.23), and the order total (i.e., $31.23).
  • the purchase transaction data retrieval system 12 is unable to directly identify the first purchased product listed, cannot directly identify any of the “other items” that were purchased, and cannot directly determine the prices paid for any of the purchased products.
  • the purchase transaction data retrieval system 12 generates a query that includes the extracted partial description of the first purchased product listed, and generates query result selection criteria that includes the extracted order total (i.e., $31.23) as the upper price bound and lower price bound derived from a scaling of the order subtotal price value (i.e., $31.23) by the factor defined in equation (1).
  • the purchase transaction data retrieval system 12 obtains respective query results that include a respective listing of one or more product-related items each of which is associated with data values for respective purchase-related field types ( FIG. 4 , block 50 ).
  • the query results may be obtained from a server in the form of at least one document, which may be structured (e.g., an HTML formatted a web page) or unstructured (e.g., a plain text document).
  • the listing of product-related items is ranked by one or more factors (e.g., sales volume, sales rank, product views, product reviews, product newness, and conversion ratio).
  • the purchase transaction data retrieval system 12 submits the query to a database search engine that is associated with the data storage system 36 to search for records of respective ones of the complete sets 31 of purchase transaction related data values stored in the data storage system 36 that include data values that are similar to corresponding data values in the query.
  • the search is limited to records that satisfy a timeliness requirement.
  • the database search engine returns a ranked listing of product-related items (i.e., query results) having one or more data values that are similar to the terms of the query. The listing may be ranked based on one or more factors, including degree of match with the query terms, product popularity, and degree to which the timeliness requirement is satisfied.
  • the product popularity is determined from an analysis of purchase transaction data obtained from one or more of the data storage system 36 and other sources (e.g., one or more online commerce companies).
  • the product-related items in the listing are ranked based on the degree of closeness of their respective order dates to the order date of the purchase transaction that is the subject of the search.
  • the purchase transaction data retrieval system 12 submits the query to one or more database search engines associated with respective third-party databases (e.g., publicly available product catalogues published by the servers 40 of product merchants or other online publishers of product information) to search for product-related items with data values that are similar to corresponding data values in the query.
  • the purchase transaction data retrieval system 12 identifies the merchant associated with the flagged data set and submits the query to a database search engine associated with the identified merchant.
  • the database search engine is executed on a web server and the purchase transaction data retrieval system 12 automatically enters the query into a graphical control element of a web page generated by the web server.
  • the database search engine In response to the query, the database search engine returns a query results document (e.g., a web page) that includes a ranked listing of product-related items having one or more data values that are similar to the terms of the query.
  • the listing may be ranked based on one or more factors, including degree of match with the query terms, product popularity, and degree to which the timeliness requirement is satisfied.
  • the database search engine automatically ranks the product-related item listing by product popularity.
  • the purchase transaction data retrieval system 12 combines the results of multiple searches obtained from one or multiple database search engines to produce a single query results listing.
  • the purchase transaction data retrieval system 12 automatically parses a query results document before analyzing the search results. In some of these examples, the purchase transaction data retrieval system 12 parses the query results document using one or more automated web scraping processes that are specific to the format of the query results document to obtain a parsed results listing that includes a respective set of semantically labeled data values for one or more items in the query results document.
  • the purchase transaction data retrieval system 12 selects a product-related item in the ranked listing based on the at least one query result selection criterion ( FIG. 4 , block 52 ).
  • the query result selection criteria may include one or more price constraints (e.g., upper and lower price bounds), a timeliness requirement, and one or more heuristics. These criteria are used to generate a set of rules for selecting a particular product-related item in the ranked listing from which to recover the missing information.
  • the purchase transaction data retrieval system 12 excerpts from the respective query results a respective data value for at least one of the one or more target purchase-related field types associated with the selected product-related item in the query results document ( FIG. 4 , block 54 ). In this process, the purchase transaction data retrieval system 12 may excerpt the at least one data value either directly from the ranking listing or indirectly from a parsed version of the ranked listing.
  • the purchase transaction data retrieval system 12 loads the at least one excerpted data value and ones of the extracted purchase-related-transaction values in the respective flagged set as structured data in the data warehouse ( FIG. 4 , block 56 ). In some examples, this process is performed using extract-transform-load (ETL) based data warehousing techniques.
  • ETL extract-transform-load
  • a partial product description is provided in single-item limited data order confirmation messages (see FIG. 5A ) and a partial product description is provided for the first of multiple products in multi-item limited data order confirmation messages.
  • the above-described side-channel data recovery processes have a high likelihood of accurately recovering missing product description information and missing price information based on partial product descriptions and extracted price selection criteria.
  • the products corresponding to single item orders and the first listed products in multi-item orders represent a substantial proportion of the products purchased in online purchase transactions. Consequently, the above-described side-channel data recovery processes significantly increase the amount of actionable data that can be determined from limited data order purchase transaction confirmation messages as compared to conventional message-based data extraction approaches.
  • the extracted purchase transaction information may be used in a wide variety of useful and tangible real-world applications.
  • the extracted purchase transaction information is processed, for example, to display information about the users' purchases, including information for tracking in-transit orders, information for accessing purchase details, and aggregate purchase summary information.
  • the extracted purchase transaction information is processed, for example, to assist in targeting advertising to consumers based on their purchase histories.
  • the extracted purchase transaction information is processed to provide, for example, anonymous item-level purchase detail across retailers, categories, and devices.
  • FIG. 6 shows an example of a graphical user interface 62 presenting a set of purchase transaction information for a particular consumer (i.e., Consumer A).
  • purchase transaction information for a set of products purchased by Consumer A is present by product in reverse chronological order by order date to provide the purchase history for Consumer A.
  • the purchase transaction information includes Order Date, Item Description, Price, Merchant, and Status. This presentation of purchase transaction information allows Consumer A to readily determine information about the products in the purchase history, such as prices paid and delivery status. In this way, Consumer A is able to readily determine what he bought, where he bought it, and when it will arrive without having to review the original electronic messages (e.g., e-mail messages) containing the purchase transaction information.
  • original electronic messages e.g., e-mail messages
  • Computer apparatus are specifically programmed to provide improved processing systems for performing the functionality of the methods described herein.
  • FIG. 7 shows an exemplary embodiment of computer apparatus that is implemented by a computer system 320 .
  • the computer system 320 includes a processing unit 322 , a system memory 324 , and a system bus 326 that couples the processing unit 322 to the various components of the computer system 320 .
  • the processing unit 322 may include one or more data processors, each of which may be in the form of any one of various commercially available computer processors.
  • the system memory 324 includes one or more computer-readable media that typically are associated with a software application addressing space that defines the addresses that are available to software applications.
  • the system memory 324 may include a read only memory (ROM) that stores a basic input/output system (BIOS) that contains start-up routines for the computer system 320 , and a random access memory (RAM).
  • ROM read only memory
  • BIOS basic input/output system
  • RAM random access memory
  • the system bus 326 may be a memory bus, a peripheral bus or a local bus, and may be compatible with any of a variety of bus protocols, including PCI, VESA, Microchannel, ISA, and EISA.
  • the computer system 320 also includes a persistent storage memory 328 (e.g., a hard drive, a floppy drive, a CD ROM drive, magnetic tape drives, flash memory devices, and digital video disks) that is connected to the system bus 326 and contains one or more computer-readable media disks that provide non-volatile or persistent storage for data, data structures and computer-executable instructions.
  • a persistent storage memory 328 e.g., a hard drive, a floppy drive, a CD ROM drive, magnetic tape drives, flash memory devices, and digital video disks
  • a user may interact (e.g., input commands or data) with the computer system 320 using one or more input devices 330 (e.g. one or more keyboards, computer mice, microphones, cameras, joysticks, physical motion sensors, and touch pads). Information may be presented through a graphical user interface (GUI) that is presented to the user on a display monitor 332 , which is controlled by a display controller 334 .
  • GUI graphical user interface
  • the computer system 320 also may include other input/output hardware (e.g., peripheral output devices, such as speakers and a printer).
  • the computer system 320 connects to other network nodes through a network adapter 336 (also referred to as a “network interface card” or NIC).
  • NIC network interface card
  • a number of program modules may be stored in the system memory 324 , including application programming interfaces 338 (APIs), an operating system (OS) 340 (e.g., the Windows® operating system available from Microsoft Corporation of Redmond, Wash. U.S.A.), software applications 341 including one or more software applications programming the computer system 320 to perform one or more of the functions of the purchase transaction data retrieval system 12 , drivers 342 (e.g., a GUI driver), network transport protocols 344 , and data 346 (e.g., input data, output data, program data, a registry, and configuration settings).
  • APIs application programming interfaces 338
  • OS operating system
  • software applications 341 including one or more software applications programming the computer system 320 to perform one or more of the functions of the purchase transaction data retrieval system 12
  • drivers 342 e.g., a GUI driver
  • network transport protocols 344 e.g., input data, output data, program data, a registry, and configuration settings.
  • each of the purchase transaction data retrieval and provisioning service 12 , the product merchants 14 , the product delivery providers 16 , and the message providers 18 are performed at least in part by respective server systems that include one or more server network nodes corresponding to the computer apparatus 320 .
  • the embodiments described herein provide improved systems, methods, and computer-readable media for unobtrusively retrieving purchase transaction information from multiple sources and combining that information to provide actionable information across a wider variety of different purchase transactions and merchants than otherwise would be available from conventional approaches.

Abstract

A server system automatically extracts sets of purchase transaction related data values for target purchase-related field types from purchase transaction records. The server system automatically flags respective ones of the sets of purchase transaction related data values with one or more respective incomplete purchase transaction related data values for one or more of the target purchase-related field types, and stores the flagged sets of purchase transaction related data values and ones of the other sets of purchase transaction related data values determined to be complete in a data storage system. For each of respective ones of the flagged sets of purchase transaction related data values, the server system unobtrusively recovers missing purchase transaction related information from one or more side channels based on one or more query terms and one or more query result selection criteria determined at least in part from the extracted purchase transaction related data values.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • Under 35 U.S.C. § 119(e), this application claims the benefit of U.S. Provisional Application No. 62/358,289, filed Jul. 5, 2016, the entirety of which is incorporated herein by reference.
  • Under 35 U.S.C. § 119(e), this application claims the benefit of U.S. Provisional Application No. 62/273,861, filed Dec. 31, 2015, the entirety of which is incorporated herein by reference.
  • This application also relates to the following co-pending applications: U.S. patent application Ser. No. 13/185,943 (now U.S. Pat. No. 8,844,010), filed Jul. 19, 2011; U.S. patent application Ser. No. 13/349,287, filed Jan. 12, 2012; U.S. patent application Ser. No. 14/457,421, filed Aug. 12, 2014; U.S. patent application Ser. No. 14/684,954, filed Apr. 13, 2015; U.S. patent application Ser. No. 14/684,658, filed Apr. 13, 2015; U.S. patent application Ser. No. 14/519,919, filed Oct. 21, 2014; U.S. patent application Ser. No. 14/519,975, filed Oct. 21, 2014; and International Patent Application No. PCT/US15/56013, filed Oct. 16, 2015.
  • BACKGROUND
  • People purchase products from many different merchants using a variety of different payment options. The transactions for these purchases typically are confirmed by physical in-store receipts or by electronic confirmation messages that are addressed to the purchasers' messaging accounts (e.g., a purchaser's electronic mail account). The large number and diversity of confirmation messages makes it difficult for people to track their purchases and obtain a comprehensive understanding of their purchase histories. In addition, the large diversity of merchants from which people purchase products makes it difficult for merchants to obtain sufficient purchase history data to develop accurate customer profiles. Even assuming that a person uses a common identifier (e.g., a loyalty card or credit card) for all his or her purchases, these purchases typically are tracked only by the merchant that issued the identifier to the customer. This lack of customer information limits a merchant's ability to effectively target its promotions in ways that will encourage them to purchase the merchant's product offerings.
  • In an effort to ameliorate these problems, reporting systems have been developed to extract purchase related information from data sources that are published directly by merchants to consumers, such as purchase confirmation messages and shipping confirmation messages. However, these data extraction approaches breakdown if merchants fail to provide complete purchase transaction information to the consumers in one or more of such direct publishing channels. As a result, these systems are unable to provide complete cross-merchant purchase transaction information without requiring consumers to open membership accounts with all the merchants with which they shop and to further provide the reporting system with access to those accounts.
  • SUMMARY
  • In one aspect, the invention features a computer-implemented method of a purchase transaction data retrieval system. In accordance with this method, over a first network connection with a first network node, a server system associated with the purchase transaction data retrieval system retrieves purchase transaction records. The server system automatically extracts from ones of the purchase transaction records respective sets of purchase transaction related data values for respective target purchase-related field types. The server system automatically flags respective ones of the sets of purchase transaction related data values comprising one or more respective incomplete purchase-related data values for one or more of the target purchase-related field types, and stores the flagged sets of purchase transaction related data values and ones of the other sets of purchase transaction related data values determined to be complete in a data storage system. For each of respective ones of the flagged sets of purchase transaction related data values in the data storage system: the server system determines a query and at least one query result selection criterion based on one or more of the extracted data values in the flagged set; over a second network connection with a second network node, based on the query, the server system obtains respective query results comprising a ranked listing of product-related items each associated with data values for respective purchase-related field types; the server system selects a product-related item in the ranked listing based on the at least one query result selection criteria; the server system excerpts from the respective query results a respective data value for at least one of the one or more target purchase-related field types associated with the selected product-related item in the query results; and the server system loads the at least one excerpted data value and ones of the extracted purchase-related-transaction values in the respective flagged set in the data storage system. The server system transmits data for displaying a view on purchase transaction related data values in the data storage system to a client network node.
  • The invention also features apparatus operable to implement the method described above and computer-readable media storing computer-readable instructions causing a computer to implement the method described above.
  • DESCRIPTION OF DRAWINGS
  • FIG. 1 is a diagrammatic view of an example of a network communication environment.
  • FIG. 2 is a diagrammatic overview of electronic message processing stages performed by an example of a purchase transaction data retrieval system.
  • FIG. 3 is a diagrammatic detailed view of an electronic message based purchase transaction retrieval process performed by an example of a purchase transaction data retrieval system.
  • FIG. 4 is a flow diagram of an example of a side channel data recovery process performed by an example of a purchase transaction data retrieval system.
  • FIG. 5A is a diagrammatic view of an order confirmation message for a single-item purchase transaction.
  • FIG. 5B is a diagrammatic view of an order confirmation message for a multi-item purchase transaction.
  • FIG. 6 is a diagrammatic view of an example of a graphical user interface presenting aggregated purchase transaction information.
  • FIG. 7 is a block diagram of an example of computer apparatus.
  • DETAILED DESCRIPTION
  • In the following description, like reference numbers are used to identify like elements. Furthermore, the drawings are intended to illustrate major features of exemplary embodiments in a diagrammatic manner. The drawings are not intended to depict every feature of actual embodiments nor relative dimensions of the depicted elements, and are not drawn to scale.
  • 1. DEFINITION OF TERMS
  • A “product” is any tangible or intangible good or service that is available for purchase or use.
  • “Purchase transaction information” (also referred to as “purchase transaction data”) is information related to the purchase of a product. Purchase transaction data includes, for example, invoice data, purchase confirmation data (also referred to as “receipt data”), product order information (e.g., merchant name, order number, order date, product description, product name, product quantity, product price, sales tax, shipping cost, and order total), and product shipping information (e.g., billing address, shipping company, shipping address, estimated shipping date, estimated delivery date, and tracking number).
  • An “electronic message” is a persistent text based information record sent from a sender to a recipient between physical network nodes and stored in non-transitory computer-readable memory. An electronic message may be structured message (e.g., a hypertext markup language (HTML) message that includes structured tag elements) or unstructured (e.g., a plain text message).
  • A “computer” is any machine, device, or apparatus that processes data according to computer-readable instructions that are stored on a computer-readable medium either temporarily or permanently. A “computer operating system” is a software component of a computer system that manages and coordinates the performance of tasks and the sharing of computing and hardware resources. A “software application” (also referred to as software, an application, computer software, a computer application, a program, and a computer program) is a set of instructions that a computer can interpret and execute to perform one or more specific tasks. A “data file” is a block of information that durably stores data for use by a software application.
  • The term “computer-readable medium” (also referred to as “memory”) refers to any tangible, non-transitory device capable storing information (e.g., instructions and data) that is readable by a machine (e.g., a computer). Storage devices suitable for tangibly embodying such information include, but are not limited to, all forms of physical, non-transitory computer-readable memory, including, for example, semiconductor memory devices, such as random access memory (RAM), EPROM, EEPROM, and Flash memory devices, magnetic disks such as internal hard disks and removable hard disks, magneto-optical disks, DVD-ROM/RAM, and CD-ROM/RAM.
  • A “network node” is a physical junction or connection point in a communications network. Examples of network nodes include, but are not limited to, a terminal, a computer, and a network switch. A “server system” includes one or more network nodes and responds to requests for information or service. A “client node” is a network node that requests information or service from a server system.
  • As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on.
  • 2. PURCHASE TRANSACTION DATA RETRIEVAL SYSTEM WITH UNOBTRUSIVE SIDE CHANNEL DATA RECOVERY
  • A. Introduction
  • The following specification describes examples of improved systems and methods for obtaining purchase transaction information based on electronic messages that solve practical problems that have arisen from changes in merchant purchase transaction reporting practices resulting in the omission of certain critical product specific information from the electronic confirmation messages that they send to their customers. These examples provide a purchase transaction data retrieval system that is able to unobtrusively obtain missing purchase transaction information from one or more side channels and combine that information with information extracted from electronic messages to provide actionable information across a wider variety of purchase transactions and merchants than otherwise would be possible using conventional approaches.
  • The resulting purchase transaction information can be aggregated to provide individuals with enhanced tools for visualizing and organizing their purchase histories and to provide merchants and other organizations improved cross-merchant purchase graph information across different consumer demographics to enable targeted and less intrusive advertising and other marketing strategies. These improved systems and methods can be deployed to monitor consumer purchases over time to obtain updated purchase history information that can be aggregated for an individual consumer or across many consumers to provide actionable information that directs consumer behavior and organizational marketing strategies. For example, these improved systems and methods can organize disparate purchase transaction information into actionable data that can be used by a consumer to organize her prior purchases and enhance her understanding of her purchasing behavior and can be used by merchants and other organizations to improve the accuracy and return-on-investment of their marketing campaigns.
  • B. Exemplary Operating Environment
  • FIG. 1 shows an example of a network communications environment 10 that includes a network 11 that interconnects a purchase transaction data retrieval system 12, one or more product merchants 14 that sell products, one or more product delivery providers 16 that deliver purchased products to purchasers, one or more message providers 18 that provide message handling services, and one or more purchase transaction information consumers 20 that purchase product and market information and services from the purchase transaction data retrieval system 12.
  • The network 11 may include any of a local area network (LAN), a metropolitan area network (MAN), and a wide area network (WAN) (e.g., the internet). The network 11 typically includes a number of different computing platforms and transport facilities that support the transmission of a wide variety of different media types (e.g., text, voice, audio, and video) between network nodes of a purchase transaction data retrieval system 12, one or more product merchants 14, product delivery providers 16, message providers 18, and purchase transaction information consumers 20. Each of the purchase transaction data retrieval system 12, the product merchants 14, the product delivery providers 16, the message providers 18, and the purchase transaction information consumers 20 typically connects to the network 11 via a network node (e.g., a client computer or server system) that includes a tangible computer-readable memory, a processor, and input/output (I/O) hardware (which may include a display).
  • One or more of the product merchants 14 typically allow individuals and businesses to purchase products directly over the network 11 using a network enabled software application, such as a web browser. One or more of the product merchants 14 also may allow individuals and businesses to purchase products in a physical retail establishment. In either case, after a purchase transaction has been completed, a product merchant 14 may send a product purchase confirmation electronic message to a messaging address associated with the product purchaser. The product purchase confirmation message may include, for example, product order information such as merchant name, order number, order date, estimated delivery date, product description, product name, product quantity, product price, sales tax, shipping cost, and order total. The product merchant 14 also may arrange to have the product delivered by one of the product delivery providers 16. Depending on the type of product that was purchased, the product delivery provider 16 may deliver the product to the purchaser physically or electronically. In either case, the product delivery provider 16 or the product merchant 14 may send a delivery notification electronic message to the messaging address associated with the purchaser. The delivery notification electronic message may include, for example, product shipping information such as product order information, billing address, shipping company, shipping address, estimated shipping date, estimated delivery date, and tracking number.
  • In general, the purchaser's messaging address may be any type of network address to which electronic messages may be sent. Examples of such messaging addresses include electronic mail (e-mail) addresses, text messaging addresses (e.g., a sender identifier, such as a telephone number or a user identifier for a texting service), a user identifier for a social networking service, and a facsimile telephone number. The product purchase related electronic messages typically are routed to the purchaser through respective ones of the message providers 18 associated with the purchaser's messaging address. The message providers 18 typically store the purchasers' electronic messages in respective message folder data structures in a database.
  • The purchase transaction data retrieval system 12 extracts purchase transaction information from the electronic messages of product purchasers. In some examples, the purchase transaction data retrieval system obtains authorization from the product purchasers to access their respective message folders that are managed by the message providers 18. In other examples, product purchasers allow the purchase transaction data retrieval system 12 to access their electronic messages that are stored on their local communication devices (e.g., personal computer or mobile phone).
  • C. Retrieving Purchase Transaction Data with Unobtrusive Side Channel Data Recovery
  • 1. OVERVIEW
  • Referring to FIG. 2, after obtaining authorization to access the electronic messages 22 of a product purchaser (also referred to herein as a “user”), the purchase transaction data retrieval and provisioning service 12 accesses the product purchaser's electronic messaging account and processes selected ones of the electronic messages 22 that relate to purchase transactions. The purchase transaction data retrieval and provisioning service 12 includes a number of stages for retrieving and processing the electronic messages 22 before producing processed data 24 that may be provided to the purchase transaction information consumers 20. These stages include a message discovery stage 26, a field extraction stage 28, a missing data recovery stage 29, and a data processing stage 30. In some examples, the electronic message processing method of FIG. 2 is performed by a server system that is associated with the purchase transaction data retrieval and provisioning service 12.
  • In the message discovery stage 26, the purchase transaction data retrieval and provisioning system 12 identifies the particular ones of the electronic messages 22 that relate to purchase transactions. In some examples, rule-based filters and machine learning classifiers are used to identify purchase transaction related electronic messages (see, e.g., the examples described in U.S. patent application Ser. No. 13/185,943, filed Jul. 19, 2011, U.S. patent application Ser. No. 13/349,287, filed Jan. 12, 2012, U.S. patent application Ser. No. 14/519,919, filed Oct. 21, 2014, and U.S. patent application Ser. No. 14/519,975, filed Oct. 21, 2014).
  • In the field extraction stage 28, the purchase transaction data retrieval and provisioning service 12 extracts purchase transaction information from the identified ones of the electronic messages 22. Examples of such purchase transaction information include merchant name, order number, order date, product description, product name, product quantity, product price, sales tax, shipping cost, order total, billing address, shipping company, shipping address, estimated shipping date, estimated delivery date, and tracking number. A variety of different methods may be used to extract purchase transaction information from the identified ones of the electronic messages 22 (see, e.g., the examples described in U.S. patent application Ser. No. 13/185,943, filed Jul. 19, 2011, U.S. patent application Ser. No. 13/349,287, filed Jan. 12, 2012, U.S. patent application Ser. No. 14/519,919, filed Oct. 21, 2014, and U.S. patent application Ser. No. 14/519,975, filed Oct. 21, 2014).
  • In the missing data recovery stage 29, the purchase transaction data retrieval and provisioning service 12 identifies information that is missing from the extracted purchase transaction information and attempts to recover some or all of the identified missing information. Examples of these processes are described in detail below.
  • In the data processing stage 30, the purchase transaction data retrieval and provisioning service 12 combines the extracted and recovered purchase transaction information to produce processed data 24 that includes, for example, aggregated data and views on the aggregated data. Various views on the aggregated data may be prepared for different types of purchase transaction information consumers 20. For individual users, the extracted purchase transaction information is processed, for example, to display information about the users' purchases, including information for tracking in-transit orders, information for accessing purchase details, and aggregate purchase summary information. For advertisers, the extracted purchase transaction information is processed, for example, to assist in targeting advertising to consumers based on their purchase histories. For market analysts, the extracted purchase transaction information is processed to provide, for example, anonymous item-level purchase detail across retailers, categories, and devices.
  • 2. SIDE CHANNEL DATA RECOVERY
  • Many merchants send their customers confirmation messages that include sufficient purchase transaction information to generate the types of reports desired by the purchase transaction information consumers 20. Other merchants, however, have changed their purchase transaction reporting practices so that the confirmation messages that they transmit to their customers no longer include complete purchase transaction information for particular purchase transaction data field types. (These types of confirmation messages are referred to herein as “limited data order confirmation messages.”) Without this information, conventional confirmation message based data extraction systems are unable to obtain the information needed to provide complete cross-merchant purchase transaction information without requiring consumers to have registered accounts with all the merchants with which they shop and to further provide the reporting system with access to those accounts. For example, in order to derive many types of the purchase transaction information products, the purchase transaction information provider 12 needs information that allows it to accurately identify (or at least categorize) individual purchased products and accurately determine the prices paid for those individual products. Limited data order confirmation messages, however, do not contain complete product description information and/or individual product price information and, as a result, conventional approaches do not use purchase transaction information from limited data order confirmation messages to generate their purchase transaction reports.
  • FIG. 3 shows an example of the process of FIG. 2 in which the data recovery stage 29 has been expanded to show processes for unobtrusively recovering missing purchase transaction information from one or more side channels to mitigate the data omission problem associated with limited data order confirmation messages.
  • Referring to FIG. 3, in the message discovery and field extraction processing stages 26, 28, the purchase transaction data retrieval and provisioning service 12 extracts respective sets of purchase transaction related data values for respective target purchase-related field types from identified ones of the users' electronic messages (FIG. 3, blocks 26 and 28). Each set of purchase transaction related data values typically is stored as a respective database record, which may be indexed by the order number of the associated purchase transaction.
  • Based on the extracted information, the purchase transaction data retrieval and provisioning service 12 flags respective ones of the sets of purchase transaction related data values that include one or more incomplete purchase-related data values for one or more of the target purchase-related field types (FIG. 3, block 32). The flagged data value sets typically correspond to the purchase transaction related data value sets that are extracted from limited data order confirmation messages. In some examples, the purchase transaction data retrieval and provisioning system 12 only flags those sets of purchase transaction related data values that have incomplete or no information for one or more key purchase-related field types (e.g., product description, product price, and product quantity).
  • In some examples of the flagging process (FIG. 3, block 32), the purchase transaction data retrieval system 12 automatically scans each set of extracted purchase transaction related data values for an incomplete data value marker in one or more key purchase-related field types. Examples of an incomplete data value marker include an indication that an extracted product description text data value for the product description field is incomplete. Examples of such indications include the presence of an ellipsis (e.g., “ . . . ”) or other symbol (e.g., a dash, such as “-”) in the extracted product description text in the product description field, and the presence of an indication in the product description field that the respective purchase transaction relates to one or more unspecified other items (e.g., the product description text includes an explicit reference to “other items”).
  • In some examples, in addition to extracting purchase transaction related data values from electronic messages 22, the purchase transaction data retrieval and provisioning service 12 also extracts complete sets of purchase transaction related data values from users' purchase history records that are stored in the users' customer accounts that are maintained by the merchants 14 with which the users shop. In these examples, users of the purchase transaction data retrieval system 12 provide their authentication credentials (e.g., username and password) for their customer accounts with one or more of the merchants 14 with which they shop to allow the purchase transaction data retrieval system 12 to retrieve complete sets of purchase transaction data from the users' purchase history records that are stored in association with their customer accounts with respective ones of the merchants 14.
  • The purchase transaction data retrieval service 12 stores the extracted sets 31 of purchase transaction related data values that are determined to be complete and the extracted sets 34 of purchase transaction related data values that are flagged as incomplete in a data storage system 36. In some examples, the purchase transaction data retrieval system 12 stores the sets of purchase transaction related data values that are flagged as incomplete in a recovery data store, and loads ones of the other sets of purchase transaction related data values that are determined to be complete as structured data in a data warehouse. The recovery data store serves as a temporary repository for the flagged data sets and may be organized as a database or a flat file. The data warehouse, on the other hand, serves as a central repository for purchase transaction data that supports various analysis and reporting functions. In some examples, structured data is loaded into the data warehouse using extract-transform-load (ETL) based data warehousing techniques.
  • The purchase transaction data retrieval system 12 executes one or more side channel data recovery processes to retrieve data that is missing from the respective incomplete sets of purchase transaction related data values stored in the recovery data store (FIG. 3, block 38).
  • In a first party side channel data recovery process 37, the purchase transaction data retrieval system 12 attempts to recover some or all of the missing data from respective ones of the complete sets 31 of purchase transaction related data values stored in the data storage system 36. In this regard, the purchase transaction data retrieval system 12 attempts to recover missing data from the complete sets 31 of purchase transaction data that the purchase transaction data retrieval system 12 extracts from the electronic messages 22 and from users' purchase history records that are retrieved from the users' customer accounts with respective ones of the merchants 14.
  • In a third party side channel data recovery process 37, the purchase transaction data retrieval system 12 attempts to recover some or all of the missing data from third party data maintained on one or more product information servers 40. In some examples, the third party data includes publically available databases (e.g., product catalogues) that are maintained by the product information servers 40 of product merchants 14, online shopping aggregators, and other online sources of product information.
  • In the data processing stage 30, the purchase transaction data retrieval 12 combines the extracted and recovered purchase transaction information to produce processed data 24 that includes, for example, aggregated data and views on the aggregated data. Either automatically or responsive to requests from the client network nodes 20, the purchase transaction data retrieval system 12 transmits the processed data 24 to the client network nodes 20 for displaying respective views on the aggregated data.
  • FIG. 4 shows an example of a side channel data recovery process 42 that involves applying the following processing stages to ones of the flagged sets of purchase transaction related data values in the data storage system 36.
  • In accordance with the side channel data recovery process 42, the purchase transaction data retrieval system 12 determines a query and at least one query result selection criterion based on one or more of the extracted data values in the flagged set (FIG. 4, block 44). The particular contents of the query and the query result selection criterion typically are determined based on one or more of the extracted data values in the flagged data value set or the missing information to be recovered, or both the extracted data value information and the missing information.
  • Some examples are designed to identify a product purchased in a purchase transaction based on an incomplete product description that was extracted from a purchase transaction record. In these examples, the purchase transaction data retrieval system 12 incorporates, at least in part, the extracted incomplete description of the purchased product into the query. In some of these examples, the query also may include a product model number, product feature information, a merchant identifier, and other ancillary product-related information that was extracted from the associated purchase transaction record. In some of these examples, the query result selection criteria include an extracted price paid (e.g., order subtotal price) for the product corresponding to the extracted incomplete product description. The query result selection criteria also may include a timeliness requirement to ensure that the missing information is recovered from data that is contemporaneous or nearly contemporaneous (e.g., within a specified number of weeks or months) with the date of the purchase transaction (as reflected, for example, by the order date or the confirmation message date). The query result selection criteria also may include one or more heuristics to select a particular product from a listing of potentially matching products.
  • Some examples are designed to identify a product purchased in a purchase transaction and a price paid for that product based on an incomplete product description and one or more price data values that were extracted from a purchase transaction record. In these examples, the purchase transaction data retrieval system 12 incorporates the extracted incomplete description of the purchased product into the query. In some of these examples, the query also may include a product model number, product feature information, a merchant identifier, and other ancillary product-related information that was extracted from the associated purchase transaction record. In some of these examples, the query result selection criteria include one or more of the following: price constraints that are derived from one or more extracted price data values to narrow the list of similar product descriptions; a timeliness requirement to ensure that the missing information is recovered from data that is contemporaneous or nearly contemporaneous (e.g., within a specified number of weeks or months) with the date of the purchase transaction (as reflected, for example, by the order date or the confirmation message date); and one or more heuristics to select a particular product from a listing of potentially matching products.
  • In some examples, the purchase transaction data retrieval system 12 automatically determines upper and lower product price bounds for selecting the product-related item in the respective query results based on a first price data value for a subtotal field type and a second price data value for an order total field type, and optionally based on one or more item quantity data values extracted from the respective purchase transaction record.
  • In some of these examples, the upper price bound is set to the extracted order total price value.
  • In examples in which the order subtotal price value is greater than zero, the lower price bound is derived from a scaling of the order subtotal price value by a factor dependent on a linear function of the one or more item quantity data values extracted from the respective purchase transaction record. In some examples, the scaling factor is given by equation (1):
  • a quantity of first item + b · ( quantity of other items ) ( 1 )
  • where the variables a and b are empirically determined constants.
  • In examples in which the order subtotal price value is zero, the lower price bound is derived from a scaling of the order total price value by a factor dependent on a linear function of the one or more item quantity data values extracted from the respective purchase transaction record. In some examples, the scaling factor is given by equation (1) where one or both of the empirically determined constants a and b may be same or different from the values used for the examples described above in which the order subtotal price value is greater than zero.
  • FIGS. 5A and 5B show exemplary purchase transaction records 46, 48 from which the purchase transaction data retrieval system 12 generates respective query terms and respective query result selection criteria.
  • FIG. 5A shows an example of a single-item purchase transaction record 46 that provides a partial description (i.e., “Lemon Star Premium xPhone”) of the purchased product, a quantity (“1” is implied) of the purchased product, and a price (i.e., $19.99) of the purchased product. In this example, the incomplete description of the purchased product prevents the purchase transaction data retrieval system 12 from directly identifying the product purchased. In this case, the purchase transaction data retrieval system 12 generates a query that includes the extracted partial description of the purchased product, and generates a query result selection criterion that includes the extracted purchased product price as the upper price bound.
  • FIG. 5B shows an example of a multi-item purchase transaction record 48 that provides the quantity (“1” is implied) and a partial product description (i.e., “13 oz Crichton Sport”) of the first purchased product listed, the quantity (i.e., “4”) of “other items” purchased, the total price of the items before tax (i.e., $31.23), and the order total (i.e., $31.23). In this example, the purchase transaction data retrieval system 12 is unable to directly identify the first purchased product listed, cannot directly identify any of the “other items” that were purchased, and cannot directly determine the prices paid for any of the purchased products. In this case, the purchase transaction data retrieval system 12 generates a query that includes the extracted partial description of the first purchased product listed, and generates query result selection criteria that includes the extracted order total (i.e., $31.23) as the upper price bound and lower price bound derived from a scaling of the order subtotal price value (i.e., $31.23) by the factor defined in equation (1).
  • Referring back to FIG. 4, based on the query, the purchase transaction data retrieval system 12 obtains respective query results that include a respective listing of one or more product-related items each of which is associated with data values for respective purchase-related field types (FIG. 4, block 50). The query results may be obtained from a server in the form of at least one document, which may be structured (e.g., an HTML formatted a web page) or unstructured (e.g., a plain text document). In some examples, the listing of product-related items is ranked by one or more factors (e.g., sales volume, sales rank, product views, product reviews, product newness, and conversion ratio).
  • In some examples, the purchase transaction data retrieval system 12 submits the query to a database search engine that is associated with the data storage system 36 to search for records of respective ones of the complete sets 31 of purchase transaction related data values stored in the data storage system 36 that include data values that are similar to corresponding data values in the query. In some examples, the search is limited to records that satisfy a timeliness requirement. In response to the query submission, the database search engine returns a ranked listing of product-related items (i.e., query results) having one or more data values that are similar to the terms of the query. The listing may be ranked based on one or more factors, including degree of match with the query terms, product popularity, and degree to which the timeliness requirement is satisfied. In some examples, the product popularity is determined from an analysis of purchase transaction data obtained from one or more of the data storage system 36 and other sources (e.g., one or more online commerce companies). In some examples, the product-related items in the listing are ranked based on the degree of closeness of their respective order dates to the order date of the purchase transaction that is the subject of the search.
  • In some examples, the purchase transaction data retrieval system 12 submits the query to one or more database search engines associated with respective third-party databases (e.g., publicly available product catalogues published by the servers 40 of product merchants or other online publishers of product information) to search for product-related items with data values that are similar to corresponding data values in the query. In some examples, the purchase transaction data retrieval system 12 identifies the merchant associated with the flagged data set and submits the query to a database search engine associated with the identified merchant. In some examples, the database search engine is executed on a web server and the purchase transaction data retrieval system 12 automatically enters the query into a graphical control element of a web page generated by the web server. In response to the query, the database search engine returns a query results document (e.g., a web page) that includes a ranked listing of product-related items having one or more data values that are similar to the terms of the query. The listing may be ranked based on one or more factors, including degree of match with the query terms, product popularity, and degree to which the timeliness requirement is satisfied. In some examples, the database search engine automatically ranks the product-related item listing by product popularity.
  • In some examples, the purchase transaction data retrieval system 12 combines the results of multiple searches obtained from one or multiple database search engines to produce a single query results listing.
  • In some examples, the purchase transaction data retrieval system 12 automatically parses a query results document before analyzing the search results. In some of these examples, the purchase transaction data retrieval system 12 parses the query results document using one or more automated web scraping processes that are specific to the format of the query results document to obtain a parsed results listing that includes a respective set of semantically labeled data values for one or more items in the query results document.
  • Referring back to FIG. 4, the purchase transaction data retrieval system 12 selects a product-related item in the ranked listing based on the at least one query result selection criterion (FIG. 4, block 52). As explained above, the query result selection criteria may include one or more price constraints (e.g., upper and lower price bounds), a timeliness requirement, and one or more heuristics. These criteria are used to generate a set of rules for selecting a particular product-related item in the ranked listing from which to recover the missing information.
  • The following are examples of item selection rules that are used to select a particular product-related item from a ranked listing of items for which there is an exact string match between an extracted partial product description and one or more product descriptions in the ranked item listing:
      • If there is only a single item that contains an exact string match with the partial product description, select that item.
      • If there are multiple items that contain exact string matches, apply the first of the following selection rules that is satisfied:
        • select the first item in the listing that has an item price between the upper price bound and the lower price bound;
        • select the first item in the listing that has an item price that is lower than the upper price bound;
        • if there are no items in the listing with a price that is lower than the upper price bound, select the first item in the listing;
        • if the order total in the associated transaction record is $0.00, select the first item in the listing.
  • After selecting a product-related item in the ranked listing, the purchase transaction data retrieval system 12 excerpts from the respective query results a respective data value for at least one of the one or more target purchase-related field types associated with the selected product-related item in the query results document (FIG. 4, block 54). In this process, the purchase transaction data retrieval system 12 may excerpt the at least one data value either directly from the ranking listing or indirectly from a parsed version of the ranked listing.
  • The purchase transaction data retrieval system 12 loads the at least one excerpted data value and ones of the extracted purchase-related-transaction values in the respective flagged set as structured data in the data warehouse (FIG. 4, block 56). In some examples, this process is performed using extract-transform-load (ETL) based data warehousing techniques.
  • As explained above, a partial product description is provided in single-item limited data order confirmation messages (see FIG. 5A) and a partial product description is provided for the first of multiple products in multi-item limited data order confirmation messages. The above-described side-channel data recovery processes have a high likelihood of accurately recovering missing product description information and missing price information based on partial product descriptions and extracted price selection criteria. The products corresponding to single item orders and the first listed products in multi-item orders represent a substantial proportion of the products purchased in online purchase transactions. Consequently, the above-described side-channel data recovery processes significantly increase the amount of actionable data that can be determined from limited data order purchase transaction confirmation messages as compared to conventional message-based data extraction approaches.
  • D. Views on Aggregated Purchase Transaction Data
  • The extracted purchase transaction information may be used in a wide variety of useful and tangible real-world applications. For example, for individual users, the extracted purchase transaction information is processed, for example, to display information about the users' purchases, including information for tracking in-transit orders, information for accessing purchase details, and aggregate purchase summary information. For advertisers, the extracted purchase transaction information is processed, for example, to assist in targeting advertising to consumers based on their purchase histories. For market analysts, the extracted purchase transaction information is processed to provide, for example, anonymous item-level purchase detail across retailers, categories, and devices.
  • FIG. 6 shows an example of a graphical user interface 62 presenting a set of purchase transaction information for a particular consumer (i.e., Consumer A). In this example, purchase transaction information for a set of products purchased by Consumer A is present by product in reverse chronological order by order date to provide the purchase history for Consumer A. The purchase transaction information includes Order Date, Item Description, Price, Merchant, and Status. This presentation of purchase transaction information allows Consumer A to readily determine information about the products in the purchase history, such as prices paid and delivery status. In this way, Consumer A is able to readily determine what he bought, where he bought it, and when it will arrive without having to review the original electronic messages (e.g., e-mail messages) containing the purchase transaction information.
  • Other exemplary applications of the aggregated purchase transaction information are described in, for example, U.S. Patent Publication No. 20130024924 and U.S. Patent Publication No. 20130024525.
  • E. Exemplary Computer Apparatus
  • Computer apparatus are specifically programmed to provide improved processing systems for performing the functionality of the methods described herein.
  • FIG. 7 shows an exemplary embodiment of computer apparatus that is implemented by a computer system 320. The computer system 320 includes a processing unit 322, a system memory 324, and a system bus 326 that couples the processing unit 322 to the various components of the computer system 320. The processing unit 322 may include one or more data processors, each of which may be in the form of any one of various commercially available computer processors. The system memory 324 includes one or more computer-readable media that typically are associated with a software application addressing space that defines the addresses that are available to software applications. The system memory 324 may include a read only memory (ROM) that stores a basic input/output system (BIOS) that contains start-up routines for the computer system 320, and a random access memory (RAM). The system bus 326 may be a memory bus, a peripheral bus or a local bus, and may be compatible with any of a variety of bus protocols, including PCI, VESA, Microchannel, ISA, and EISA. The computer system 320 also includes a persistent storage memory 328 (e.g., a hard drive, a floppy drive, a CD ROM drive, magnetic tape drives, flash memory devices, and digital video disks) that is connected to the system bus 326 and contains one or more computer-readable media disks that provide non-volatile or persistent storage for data, data structures and computer-executable instructions.
  • A user may interact (e.g., input commands or data) with the computer system 320 using one or more input devices 330 (e.g. one or more keyboards, computer mice, microphones, cameras, joysticks, physical motion sensors, and touch pads). Information may be presented through a graphical user interface (GUI) that is presented to the user on a display monitor 332, which is controlled by a display controller 334. The computer system 320 also may include other input/output hardware (e.g., peripheral output devices, such as speakers and a printer). The computer system 320 connects to other network nodes through a network adapter 336 (also referred to as a “network interface card” or NIC).
  • A number of program modules may be stored in the system memory 324, including application programming interfaces 338 (APIs), an operating system (OS) 340 (e.g., the Windows® operating system available from Microsoft Corporation of Redmond, Wash. U.S.A.), software applications 341 including one or more software applications programming the computer system 320 to perform one or more of the functions of the purchase transaction data retrieval system 12, drivers 342 (e.g., a GUI driver), network transport protocols 344, and data 346 (e.g., input data, output data, program data, a registry, and configuration settings).
  • In some embodiments, the services provided by each of the purchase transaction data retrieval and provisioning service 12, the product merchants 14, the product delivery providers 16, and the message providers 18 (see FIG. 1) are performed at least in part by respective server systems that include one or more server network nodes corresponding to the computer apparatus 320.
  • 3. CONCLUSION
  • The embodiments described herein provide improved systems, methods, and computer-readable media for unobtrusively retrieving purchase transaction information from multiple sources and combining that information to provide actionable information across a wider variety of different purchase transactions and merchants than otherwise would be available from conventional approaches.
  • Other embodiments are within the scope of the claims.

Claims (22)

1. A method implemented by one or more computing devices specifically programmed to perform operations comprising:
for each of one or more sets of text strings corresponding to respective target purchase-related field types comprising a product description field type and one or more price field types and extracted from respective purchase transactions and comprising a respective partial description text string for a first one of the products and one or more total price text strings for the respective purchase transactions but missing an individual price text string for the first product, by one or more of the computing devices,
building a respective query as a function of the partial description text string for the first product,
determining respective upper and lower price bounds for the first product as a function of one or more of the total price text strings for the respective purchase transaction,
sending at least one request comprising the query to at least one network address that triggers at least one server network node to execute a search engine to return at least one electronic document comprising a respective dynamically generated ranked list of product-related items matching the query and comprising respective sets of descriptions and individual prices for respective products,
selecting a product-related item in the ranked list of product-related items by evaluating one or more of the individual product prices in one or more of the product-related items against the respective upper and lower price bounds for the first product and one or more heuristics that preferentially select higher ranked product-related items over lower ranked product-related items,
excerpting a respective complete product description text string and a respective individual product price text string from the selected product-related item, and
augmenting the extracted set of structured text strings for the respective purchase transaction with the excerpted complete product description text string and the respective individual product price text string.
2. The method of claim 1, wherein the product-related items in the list are derived from records of purchase transactions other than the respective purchase transaction.
3. The method of claim 1, wherein the product-related items in the list are derived from records of products offered for purchase.
4. The method of claim 1, wherein the one or more sets of text strings comprise an extracted a subtotal price text string for a subtotal price field type and an extracted order total price text string for an order total price field type; and the determining comprises, by one or more of the computing devices, automatically determining the upper and lower price bounds for selecting the product-related item in the ranked list based on the subtotal price text string and the order total price text string.
5. The method of claim 4, wherein the one or more sets of text strings comprise one or more extracted item quantity text strings; and the determining comprises, by one or more of the computing devices, automatically determining the upper and lower price bounds for the first product based on the one or more item quantity text strings extracted for the respective purchase transaction.
6. The method of claim 5, wherein the selecting comprises: in response to a determination that none of the product-related items in the ranked list has a price lower than the upper price bound, selecting a highest ranked one of the product-related items in the ranked list.
7. The method of claim 5, wherein the selecting comprises: in response to a determination that the order total price text string is zero, selecting a highest ranked one of the product-related items in the ranked list.
8. The method of claim 1, wherein the product related items in the dynamically generated ranked list are unconnected to the respective purchase transaction and are derived from records of purchase transactions (31, 33) other than the respective purchase transaction and that comprise complete ones of the sets of structured text strings extracted for purchase transactions other than the respective purchase transaction.
9. The method of claim 1, wherein the selecting is conditioned on satisfaction of a predetermined timeliness requirement that the selected product-related item is associated with a date that is within a specified timeframe of a date associated with the respective purchase transaction.
10. The method of claim 1, wherein the sending comprises applying the query to records of respective ones of the extracted sets of structured text strings determined to be complete, and the parsing comprises extracting the respective sets of structured text strings from purchase transaction records in respective electronic messages transmitted between network nodes (28), and the sending comprises applying the query to records of complete ones of the sets of extracted structured text strings.
11. The method of claim 1, wherein:
the one or more sets of text strings comprise an extracted order subtotal price text string for an order subtotal price field type and one or more extracted item quantity text strings; and
the determining comprises deriving the lower price bound for the first product by scaling the order subtotal price text string by a factor dependent on a linear function of the one or more item quantity data values extracted from the respective purchase transaction.
12. The method of claim 1, wherein:
the one or more sets of text strings comprise an extracted order total price text string for an order total price field type, an extracted order subtotal price text string for an order subtotal price field type, and one or more extracted item quantity text strings; and
in response to a determination that the order subtotal price text string is zero, the determining comprises deriving the lower price bound for the first product by scaling the order total price text string by a factor dependent on a linear function of the one or more item quantity data values extracted from the respective purchase transaction.
13. The method of claim 1, wherein the dynamically generated list of product related items is ranked by product popularity.
14. The method of claim 1, wherein the product related items in the dynamically generated list are associated with respective dates and are ranked by degree of closeness of their respective dates to an order date associated with the respective the purchase transaction.
15. The method of claim 1, wherein the selecting comprises selecting a highest ranked one of the product-related items in the ranked list that satisfies the respective upper and lower price bounds for the first product.
16. The method of claim 1, wherein the records of purchase transactions other than the respective purchase transaction comprise records of complete ones of the sets of structured text strings extracted for purchase transactions other than the respective purchase transaction.
17. The method of claim 1, wherein for a particular one of the confirmation messages associated with a particular merchant, the sending comprises sending a request comprising the query to at least one network address that triggers at least one server network node to query records of products offered for purchase by the particular merchant.
18. The method of claim 15, wherein the sending comprises automatically, by one or more of the computing devices, entering the query into a graphical control element of a web page generated by a web server associated with the particular merchant, and the at least one electronic document comprising the respective dynamically generated ranked list of product-related items is served in a web page by the web server associated with the particular merchant.
19. The method of claim 1, wherein the sending comprises applying the query to records of respective ones of the extracted sets of structured text strings determined to be complete.
20. The method of claim 1, wherein the product related items in the dynamically generated list are associated with respective dates and are ranked by degree of closeness of their respective dates to an order date associated with the respective the purchase transaction.
21. Apparatus comprising a memory storing processor-readable instructions, and a processor coupled to the memory, operable to execute the instructions, and based at least in part on the execution of the instructions operable to perform operations comprising:
for each of one or more sets of text strings corresponding to respective target purchase-related field types comprising a product description field type and one or more price field types, extracted from respective purchase transactions comprising a respective partial description text string for a first one of the products and one or more total price text strings for the respective purchase transactions but missing an individual price text string for the first product, by one or more of the computing devices,
building a respective query as a function of the partial description text string for the first product,
determining respective upper and lower price bounds for the first product as a function of one or more of the total price text strings for the respective purchase transaction,
sending at least one request comprising the query to at least one network address that triggers at least one server network node to execute a search engine to return at least one electronic document comprising a respective dynamically generated ranked list of product-related items matching the query and comprising respective sets of descriptions and individual prices for respective products,
selecting a product-related item in the ranked list of product-related items by evaluating one or more of the individual product prices in one or more of the product-related items against the respective upper and lower price bounds for the first product and one or more heuristics that preferentially select higher ranked product-related items over lower ranked product-related items,
excerpting a respective complete product description text string and a respective individual product price text string from the selected product-related item, and
augmenting the extracted set of structured text strings for the respective purchase transaction with the excerpted complete product description text string and the respective individual product price text string.
22. A computer-readable data storage apparatus comprising a memory component storing executable instructions that are operable to be executed by a computer, wherein the memory component comprises:
one or more sets of text strings corresponding to respective target purchase-related field types comprising a product description field type and one or more price field types, extracted from respective purchase transactions comprising a respective partial description text string for a first one of the products and one or more total price text strings for the respective purchase transaction but missing an individual price text string for the first product;
executable instructions to build a respective query as a function of the partial description text string for the first product;
executable instructions to determine respective upper and lower price bounds for the first product as a function of one or more of the total price text strings for the respective purchase transaction;
executable instructions to send at least one request comprising the query to at least one network address that triggers at least one server network node to execute a search engine to return at least one electronic document comprising a respective dynamically generated ranked list of product-related items matching the query and comprising respective sets of descriptions and individual prices for respective products;
executable instructions to select a product-related item in the ranked list of product-related items by evaluating one or more of the individual product prices in one or more of the product-related items against the respective upper and lower price bounds for the first product and one or more heuristics that preferentially select higher ranked product-related items over lower ranked product-related items;
executable instructions to excerpt a respective complete product description text string and a respective individual product price text string from the selected product-related item; and
executable instructions to augment the extracted set of structured text strings for the respective purchase transaction with the excerpted complete product description text string and the respective individual product price text string.
US16/104,852 2015-12-31 2018-08-17 Purchase Transaction Data Retrieval System With Unobtrusive Side Channel Data Recovery Abandoned US20180357617A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/104,852 US20180357617A1 (en) 2015-12-31 2018-08-17 Purchase Transaction Data Retrieval System With Unobtrusive Side Channel Data Recovery

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562273861P 2015-12-31 2015-12-31
US201662358289P 2016-07-05 2016-07-05
US15/277,933 US10055718B2 (en) 2012-01-12 2016-09-27 Purchase confirmation data extraction with missing data replacement
US16/104,852 US20180357617A1 (en) 2015-12-31 2018-08-17 Purchase Transaction Data Retrieval System With Unobtrusive Side Channel Data Recovery

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/277,933 Continuation US10055718B2 (en) 2012-01-12 2016-09-27 Purchase confirmation data extraction with missing data replacement

Publications (1)

Publication Number Publication Date
US20180357617A1 true US20180357617A1 (en) 2018-12-13

Family

ID=59225276

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/277,933 Active US10055718B2 (en) 2012-01-12 2016-09-27 Purchase confirmation data extraction with missing data replacement
US16/104,852 Abandoned US20180357617A1 (en) 2015-12-31 2018-08-17 Purchase Transaction Data Retrieval System With Unobtrusive Side Channel Data Recovery

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US15/277,933 Active US10055718B2 (en) 2012-01-12 2016-09-27 Purchase confirmation data extraction with missing data replacement

Country Status (5)

Country Link
US (2) US10055718B2 (en)
EP (1) EP3398147A4 (en)
JP (1) JP6861729B2 (en)
IL (1) IL260173A (en)
WO (1) WO2017116769A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10147129B1 (en) * 2015-06-26 2018-12-04 Amazon Technologies, Inc. Determining collections of similar items
US10326862B2 (en) * 2016-12-09 2019-06-18 Chicago Mercantile Exchange Inc. Distributed and transactionally deterministic data processing architecture
WO2019028039A1 (en) 2017-08-01 2019-02-07 The Chamberlain Group, Inc. System for facilitating access to a secured area
US11055942B2 (en) 2017-08-01 2021-07-06 The Chamberlain Group, Inc. System and method for facilitating access to a secured area
CN108122076A (en) * 2017-12-21 2018-06-05 北京小度信息科技有限公司 Dispense resource bootstrap technique, device, electronic equipment and computer storage media
US11227069B2 (en) * 2018-09-24 2022-01-18 Salesforce.Com, Inc. Techniques and architectures for managing privacy information and permissions across disparate database tables
US11461829B1 (en) * 2019-06-27 2022-10-04 Amazon Technologies, Inc. Machine learned system for predicting item package quantity relationship between item descriptions
JP7057606B1 (en) 2021-12-09 2022-04-20 Bhi株式会社 Advertising rating system, advertising rating method and program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156817A1 (en) * 2001-02-22 2002-10-24 Volantia, Inc. System and method for extracting information
US20040230647A1 (en) * 2003-05-13 2004-11-18 Jai Rawat Method and system of capturing data for automating internet interactions
US20120203632A1 (en) * 2011-02-07 2012-08-09 Marc Blum Tracking and summarizing purchase information
US20120330971A1 (en) * 2011-06-26 2012-12-27 Itemize Llc Itemized receipt extraction using machine learning
US20130024525A1 (en) * 2011-07-19 2013-01-24 Project Slice Inc. Augmented Aggregation of Emailed Product Order and Shipping Information
US20130024282A1 (en) * 2011-07-23 2013-01-24 Microsoft Corporation Automatic purchase history tracking
US20140105508A1 (en) * 2012-10-12 2014-04-17 Aditya Arora Systems and Methods for Intelligent Purchase Crawling and Retail Exploration

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082426B2 (en) 1993-06-18 2006-07-25 Cnet Networks, Inc. Content aggregation method and apparatus for an on-line product catalog
US6981040B1 (en) 1999-12-28 2005-12-27 Utopy, Inc. Automatic, personalized online information and product services
US20040220926A1 (en) 2000-01-03 2004-11-04 Interactual Technologies, Inc., A California Cpr[P Personalization services for entities from multiple sources
WO2001063486A2 (en) 2000-02-24 2001-08-30 Findbase, L.L.C. Method and system for extracting, analyzing, storing, comparing and reporting on data stored in web and/or other network repositories and apparatus to detect, prevent and obfuscate information removal from information servers
JP2002014681A (en) 2000-06-28 2002-01-18 Pioneer Electronic Corp Information providing system
ES2261527T3 (en) 2001-01-09 2006-11-16 Metabyte Networks, Inc. SYSTEM, PROCEDURE AND APPLICATION OF SOFTWARE FOR DIRECT ADVERTISING THROUGH A GROUP OF BEHAVIOR MODELS, AND PROGRAMMING PREFERENCES BASED ON BEHAVIOR MODEL GROUPS.
US8095597B2 (en) 2001-05-01 2012-01-10 Aol Inc. Method and system of automating data capture from electronic correspondence
US7222090B2 (en) 2001-08-29 2007-05-22 Sedna Patent Services, Llc Method and system for parsing purchase information from web pages
US8689096B2 (en) 2001-11-19 2014-04-01 Hewlett-Packard Development Company, L.P. Computer-based method, software module and computer program product for processing information in transaction-tax related applications
US7321887B2 (en) 2002-09-30 2008-01-22 Sap Aktiengesellschaft Enriching information streams with contextual content
US7024689B2 (en) 2002-12-13 2006-04-04 Intuit, Inc. Granting access rights to unattended software
US20060095372A1 (en) 2004-11-01 2006-05-04 Sap Aktiengesellschaft System and method for management and verification of invoices
US7546290B2 (en) 2005-08-11 2009-06-09 Marc Colando Systems and methods for extracting and adapting data
US20070073592A1 (en) 2005-09-28 2007-03-29 Redcarpet, Inc. Method and system for network-based comparision shopping
CN100442283C (en) 2005-10-20 2008-12-10 关涛 Extraction method and system of structured data of internet based on sample & faced to regime
US20070250390A1 (en) 2006-04-24 2007-10-25 Advanced Commerce Strategies, Inc. Internet advertising method and system
US7653576B2 (en) 2006-08-01 2010-01-26 International Business Machines Corporation Method for pricing items
US20080098300A1 (en) 2006-10-24 2008-04-24 Brilliant Shopper, Inc. Method and system for extracting information from web pages
US20080306831A1 (en) 2007-06-05 2008-12-11 Jack Phillip Abraham Systems and methods for facilitating purchase transactions in a network
US8725637B2 (en) 2007-09-28 2014-05-13 The Western Union Company Methods and systems for generating invoices
US8589366B1 (en) 2007-11-01 2013-11-19 Google Inc. Data extraction using templates
US20090299887A1 (en) 2008-06-03 2009-12-03 Maya Shiran System and method for detecting savings opportunities based on the price protection and return policies of retailers
US20100083095A1 (en) 2008-09-29 2010-04-01 Nikovski Daniel N Method for Extracting Data from Web Pages
US7783515B1 (en) 2009-03-27 2010-08-24 Bank Of America Corporation Itemized receipt tracking system
WO2011002456A1 (en) 2009-06-30 2011-01-06 Hewlett-Packard Development Company, L.P. Selective content extraction
WO2011063561A1 (en) 2009-11-25 2011-06-03 Hewlett-Packard Development Company, L. P. Data extraction method, computer program product and system
US20110208787A1 (en) 2010-01-11 2011-08-25 Sidy Adam L Method and device for continuously aggregating and redistributing personalized electronic information for display on multiple internet-enabled devices
US20110282734A1 (en) 2010-04-07 2011-11-17 Mark Zurada Systems and methods used for publishing and aggregating real world and online purchases via standardized product information
WO2012022044A1 (en) 2010-08-20 2012-02-23 Hewlett-Packard Development Company, L. P. Systems and methods for filtering web page contents
US20120047014A1 (en) 2010-08-23 2012-02-23 Yahoo! Inc. Method and system for using email receipts for targeted advertising
US8527436B2 (en) 2010-08-30 2013-09-03 Stratify, Inc. Automated parsing of e-mail messages
WO2012054788A1 (en) 2010-10-21 2012-04-26 Rillip Inc. Method and system for performing a comparison
US20120203733A1 (en) 2011-02-09 2012-08-09 Zhang Amy H Method and system for personal cloud engine
US9171088B2 (en) 2011-04-06 2015-10-27 Google Inc. Mining for product classification structures for internet-based product searching
US9646291B2 (en) 2011-05-11 2017-05-09 Visa International Service Association Electronic receipt manager apparatuses, methods and systems
US8661095B2 (en) 2011-05-25 2014-02-25 Juniper Networks, Inc. Identifying scripting form of text commands for a network device
US8386285B2 (en) 2011-05-25 2013-02-26 International Business Machines Corporation Demand modeling and prediction in a retail category
CN102831121B (en) 2011-06-15 2015-07-08 阿里巴巴集团控股有限公司 Method and system for extracting webpage information
US9875486B2 (en) 2014-10-21 2018-01-23 Slice Technologies, Inc. Extracting product purchase information from electronic messages
US8844010B2 (en) 2011-07-19 2014-09-23 Project Slice Aggregation of emailed product order and shipping information
US9563904B2 (en) 2014-10-21 2017-02-07 Slice Technologies, Inc. Extracting product purchase information from electronic messages
US8738477B2 (en) 2011-11-10 2014-05-27 Connexive, Inc. Method and apparatus for automated bill timeline
US8903924B2 (en) 2011-12-09 2014-12-02 International Business Machines Corporation Aggregating data in electronic communications
US9606970B2 (en) 2012-01-05 2017-03-28 Data Record Science Web browser device for structured data extraction and sharing via a social network
US8744948B1 (en) 2012-01-11 2014-06-03 Intuit Inc. Mobile data import for a financial return
US9336193B2 (en) 2012-08-30 2016-05-10 Arria Data2Text Limited Method and apparatus for updating a previously generated text
US9268860B2 (en) 2012-12-02 2016-02-23 At&T Intellectual Property I, L.P. Methods, systems, and products for personalized monitoring of data
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
KR20140138512A (en) 2013-05-24 2014-12-04 대한민국(농촌진흥청장) Apparatus and Method for analyzing purchasing information
US20160104188A1 (en) 2014-10-08 2016-04-14 Paribus Co. Consumer price protection service
WO2016064679A1 (en) 2014-10-21 2016-04-28 Slice Technologies, Inc. Extracting product purchase information from electronic messages

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156817A1 (en) * 2001-02-22 2002-10-24 Volantia, Inc. System and method for extracting information
US20040230647A1 (en) * 2003-05-13 2004-11-18 Jai Rawat Method and system of capturing data for automating internet interactions
US20120203632A1 (en) * 2011-02-07 2012-08-09 Marc Blum Tracking and summarizing purchase information
US20120330971A1 (en) * 2011-06-26 2012-12-27 Itemize Llc Itemized receipt extraction using machine learning
US20130024525A1 (en) * 2011-07-19 2013-01-24 Project Slice Inc. Augmented Aggregation of Emailed Product Order and Shipping Information
US20130024282A1 (en) * 2011-07-23 2013-01-24 Microsoft Corporation Automatic purchase history tracking
US20140105508A1 (en) * 2012-10-12 2014-04-17 Aditya Arora Systems and Methods for Intelligent Purchase Crawling and Retail Exploration

Also Published As

Publication number Publication date
EP3398147A4 (en) 2019-06-26
JP6861729B2 (en) 2021-04-21
IL260173A (en) 2018-07-31
WO2017116769A1 (en) 2017-07-06
US10055718B2 (en) 2018-08-21
US20170193465A1 (en) 2017-07-06
EP3398147A1 (en) 2018-11-07
JP2019501475A (en) 2019-01-17

Similar Documents

Publication Publication Date Title
US10055718B2 (en) Purchase confirmation data extraction with missing data replacement
US8458160B2 (en) Social network based user-initiated review and purchase related information and advertising
US7797197B2 (en) Method and system for analyzing the performance of affiliate sites
US20140372338A1 (en) Systems and methods for recommending merchants to a consumer
US20120284081A1 (en) Methods and Apparatus for Gathering Intelligence from Itemized Receipts
US20150039388A1 (en) System and method for determining consumer profiles for targeted marketplace activities
US20100299213A1 (en) System and method for providing internet based advertising in a retail environment
US20120010939A1 (en) Social network based online advertising
US20120296780A1 (en) Systems and methods for exchanging product information
KR102446914B1 (en) Computer-implemented method for arranging hyperlinks on a graphical user-interface
US20140330666A1 (en) Methods and apparatus for providing an electronic commerce platform
US20120116885A1 (en) Social network based online advertising and advertisement branding
US20150248694A1 (en) Attributing offline purchases to online advertising
US20210150573A1 (en) Real-time financial system advertisement sharing system
US20110191166A1 (en) Leveraging of Financial Transaction Data
US11494788B1 (en) Triggering supplemental channel communications based on data from non-transactional communication sessions
US20140249885A1 (en) System and method for customized search results based on a shopping history of a user, retailer identifications, and items being promoted by retailers
JP7011552B2 (en) Ad management system, ad management method, and ad management program
US20110060730A1 (en) Reverse portal system and method
US11423434B2 (en) Methods and systems for optimizing configuration of a recommendation platform
US20050049917A1 (en) Reciprocal tangible-promotional-materials presentations enabling systems and methods
JP2009129007A (en) Invoice proxy issuing system and method thereof
US20190026778A1 (en) Geographically Targeted Message Delivery Using Point-of-Sale Data
TWI784383B (en) System and method for regulating online merchandise link activity
KR20220005686A (en) Market system based on preference

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

AS Assignment

Owner name: SLICE TECHNOLOGIES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MADURA, DENNIS;PFLUM, BRADFORD WILLIAM;IANNONE, MATTHEW JOSEPH;AND OTHERS;REEL/FRAME:047568/0704

Effective date: 20161014

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

Free format text: NON FINAL ACTION MAILED

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

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

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

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

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

AS Assignment

Owner name: RAKUTEN MARKETING LLC, CALIFORNIA

Free format text: MERGER;ASSIGNOR:SLICE TECHNOLOGIES, INC.;REEL/FRAME:057721/0702

Effective date: 20200102

AS Assignment

Owner name: MILO ACQUISITION SUB LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RAKUTEN MARKETING LLC;REEL/FRAME:057733/0784

Effective date: 20210910