This application relates to a method and system for identifying users using reputational data.
As online applications mature, users and merchants increasingly communicate and participate in a variety of transactions and commerce with each other. Buyers and sellers (e.g., individuals and merchants) transact with each other based on good faith and whatever knowledge they may have about each other as transacting parties and/or members of the transacting community. However, as in any community, the trustworthiness and reliability of buyers and sellers will vary.
The ability to ascertain these and other reputational qualities of a party to a transaction is one hurdle to overcome for improving transaction experiences.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which:
Although the present invention has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
In various embodiments, a system and method to generate a reputation value of a user of a network-based community is disclosed. Transaction data among users of a network-based community is collected in a database. User behavior can be modeled by constructing a user transaction graph, where nodes in the user transaction graph represent the users, and the direction of the links or edges represents the direction of cash flow (money transfer from one user to another). A weight corresponding to a transaction relationship between two users is generated based on the number of transactions and/or the amount of total transactions between the two users over a pre-defined duration. A hub value and an authority value for each user are computed. The hub values are mutually dependent on the authority values. In particular, the hub value of a user is based on the corresponding authority value of other users whom the user is buying from. The authority value of a user is based on the hub value of other users whom the user is setting to. In this framework, authority nodes may consist of authority sellers (sellers who sell a lot to buyers with hub values). Hub nodes may consist of hub buyers (buyers who buy from a lot of sellers with high authority values).
Such authority value may provide amore accurate way to measure reputations among users in the network-based community instead of just using the absolute numbers of transactions or dollar amount of transactions. For example, a current ranking scheme ranks a seller's reputation based on the seller's number of transactions and the feedback rating from buyers who transacted with the seller. Therefore, it would require some time to promote the reputation of a new seller since the new seller would have to accumulate a relatively high number of transactions and positive feedbacks.
As such, the authority and hub values provide a more effective scheme to boost new legitimate sellers and downgrade spam sellers. Moreover, the authority and hub values improve the accuracy of predicting an item's sale probability between two users.
The traditional user reputation ranking system for a network-based community is typically derived from the number of transactions and the dollar amount of transactions. Unlike the traditional ranking system, the current system is derived from a dynamic user transaction graph, which captures the dynamics of the interactions between sellers and buyers.
A data exchange platform, in an example form of a network-based publisher 102, may provide server-side functionality, via a network 104 (e.g., the Internet) to one or more clients. The one or more clients may include users that utilize the network system 100 and more specifically, the network-based publisher 102, to exchange data over the network 114. These transactions may include transmitting, receiving (communicating) and processing data to, from, and regarding content and users of the network system 100. The data may include, but are not limited to, content and user data such as feedback data; user reputation values; user profiles; user attributes; product and service reviews; product, service, manufacture, and vendor recommendations and identifiers; product and service listings associated with buyers and sellers; auction bids; and transaction data, among other things.
In various embodiments, the data exchanges within the network system 100 may be dependent upon user-selected functions available through one or more client or user interfaces (UIs). The UIs may be associated with a client machine, such as a client machine 106 using a web client 110. The web client 110 may be in communication with the network-based publisher 102 via a web server 120. The UIs may also be associated with a client machine 108 using a programmatic client 112, such as a client application, or a third party server 114 hosting a third party application 116. It can be appreciated in various embodiments the client machine 106, 108, or third party application 114 may be associated with a buyer, a seller, a third party electronic commerce platform, a payment service provider, or a shipping service provider, each in communication with the network-based publisher 102 and optionally each other. The buyers and sellers may be any one of individuals, merchants, or service providers, among other things.
Turning specifically to the network-based publisher 102, an application program interface (API) server 118 and a web server 120 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 122. The application servers 122 host one or more publication application (s) 124. The application servers 122 are, in turn, shown to be coupled to one or more database server(s) 126 that facilitate access to one or more database(s) 128.
In one embodiment, the web server 120 and the API server 118 communicate and receive data pertaining to listings, transactions, and feedback, among other things, via various user input tools. For example, the web server 120 may send and receive data to and from a toolbar or webpage on a browser application (e.g., web client 110) operating on a client machine (e.g., client machine 106). The API server 118 may send and receive data to and from an application (e.g., client application 112 or third party application 116) running on another client machine (e.g., client machine 108 or third party server 114).
The publication application(s) 124 may provide a number of publisher functions and services (e.g., listing, payment, etc.) to users that access the network-based publisher 102. For example, the publication application(s) 124 may provide a number of services and functions to users for listing goods and/or services for sale, facilitating transactions, and reviewing and providing feedback about transactions and associated users. Additionally, the publication application(s) 124 may track and store data and metadata relating to financial transactions among users of the network-based publisher 102. The publication application(s) 124 may also collect feedback from buyers based on the corresponding financial transactions with sellers. In one example embodiment, from the collected data, the publication application(s) 124 may determine a reputation in the form of a score or value, for users of the network-based community. The reputation value may be computed based on the collected financial transaction data between the users.
The publication application(s) 124 are shown to include, among other things, one or more application(s) which support the network-based publisher 102, and more specifically, the listing of goods and/or services for sale, the receipt of feedback in response to a transaction involving a listing, and the generation of reputation values for users based on transaction data between users.
Store application(s) 202 permit sellers to list individual goods and/or services (hereinafter generically referred to as “items”) for sale via the network-based publisher or group their listings within a “virtual” store, which may be branded and otherwise personalized by and for the sellers. Individual and grouped listings may include details such as a title of an item offered for sale, a description of the item, a price of the item, one or more pictures of the item, a geographic location of the seller or the item, payment and shipping options, and a return policy. The virtual store also may offer promotions, incentives and features that are specific and personalized to a relevant seller.
Feedback application(s) 204 may allow parties that transact using the network-based publisher 102 to establish, build, and maintain buyer or seller reputations, which may be made available and published to potential trading partners (e.g., users of the network-based publisher 102). Consider, for example, where the network-based publisher 102 supports person-to-person trading, users may have no history or other reference information whereby the trustworthiness and/or credibility of potential trading partners may be assessed. The feedback application(s) 204 may allow a first user, for example through feedback provided by other users, to establish a buyer/seller reputation within the network-based publisher 112 over time and transactions. Thus, other potential transaction partners (users) may then reference the buyer/seller reputation value of the user for the purpose of assessing credibility, trustworthiness, etc.
Feedback may be received in the form of answers to a series of questions concerning topics such as satisfaction with a transaction, speed in concluding a transaction, and promptness of payment or shipping. Feedback additionally may be received in the form of comments input by a counterparty to the transaction. Both types of feedback may be viewed by the user to whom they are directed and other parties who access a profile of the user, and may be segregated on a per transaction basis. Conventionally, feedback is limited to the answers and comments provided by counter-party, thereby providing a user with only a limited perspective of how the user has performed or how the user is perceived by others in the network-based community.
Reputation application(s) 206 may operate on the transaction data between users and optionally on the received feedback to determine a user's reputation. It can be appreciated by one skilled in the art that users may have a multitude of various types of reputation values in the network-based publisher 102. For example, a user may have a reputation value for being a buyer and one as a seller. The user's reputation value may be based on one or more user attributes determined from transaction data, feedback or metadata. The user attributes may include, but are not limited to, weights or values assigned to a user based on the user's frequency of interaction with the network-based publisher 102, the number of items a user has sold, the promptness of the user in concluding a transaction or shipping an item, feedback ratings, the length of time a user has been using the network-based publisher 102, and a category of transaction including a user's expertise (e.g., power seller) in a category.
Reputation application(s) 206 may provide user reputation data to third party applications through an exposed application programming interface (API). In this respect, third party applications may query the network-based publisher 102 for a trustworthiness determination for a user of the third party system, who may or may not also be a user of the network-based community 100. If the user is part of the network-based community 100, reputation application(s) 206 may retrieve and provide the user's reputation value to the third party system, or may make a determination of trustworthiness and provide the determination to the third party system.
In one embodiment, the transaction data collector module 208 is configured to collect transaction data of users of a network-based community. As described above, the transaction data can include, but is not limited to, the number of transactions between users, the monetary amount of each transaction, the total amount of all transactions from a user, the total amount of transaction for a user, the number of items bought or sold by the user, feedback ratings, the length of time since the user has been using the network-based publisher 102, the length of a time since the user has purchased or sold an item from or to another user of the network-based community, a category of transaction including a user's expertise (e.g., power seller) in a category. Transaction data collected by the transaction data collector module 208 may be stored in the database 128 in
The weight module 210 retrieves transaction data stored in the database 128. The weight module 210 computes a weight corresponding to a transaction relationship between two users (e.g. a buyer and a seller). For example, the weight may be based on the number of transactions between the buyer and the seller (e.g. the buyer bought several times from the same seller), the monetary amount of the total number of transactions (e.g. the buyer bought x dollars worth of goods from the same seller), or a combination of both number of transactions and total amount of transactions. Furthermore, the weight may also be based on other data such as the feedback of the buyer and seller (e.g. a feedback rating of the buyer and the seller).
In another embodiment, weight module 21) includes a transaction graph module 211. The transaction graph module 211 may generate a graph based on the recorded transaction data between users. The transaction graph includes nodes and links between the nodes. Each node identifies a user (e.g. a buyer or a seller and a direction of a link identifies a cash flow direction between two nodes (e.g. from a buyer to a seller). Each node can act as buyer and/or seller with respect to other nodes.
Each transaction is represented by an arrow having a direction of the cash flow, and a corresponding weight wi. For example, the weight (w1) is based on transactions between node 302 (B1) and node 306 (S1). In one embodiment, w1 is a function of the total number of transactions between node 302 (B1) and node 306 (S1) and/or the total amount of transactions between node 302 (B1) and node 306 (S1).
Back to
In one embodiment, an algorithm such as Hyperlink-Inducted Topic Search (HITS) algorithm may be applied to the transaction graph in
The hub value of a node may be represented as follows:
Hub value of a buyer Bi=Σ authority value of seller Si×wi
The authority value of a node may be represented as follows:
Authority value of a seller Si=Σ hub value of a buyer Bi×wi
In other words, the hub nodes include smart buyers who buy from a lot of authority sellers. Conversely, the authority nodes include authority sellers who sell a lot to smart buyers.
Back to
The transaction probability module 216 computes a probability of a completed transaction between two users based on the previously computed reputation values of two nodes. For example, the probability of a successfully completed financial transaction between a seller with a high reputation value and a buyer with a high reputation value is relatively higher than the probability of a successfully completed financial transaction between a seller with a low reputation value and a buyer with a low reputation value, between a seller with a high reputation value and a buyer with a low hub value, or between a seller with a low reputation value and a buyer with a high reputation value.
An updater module 404 updates the hub value and the authority value for all users based on the initialized hub value and the initialized authority value of all users. The updater module 404 includes a hub value updater 406 and an authority value updater 408.
In one embodiment, the hub value updater 406 updates the hub value of all users based on the initialized authority value of all users. The authority value updater 408 then updates the authority value of all users based on the updated hub value of all users.
In another embodiment, the authority value updater 408 updates the authority value of all users based on the initialized hub value of all users. The hub value updater 406 updates the hub value of all users based on the updated authority value of all users.
If sellers were ranked according to the number of transactions (or the dollar amount) they made, it would take quite a significant amount of time for a new seller to build up his credit. Now the hub and authority scheme implicitly suggests that if a new user could start his business with a few high value hubs (good buyers), t is faster for him to build his credit (authority value). The assumption here is that good buyers know where to get good deals. So if a new seller is able to attract the good buyers' attention, the system is able to give proper credit.
On the other hand, this could also be used as a scheme to downgrade some users. For example, if a reputable user (a hub or an authority user) leaves a negative feedback to another user, the effects of the negative feedback are intensified given the good reputation of the reputable user.
At 704, the hub values of all users/nodes are updated based on the initialized authority values of all users/nodes. At 706, the authority values of all users/nodes are updated based on the updated hub values of all users/nodes.
At 804, the authority values of all users/nodes are updated based on the initialized hub values of all users/nodes. At 806, the hub values of all users/nodes are updated based on the updated authority values of all users/nodes.
The example computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 904 and a static memory 906, which communicate with each other via a bus 908. The computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard), a user interface (UI) navigation device 914 (e.g., a mouse), a disk drive unit 916, a signal generation device 918 (e.g., a speaker) and a network interface device 920.
The disk drive unit 916 includes a machine-readable medium 922 on which is stored one or more sets of instructions and data structures (e.g., software 924) embodying or utilized by any one or more of the methodologies or functions described herein. The software 924 may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900, the main memory 904 and the processor 902 also constituting machine-readable media.
The software 924 may further be transmitted or received over a network 926 via the network interface device 920 utilizing any one of a number of well-known transfer protocols (e.g., HTTP).
While the machine-readable medium 922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.