Real-time user matching using purchase actions
The system identifies and customizes user experiences at physical service providers by matching transaction patterns across anonymous users, addressing the challenge of user anonymity in physical transactions.
Patent Information
- Application Number
- JP2021541661
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-01-17
- Filing Date
- 2020-01-15
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2040-01-15
AI Technical Summary
Existing systems fail to customize user experiences at physical service providers due to anonymous user interactions, lacking the ability to identify and track individual users across multiple transactions.
A system and method to identify the same anonymous user across multiple transactions by analyzing transaction data, using a transaction terminal to detect and match transaction tools, and generate user profiles based on transaction information, including object identifiers and tool information.
Enables personalized user experiences by identifying and customizing interactions for repeat users, even when transactions are anonymous, by matching transaction patterns and behaviors.
Smart Images

Figure 0007706370000002 
Figure 0007706370000003 
Figure 0007706370000004
Abstract
Description
Technical Field
[0001] This disclosure generally relates to the field of data management, and more specifically to the identification of user-specific data.
Background Art
[0002] This application claims the benefit of U.S. Provisional Application No. 62 / 793,552, filed on Jan. 17, 2019, the disclosure of which is incorporated herein by reference in its entirety.
[0003] User profiling activities are common in online systems, and with user information, the system can determine the person performing a particular activity and build a history of the activities performed by the identified person. Online systems customize the experience of each user on the online system based on the profiled actions. In physical locations, there is no advantage in being able to track user behavior, but the actions performed by users at service providers are typically performed anonymously (e.g., in exchange for some benefit) unless the user voluntarily performs the procedures by which they are tracked. Thus, it has not been possible to customize the experience of users at physical service providers on a per-user basis.
Brief Description of the Drawings
[0004] The disclosed embodiments have other advantages and features that will become more readily apparent from the detailed description, the appended claims, and the accompanying drawings (or figures). A brief introduction to the figures is shown below.
[0005]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
[0006] [DETAILED DESCRIPTION OF THE INVENTION] The figures and the following description relate to preferred embodiments by way of example only. It should be noted that from the following description, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of the claims.
[0007] In this specification, several embodiments will be referred to in detail, examples of which are shown in the accompanying drawings. It should be noted that wherever possible, similar reference numerals or like reference numerals may be used in the figures and may indicate similar functionality or like functionality. The figures are for illustrative purposes only and illustrate embodiments of the disclosed system (or method). Those skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods shown herein may be employed without departing from the principles described herein.
[0008] [OVERVIEW OF THE CONFIGURATION] One embodiment of the disclosed system, method, and computer-readable storage medium relates to identifying the same user across multiple transaction activities at a physical location. The system identifies from transaction data the timing at which the same anonymous user performs another transaction at a physical location.
[0009] For example, a user may have the habit of regularly obtaining items using the same transaction tool such as a mobile wallet item. Although there may be no information for identifying the user at the physical location where the transaction occurs, a processor (e.g., a POS terminal or its peripheral device) can identify that it is the same anonymous user who executes each transaction attempt. Even though the user is anonymous, the user's experience can be customized (e.g., by customizing the output of the transaction terminal).
[0010] In one embodiment, a receiving processor receives a first object identifier and first transaction tool information in relation to a first transaction by an anonymous user at a transaction terminal. The processor generates a profile for the anonymous user, and the profile includes the first transaction tool information and the first object identifier. The processor uses the transaction terminal to detect a second transaction related to a second object identifier, and the second transaction is performed using a second transaction tool. The processor determines whether the second transaction was executed by the same anonymous user as the first transaction, and accordingly, the second object identifier is added to the profile of the anonymous user.
[0011] In other embodiments, a non-transitory computer-readable storage medium includes computer-executable code that, when executed by one or more processors, causes the processors to perform operations. A processor (e.g., a terminal at a place of sale or its point-of-sale terminal or its peripheral device) receives a first object identifier and first transaction tool information in relation to a first transaction by an anonymous user using a transaction terminal. The processor creates a profile for the anonymous user, and the profile includes the first transaction tool information and the first object identifier. The processor uses the transaction terminal to detect a second transaction related to a second object identifier, and the second transaction is performed using a second transaction tool. The processor determines whether the second transaction was executed by the anonymous user, and accordingly, the processor adds the second object identifier to the profile of the anonymous user.
[0012] [Transaction Terminal System Environment] FIG. 1 shows an embodiment of a system environment 100 including a transaction terminal 110, a client device 120, a server 130, and a network 140. In the system environment 100, the transaction terminal 110 may process a user's transaction (e.g., purchase of an object). To process the transaction, the transaction terminal 110 detects the user's transaction tool. The transaction terminal 110 obtains information regarding a first transaction occurring at the transaction terminal 110, including information regarding the purchased object and the transaction tool, and provides it to the server 130 via the network 140.
[0013] The transaction terminal 110 may be physically located at the store where the transaction is processed, whereby the user obtains a physical object or provides consideration for the service provided. For example, the transaction terminal 110 may be a point-of-sale management terminal used to transfer ownership of a physical object to a person. During such a transaction, the transaction terminal typically does not identify the ID of the purchasing user. The transaction terminal 110 detects the user's transaction tool. As used herein, the term transaction tool refers to a tool used to provide consideration for obtaining a physical object. The transaction tool may be physical or virtual. Examples of physical transaction tools include physical credit cards, debit cards, charge cards, gift cards, loyalty reduction cards, etc. Examples of virtual transaction tools include virtual credit cards, debit cards, charge cards, gift cards, loyalty reduction cards, etc., which may form part of an electronic wallet (e.g., APPLE PAY (trademark), ANDROID PAY (trademark), etc.). Transaction tools typically include a number (such as a credit card number) for identifying an account and usually also include the user's name. This may be printed on the card (physically or virtually) or encoded (e.g., barcode, QR code, etc.). The system environment 100 may include a plurality of transaction terminals.
[0014] The client device 120 provides information about the user to the trading terminal 110 and / or the server 130. The client device 120 may be a smartphone, a wearable device (e.g., a smartwatch), and / or an Internet of Things device. In some embodiments, the client device 120 may be coupled to a digital wallet that includes one or more virtual trading tools. The client device 120 may facilitate the de-anonymization of the user. For example, the client device 120 may prompt the user to confirm that they are the person themselves and / or provide the user with recommendations regarding products for future transactions.
[0015] The trading terminal 110 provides information about the transaction and the client device 120 to the server 130 via the network 140. The server 130 includes a database that stores information about transactions (e.g., transactions at the trading terminal 110) and the trading tools used. In some embodiments, the server 130 receives and stores information from multiple trading terminals in addition to the trading terminal 110. The server may be located in the same physical location as the trading terminal 110. In some embodiments, the server is cloud-based.
[0016] Network 140 transmits data from the transaction terminal 110 and the client device 120 to the server 130. Network 140 may be a local area and / or wide area network that uses a wireless and / or wired communication system such as the Internet. In some embodiments, Network 140 may transmit data via a single connection (e.g., the data component of a cellular signal, WiFi, etc.) and / or via various connections (e.g., transaction terminal information via GPS while transaction tool information via a data network). Network 140 may include an encryption function to ensure the security of consumer data. For example, the encryption technology may include Secure Sockets Layer (SSL), Transport Layer Security (TLS), Virtual Private Network (VPN), Internet Protocol Security (IPsec), etc.
[0017] [Identification and Clarification of Users within the Transaction System Environment] FIG. 2 shows an embodiment of a detailed diagram of the modules within the transaction terminal 110. The transaction terminal 110 may perform user matching between transactions to determine whether the same anonymous user has performed multiple transactions on the transaction terminal 110. The transaction terminal 110 includes a profile module 210, a user identification module 220, a user clarification module 230, and a data collection module 240. In some embodiments, the user identification module 220 and the user clarification module 230 may be combined. In some embodiments, the server 130 of FIG. 1 performs user matching in addition to and / or instead of the transaction terminal 110. Accordingly, a subset of the modules shown in FIG. 2 may be found within the server 130.
[0018] In response to detecting a transaction by an anonymous user, the transaction terminal 110 obtains identification information regarding the anonymous user and checks for a profile that matches the anonymous user. If a matching profile is found (e.g., by the user identification module 220 described in more detail below), the profile module 210 adds information regarding the transaction to the profile of the anonymous user. If no matching profile is found, the profile module 210 creates a profile for the anonymous user associated with the transaction.
[0019] The profile module 210 generates an anonymous user profile using some or all of the transaction tool information of the transaction tool used to obtain the physical object. The transaction tool information stored in the user profile includes a user identifier (e.g., the user's name) and / or a transaction tool identifier (e.g., a subset of the credit card number). For example, the transaction tool identifier may be the last four digits of the user's credit card number (e.g., because the rest of the credit card number may be masked for security or privacy reasons). In some embodiments, the profile module 210 obtains transaction tool information from the user's client device 120 when the transaction terminal 110 detects a transaction tool coupled to the client device 120. The profile module 210 also adds information regarding the transaction to the user's profile. The transaction information may include an object purchased during the transaction (e.g., a stock keeping unit (SKU)), the date and / or time of the transaction, or an object identifier specifying some combination thereof. The profile of the anonymous user may include information other than that described herein. In some embodiments, when the transaction tool information of the anonymous user matches the information stored in an existing user profile, the profile module 210 adds the transaction information to the profile of the anonymous user. The generated anonymous user profile may be stored in the transaction terminal 110 and / or the server 130.
[0020] The user identification module 220 identifies transactions executed by anonymous users. The user identification module 220 identifies transaction tool information associated with a transaction and compares it with the transaction tool information stored in the user profile. As described above, the profile module 210 generates a user profile associated with previous transactions by anonymous users. After finding a match between the transaction tool information of the transaction and the stored user profile, the user identification module 220 identifies the anonymous user (e.g., the same anonymous user) associated with the stored user profile. In some embodiments, to confirm that a transaction was executed by the same anonymous user, the user identification module 220 provides the transaction tool information and the transaction information to the user de-anonymization module 230.
[0021] The user identification module 220 may find a partial profile match, where in this specification, only the transaction tool information in the stored user profile matches among the transaction tool identifier and the user identifier. When the user identification module 220 finds a partial profile match, the criteria set by the administrator of the transaction terminal 110 determines whether the user identification module 220 determines that the transaction was executed by the same anonymous user. For example, in one embodiment, the user identification module 220 identifies as the same anonymous user if a partial profile match occurs for the stored user profile generated within the last 90 days of the transaction. In other embodiments, the user identification module 220 provides the transaction tool information and the transaction information to the user de-anonymization module 230 after determining a partial profile match. In some embodiments, the user identification module 220 may determine that there is no match between the transaction tool information and the stored user profile and subsequently determine that the same anonymous user did not execute previous transactions.
[0022] The user identification module 230 determines whether two transactions were executed by the same anonymous user. The user identification module 220 may determine a match and / or partial match between the transaction tool information and the information in the stored user profile. However, in some cases, there may be two different users with similar names and / or transaction tool identifiers. For example, the transaction tool information of two different users may include the same name and the same transaction tool identifier information (for example, if only the last four digits of a credit card are collected by the transaction terminal 110, these may also be the same). In some embodiments, the same anonymous user may use different transaction tools for different transactions, for example, with different last four digits. Therefore, the system cannot determine whether the same anonymous user has executed two transactions based solely on the transaction tool information.
[0023] The user identification module 230 uses the transaction information to clarify between users found to have transaction tool information that at least partially matches by the user identification module 220. In some embodiments, the user identification module 230 considers the time when the transaction occurred, the similarity between the acquired objects, and / or the frequency of the objects purchased by the anonymous user during each transaction.
[0024] In some embodiments, the user identification module 230 compares and determines the match between the times when each transaction occurred. The transaction times may match when they occur at the same time on different days. For example, one transaction may occur at 10:00 am and another transaction may occur at 10:00 am the next day. In some embodiments, the transaction times may match when the transaction occurs within a threshold time compared to when the first transaction is executed. For example, if the amount of the threshold time is set to 1 hour, the first transaction occurs at 10:00 am, and the second transaction occurs at 10:25 am the next day, the transaction times match. In some embodiments, the transaction terminal 110 and / or the server 130 determine what constitutes a match of the transaction times.
[0025] The user identification module 230 also considers the similarity between the objects purchased during a transaction based on the object identifiers stored in the user's profile. The relational database stored in the transaction terminal 110 and / or the server 130 may define the similarity between the objects. In some embodiments, the relational database indicates the similarity between the objects based on the product type (e.g., breakfast food, beverage, frozen dessert) and / or the object identifier.
[0026] In other embodiments, the user identification module 230 counts the frequency of the objects purchased over a period of time. For example, the user identification module 230 may determine that orange juice is executed daily by an anonymous user.
[0027] The user identification module 230 applies a weight to each determined match of the transaction information to determine the probability that two transactions were executed by the same anonymous user. The following formula (Equation) 1 shows a customer probability algorithm that the user identification module 230 can use.
[0028]
Number
[0029] Equation 1 shows the probability P that the same anonymous user executed both transactions. A, B, C, and D indicate a match between transaction tool information and transaction information. For example, A may be a matching user identifier, B may be a matching transaction tool identifier, C may be a matching transaction time, and D may be a matching object identifier. In some embodiments, Equation 1 accounts for other transaction information, such as a match between object types, in addition to what is described herein. The matching transaction information is weighted by, for example, W1, W2, W3, and W4, which indicates how important a match is for a particular piece of transaction information. An administrator of the transaction terminal 110 and / or the server 130 may determine the weights W1, W2, W3, and W4. The user identification module 230 aggregates the weighted matching information and determines the probability that the same anonymous user executed both transactions. The user identification module 230 may confirm that the same anonymous user executed both transactions when the probability exceeds a threshold. For example, a 60% probability may be sufficient to determine that the users match. In some embodiments, the threshold probability and weights applied to matching transaction tool information vary for each transaction tool, object sold, and / or administrator of the transaction tool 110.
[0030] For example, in comparing two transactions, the user identification module 230 may determine that there is a match between the user identifier and the object type, but no match between the transaction tool identifier and the transaction time. The administrator of the transaction terminal 110 may consider evaluating the matching transaction tool identifier to determine if the same anonymous user executed both transactions, and thus evaluate the matching transaction tool identifier more heavily than the matching user identifier. Accordingly, the user identification module 230 may output a lower probability that the same anonymous user executed both transactions.
[0031] As described above, when it is determined that the same anonymous user executed both transactions, the profile module 210 adds the new transaction tool information and / or new transaction information to the stored profile of the anonymous user.
[0032] The data collection module 240 collects purchase behavior data regarding the user. The data collection module 240 may store the profile of the anonymous user generated by the profile module 210 and / or information regarding the transaction. In some embodiments, the data collection module 240 further collects information regarding the same anonymous user who is determined to have executed various transactions. Once the user identification module 230 outputs a probability indicating that the same anonymous user has executed a transaction, the transaction terminal 110 may collect more information regarding the anonymous user. The data collection module 240 may, for example, obtain confirmation from the anonymous user that various transactions have been executed. For example, in some embodiments, the data collection module 240 may display and / or print a Quick Response (QR) code on evidence (e.g., a receipt) recording the transaction by the anonymous user to prompt the anonymous user to identify himself / herself. In some embodiments, the data collection module 240 prompts the anonymous user to provide more information about himself / herself via a loyalty and / or membership program. For example, the data collection module 240 may respond to the anonymous user's confirmation of their identification and provide recommendations to the anonymous user. In some embodiments, the recommendations may include objects proposed for purchase related to previous transactions by the anonymous user. The data collection module 240 may provide recommendations regarding the client device 120 and / or evidence recording the transaction. In some embodiments, the data collection module 240 presents recommendations to the user in response to detecting that a previously used transaction tool is used again. In some embodiments, the recommendations may be proposals presented to the user, and the user may redeem them by scanning a QR code presented together with the recommendations. After detecting that the user has redeemed the proposal, the transaction tool 110 may confirm the identification of the user. In some embodiments, the data collection module 240 may provide user data to the server 130.
[0033] FIG. 3 shows an embodiment of the purchase behavior recorded by the data collection module 240 within the transaction terminal 110. All transactions are identified by a transaction ID 310, and the data collection module 240 tracks the transaction date 315, transaction time 320, customer name 325, customer surname 330, transaction tool identifier 335, product stock - keeping unit (SKU) 340, and product type 345. The transaction tool identifier 335 may be the last four digits of a credit card, as shown in FIG. 3. The product SKU is an embodiment of an object identifier. The data collection module 240 may store information other than that described herein.
[0034] The data shown in FIG. 3 relates to a first user 350, a second user 355, and a third user 360. The first user 350 named Jane Smith executes a first transaction 001 at 9:15 a.m. on March 1, 2018. The transaction tool identifier 335 for Jane Smith is recorded as 0989. Jane Smith purchases juice with the identifier BE12. A second transaction 003 executed at 9:17 a.m. on March 3, 2018 indicates that a second user named Jane Smith with the same transaction tool identifier 0989 purchased the same juice BE12. As described in FIG. 2, the user identification module 220 determines a match between the user's name and the transaction tool identifier. Subsequently, the user clarification module 230 takes as input the information regarding transactions 001 and 003 and determines the probability that both transactions were executed by the same Jane Smith, the first user 350.
[0035] Transaction 004 is also executed by Jane Smith, but the transaction tool identifier recorded is 8867. Further, Transaction 004 is associated with shampoo having an SKU of PH09. The user identification module 220 determines the match between Transactions 001, 003, and 004 and the name of Jane Smith, but determines that there is no match between the transaction tool identifiers. The user clarification module 230 determines that a match may exist within the transaction time, but also determines that the object types and identifiers between Transactions 001, 003, and 004 do not match. The user clarification module 230 may consider the match between product identifiers rather than the transaction time, and thus may output a low probability that Transaction 004 was executed by the same Jane Smith as Transactions 001 and 003. Therefore, the user clarification module 230 may determine that Transaction 004 was not executed by the first user 350. Rather, Transaction 004 is executed by the third user 360.
[0036] Transaction 005 is executed by Jane Smith using a different transaction tool identifier 4434 and is associated with soda having an SKU of BE19. Comparing Transaction 001 and 005, the user identification module 220 determines the match between the names, but does not determine the match between the transaction tool identifiers. The user clarification module 230 determines that the product identifiers do not match, but determines that the product types are similar (e.g., soda is similar to juice) according to the data stored in the relational database. Further, the time of Transaction 001 matches the time of Transaction 005. The user clarification module may place more weight on the matching time and product type than on the fact that the identifiers of the transaction tools do not match. Therefore, the user clarification module determines the match between the users executing Transactions 001 and 005, i.e., the match of the first user 350.
[0037] Transaction 002 occurs at 4:00 PM and is associated with the customer name of Joe Burn. The user identification module 220 may determine that there is no match between the names and transaction tool identifiers of the first transaction 001 and the second transaction 002. Therefore, the user identification module 220 may determine that the same user did not execute both transactions. Therefore, transaction 002 may be executed by the second user 355.
[0038] [Configuration of Computer Device] FIG. 4 shows a block diagram including exemplary machine components capable of reading instructions from a machine-readable medium and executing them with a processor (or controller). Specifically, FIG. 4 shows a schematic representation of an apparatus in an exemplary form of a computer system 400 having program code (e.g., software) internally for causing an apparatus to execute any one or more of the methods described herein. The program code may be composed of instructions 424 executable by one or more processors 402. In an alternative embodiment, the apparatus may operate as a stand-alone device or may be connected (e.g., networked) to other devices. In a network-connected deployment, the apparatus may operate as a server device or a client device within a server-client network environment, or as a peer machine within a peer-to-peer (or distributed) network environment.
[0039] The apparatus may be any machine capable of executing instructions 424 (sequential or otherwise) that specify actions to be executed by a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a smartphone, a web appliance, a network router, a switch or bridge, or the apparatus. Further, although only a single apparatus is illustrated, the term "apparatus" should also be construed to include any collection of apparatuses that execute instructions 424, individually or jointly, for executing any one or more of the methods discussed herein.
[0040] An example of computer system 400 includes a processor 402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), one or more application-specific integrated circuits (ASICs), one or more radio frequency integrated circuits (RFICs), or any combination thereof), main memory 404, and static memory 406, which are configured to communicate with each other via bus 408. Computer system 400 may further include a visual display interface 410. The visual interface may include a software driver that enables the user interface to be displayed on a screen (or display). The visual interface may display the user interface directly (e.g., on a screen) or indirectly on a surface or in a window, etc. (e.g., via a visual projection unit). For ease of explanation, the visual interface may be described as a screen. Visual interface 410 may include a touch screen or may interface with a touch screen. Computer system 400 may also include an alphanumeric input device 412 (e.g., a keyboard or a touch screen keyboard), a cursor control device 414 (e.g., a mouse, a trackball, a joystick, a motion sensor, or other pointing device), a storage unit 416, a signal generation device 418 (e.g., a speaker), and a network interface device 420, which are configured to communicate via bus 408.
[0041] The memory unit 416 includes a machine-readable medium 422 storing instructions 424 (e.g., software) that embody any one or more of the methods or functions described herein. Also, the instructions 424 (e.g., software) may reside, fully or at least partially, in the main memory 404 or in the processor 402 (e.g., in a cache memory of the processor) during execution thereof by the computer system 400, and the main memory 404 and the processor 402 also constitute a machine-readable medium. The instructions 224 (e.g., software) may be transmitted or received via a network 226 through a network interface device 420.
[0042] In an exemplary embodiment, the machine-readable medium 422 is shown as a single medium, but the term "machine-readable medium" should be interpreted as a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) capable of storing instructions (e.g., instructions 424). Also, it should be understood that the term "machine-readable medium" includes any medium capable of storing instructions (e.g., instructions 224) for machine execution and of causing any one or more of the methods disclosed herein to be performed. The term "machine-readable medium" includes, but is not limited to, data repositories in the form of solid-state memories, optical media, and magnetic media.
[0043] [User Matching between Transactions] FIG. 5 is a diagram showing an embodiment of a process 500 for performing user matching using purchase behavior. Process 500 is executed by a transaction terminal (e.g., transaction terminal 110) and / or a server (e.g., server 130). The transaction terminal receives 510 information regarding a first transaction (e.g., transaction ID 001) executed by an anonymous user. The first transaction information may include a user identifier (e.g., customer name 325 and customer surname 330), a transaction tool identifier (e.g., transaction tool identifier 335), and a transaction time (e.g., transaction time 320). Further, the first transaction information may include a first object identifier (e.g., product SKU 340) designating the first object purchased and a product type (e.g., product type 345) characterizing the first object.
[0044] The transaction terminal generates 520 a user profile associated with the first transaction (e.g., using profile module 210) that includes the first transaction information.
[0045] The transaction terminal detects 530 a second transaction (e.g., transaction ID 002) and receives information regarding the second transaction. The second transaction information may include a user identifier, a transaction tool identifier, a transaction time, a second object identifier, and a second object type associated with the second transaction.
[0046] The transaction terminal determines 540 whether the second transaction was executed by the same anonymous user. The transaction terminal identifies potentially matching users (e.g., by user identification module 220), and herein, the profiles of the anonymous users associated with the first and second transactions respectively have matching user identifiers and / or transaction tool identifiers. The transaction terminal further determines a match between the first transaction information and the second transaction information to clarify potentially matching users. Considering the matching information, the transaction tool outputs a probability that both transactions were by the same anonymous user. If the probability exceeds a threshold, the transaction terminal indicates that the same anonymous user executed both transactions.
[0047] When verifying that a second transaction was executed by the same anonymous user, the transaction terminal adds information regarding the second transaction to the profile of the anonymous user 550. In some embodiments, the transaction terminal provides recommendations to the anonymous user based on the information stored in the profile. The recommendations can be, for example, products similar to those purchased in the first and / or second transactions. The transaction terminal may provide the recommendations to the user via a client device (e.g., client device 120) and / or evidence (e.g., a receipt) recording the transaction at the transaction terminal.
[0048] If it is determined that the second transaction was not executed by the same anonymous user, the transaction terminal generates a new anonymous user profile that includes information regarding the second transaction 560.
[0049] [Consideration of Additional Configurations] Throughout this specification, various instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed simultaneously and need not be performed in the order illustrated. Structures and functions presented as separate components in an exemplary configuration may be implemented as a combined structure or component. Similarly, structures and functions presented as a single component may be implemented as individual components. These and other variations, modifications, additions, and improvements are within the scope of the subject matter of this specification.
[0050] In this specification, certain embodiments are described as including logic or some components, or modules or mechanisms. A module may comprise either a software module (e.g., code implemented on a machine-readable medium or within a transmission signal) or a hardware module. A hardware module is a tangible unit capable of performing certain operations and can be configured or arranged in a particular manner. In an exemplary embodiment, one or more computer systems (e.g., a stand-alone, client, or server computer system), or one or more hardware modules of a computer system (e.g., a processor, or a group of processors), may be configured by software (e.g., an application, or a part of an application) to act like a hardware module that performs the particular operations described herein.
[0051] In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a specific-purpose processor such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC) that performs certain operations). Additionally, a hardware module may include programmable logic or circuitry that is temporarily configured by software (e.g., included within a general-purpose processor or other programmable processor) to perform certain operations. The decision to implement a hardware module mechanically in dedicated permanently configured circuitry or in temporarily configured circuitry (e.g., configured by software) may be determined considering cost and time.
[0052] Accordingly, the term "hardware module" should be understood to encompass a tangible entity that is physically constructed (e.g., wired), permanently configured, or temporarily configured (e.g., programmed) to operate in a particular manner or to perform the methods or particular operations described herein. As used herein, "hardware implementation module" refers to a hardware module. Considering embodiments in which a hardware module is temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one point in time in any one instance. For example, if a hardware module includes a general-purpose processor configured using software, the general-purpose processor may be configured at different times as different hardware modules. Thus, software can configure the processor, for example, to configure a particular hardware module at one moment and a different hardware module at a different moment.
[0053] A hardware module can provide information to other hardware modules and receive information from other hardware modules. Therefore, the described hardware modules can be considered to be communicatively coupled. When various such hardware modules exist simultaneously, communication can be achieved through signal transmission that connects the hardware modules (e.g., via appropriate circuitry and buses). In embodiments where the various hardware modules are configured or instantiated at different times, communication between such hardware modules can be achieved, for example, through the storage and retrieval of information in a memory structure accessed by the various hardware modules. For example, one hardware module can perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. Next, a further hardware module can then access the memory device, retrieve the stored output, and process it. Also, a hardware module can initiate communication with an input or output device and operate on resources (e.g., collect information).
[0054] The various exemplary methods described herein can be performed, at least in part, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors can constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein can include processor-implemented modules in some exemplary embodiments.
[0055] Similarly, the methods described herein may be implemented, at least in part, on a processor. For example, at least some of the operations of the method may be performed by one or more processors or processor-implemented hardware modules. The performance of certain operations may be distributed among one or more processors, and may exist not only within a single device, but also be deployed across multiple devices. In some exemplary embodiments, a single processor, or multiple processors, may be located in a single location (e.g., within a home environment, within an office environment, or as a server farm), while in other embodiments, the processors may be distributed across several locations.
[0056] One or more processors may also operate to support the performance of associated operations in a “cloud computing” environment or “software as a service” (SaaS) environment. For example, at least some of the operations may be performed by a group of computers (as examples of devices including processors), and these operations may be accessible via a network (e.g., the Internet) and one or more appropriate interfaces (e.g., application programming interfaces (APIs)).
[0057] The performance of particular operations may be distributed among one or more processors, and may exist not only within a single device, but also be deployed across multiple devices. In some exemplary embodiments, one or more processors, or processor-implemented modules, may be located in a single geographical location (e.g., within a home environment, within an office environment, or within a server farm). In other exemplary embodiments, one or more processors or processor-implemented modules may be distributed across multiple geographical locations.
[0058] Part of this specification is presented from the perspective of algorithms of operations in bits stored in a machine memory (e.g., computer memory), or binary digital signals, or symbolic representations. These algorithms, or symbolic representations, are examples of techniques used by those skilled in the data processing field to convey the content of their work to other skilled persons. As used herein, an "algorithm" is a consistent series of operations leading to a desired result, or a similar process. In this context, the algorithms, and operations, involve physical manipulations of physical quantities. Usually, but not necessarily, such quantities can take the form of electrical, magnetic, or optical signals that can be stored, accessed, transformed, combined, compared, or otherwise manipulated by a machine. For mainly reasons of general usage, it may be convenient to refer to such signals using words such as "data", "content", "bit", "value", "element", "symbol", "character", "term", "number", "numeral", etc. However, these words are merely convenient labels and are associated with appropriate physical quantities.
[0059] Unless otherwise specified, the descriptions in this specification using words such as "processing", "computing", "calculating", "judging", "presenting", "displaying", etc. may refer to the operations or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (electronic, magnetic, or optical) quantities in one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof, etc.), registers, or other machine components that receive, store, transmit, or display information.
[0060] As used herein, a reference to "one embodiment" or "an embodiment" means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. At various places in this specification, the description of the expression "in one embodiment" does not necessarily refer to all the same embodiments.
[0061] Some embodiments may be described using the terms "coupled" and "connected" along with their derivatives. It should be understood that these terms are not intended to be synonyms for each other. For example, one embodiment may use the term "connected" to describe two or more elements that are directly physically or electrically connected to each other. In another example, one embodiment may use the term "coupled" to describe two or more elements that are directly physically or electrically connected to each other. However, the term "coupled" may also mean that two or more elements do not directly contact each other but still cooperate or interact with each other. This embodiment is not limited to this context.
[0062] As used herein, the terms "comprises," "comprising," "includes," "including," "has," "having" or any other variation thereof are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, "or" refers to an inclusive "or" and not an exclusive "or." For example, condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or absent), A is false (or absent) and B is true (or present), and both A and B are true (or present).
[0063] Furthermore, the use of "a" or "an" is employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the invention. This description includes one or at least one and should be read to include the singular as including the plural unless it is obvious that it means otherwise.
[0064] In reading this disclosure, those skilled in the art will understand additional alternative structural and functional designs for systems and processes for clarifying user data through the principles disclosed herein. Accordingly, while specific embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the exact structures and components disclosed herein. Various modifications, changes, and variations that will be apparent to those skilled in the art can be made in the construction, operation, and details of the methods and apparatuses disclosed herein without departing from the spirit and scope defined in the appended claims.
Claims
Claim 1 A method comprising: Receiving, in connection with a first transaction by an anonymous user using a transaction terminal, a set of first transaction information including at least a first object identifier and information on a first transaction tool; Determining whether the set of first transaction information matches information on a transaction tool stored in one of a plurality of stored user profiles; Based on determining that the information on the first transaction tool does not match the transaction tool stored in one of the plurality of stored user profiles, generating a profile for the anonymous user, the profile including the information on the first transaction tool and the first object identifier; Using the transaction terminal to detect a second transaction associated with a set of second transaction information including at least a second object identifier and information on a second transaction tool; Determining whether the second transaction was executed by the anonymous user based on a match between the set of second transaction information and the set of first transaction information and a probability calculated using a weight associated with the match; In response to determining that the second transaction was executed by the anonymous user, adding the second object identifier to the profile of the anonymous user. A method. Claim 2 Determining whether the second transaction was executed by the anonymous user comprises: Comparing the first transaction and the second transaction, the comparison including determining whether the first transaction tool and the second transaction tool match; In response to determining that the first transaction tool matches the second transaction tool, determining that the second transaction was executed by the anonymous user. The method according to claim 1. Claim 3 Determining whether the first transaction tool matches the second transaction tool comprises: Determining user identifiers and transaction tool identifiers associated with each of the first and second transaction tools; In response to determining that the user identifiers and the transaction tool identifiers associated with each of the first and second transaction tools are the same, determining that the first transaction tool matches the second transaction tool. The method according to claim 2. Claim 4 The comparison of the first transaction and the second transaction further includes determining whether a time at which the first transaction occurred coincides with a time at which the second transaction occurred, the method according to claim 2. **Claim 5** The comparison of the first transaction and the second transaction applying a weight to a determination that the first transaction tool coincides with the second transaction tool, applying a second weight to a determination that a time at which the first transaction occurred coincides with a time at which the second transaction occurred, determining a probability that the second transaction was executed by the anonymous user based on the applied weights, the method according to claim 4. **Claim 6** Determining whether the second transaction was executed by the anonymous user is performed at the transaction terminal, the method according to claim 1. **Claim 7** Determining that the second transaction was executed by the anonymous user is performed at a server, the method according to claim 1. **Claim 8** In response to determining that the second transaction was executed by the anonymous user, identifying a third object related to the first object and the second object, providing a recommendation including the third object to the anonymous user, the method according to claim 1. **Claim 9** The anonymous user accesses the recommendation via a client device, the method according to claim 8. **Claim 10** The recommendation is provided to the anonymous user in response to use of the first transaction tool or the second transaction tool in a third transaction, the method according to claim 8. **Claim 11** The recommendation is provided to the anonymous user via evidence recording the second transaction, the method according to claim 8. **Claim 12** A non-transitory computer-readable storage medium including computer-executable code that, when executed by one or more processors, causes the one or more processors to perform operations, the operations including receiving a set of first transaction information including at least information on a first object identifier and a first transaction tool in relation to a first transaction by an anonymous user using a transaction terminal, determining whether the set of first transaction information coincides with information on a transaction tool stored in one of a plurality of stored user profiles Generating the anonymous user's profile based on a determination that the information of the first trading tool does not match the trading tool stored in one of the plurality of stored user profiles, the profile including the information of the first trading tool and the first object identifier; Detecting, using the trading terminal, a second transaction related to a set of second transaction information including at least a second object identifier and information of a second trading tool; Determining whether the second transaction was executed by the anonymous user; In response to determining that the second transaction was executed by the anonymous user, adding the second object identifier to the profile of the anonymous user; A computer-readable storage medium, wherein determining whether the second transaction was executed by the anonymous user is based on a match between the set of second transaction information and the set of first transaction information and a probability calculated using a weight associated with the match.
13. Determining whether the second transaction was executed by the anonymous user includes: Comparing the first transaction and the second transaction, the comparison including determining whether the first trading tool and the second trading tool match; In response to the first trading tool matching the second trading tool, determining that the second transaction was executed by the anonymous user, the computer-readable storage medium according to claim 12.
14. Determining whether the first trading tool matches the second trading tool includes: Determining a user identifier and a trading tool identifier associated with each of the first and second trading tools; In response to determining that the user identifier and the trading tool identifier associated with each of the first and second trading tools are the same, determining that the first trading tool matches the second trading tool, the computer-readable storage medium according to claim 13.
15. The comparison between the first transaction and the second transaction further includes: Determining whether a time when the first transaction occurred matches a time when the second transaction occurred, the computer-readable storage medium according to claim 13.
16. The comparison of the first transaction and the second transaction includes applying a weight to a determination that the first transaction tool matches the second transaction tool, applying a second weight to a determination that the time when the first transaction occurred matches the time when the second transaction occurred, and further includes determining a probability that the second transaction was executed by the anonymous user based on the applied weight. The computer-readable storage medium according to claim 15. **Claim 17** Determining whether the second transaction was executed by the anonymous user is performed at the transaction terminal. The computer-readable storage medium according to claim 12. **Claim 18** Determining whether the second transaction was executed by the anonymous user is performed at a server. The computer-readable storage medium according to claim 12. **Claim 19** The operation includes in response to determining that the second transaction was executed by the anonymous user, identifying a third object related to the first object and the second object, and further includes providing a recommendation including the third object to the anonymous user. The computer-readable storage medium according to claim 12. **Claim 20** The recommendation is provided to the anonymous user in response to the use of the first transaction tool or the second transaction tool in a third transaction. The computer-readable storage medium according to claim 19.
Citation Information
Patent Citations
Internet profiling system
JP2001142907A
Purchase information management system, purchase information anonymization server, and purchase information management method
JP2003248780A
Merchandise purchase support system, method therefor, and device therefor
JP2008217459A
Consumer profiling using network connectivity
JP2015210817A
User specification device, user specification method and program
JP2016024704A