Contact recommendations based on purchase history
First Claim
1. A system for contact recommendations based on purchase history, the system comprising:
- one or more processors of a computer communicatively coupled to a contact database system; and
a non-transitory computer readable medium storing a plurality of instructions, which when executed by the computer, cause the one or more processors to;
receive a request to purchase a plurality of contacts from the contact database by a current user, the request being received over a network;
create a directed graph, based on a stored plurality of historical purchase data within the contact database, of a plurality of nodes in which at least some of the plurality of nodes are connected by a plurality of directed arcs, wherein a directed arc from a first node to a second node represents a conditional probability that previous users who purchased a first contact also purchased a second contact within the stored historical purchase data, a number of outgoing directed arcs from the first node being limited to a maximum number of outgoing directed arcs, each of the maximum number of outgoing directed arcs representing a corresponding conditional probability that is greater than each non-zero conditional probability corresponding to each potential outgoing directed arc;
determine a set of candidate contacts, each candidate contact in the set of candidate contacts being connected to one of the requested plurality of contacts by a direct arc;
estimate a prospective purchase probability for each of the candidate contacts in the set of candidate contacts connected by the plurality of directed arcs based on a historical probability that previous users purchased a specific contact of the candidate contacts and a related probability that previous users who purchased the specific contact also purchased a contact in the requested plurality of contacts, the historical probability and the related probability being derived from the historical purchase data, the previous users being different than the current user;
output a recommendation for the current user to purchase a recommended candidate contact from the set of candidate contacts based on a corresponding prospective purchase probability associated with the recommended candidate contact; and
transmit the recommendation over the network to the current user.
2 Assignments
0 Petitions
Accused Products
Abstract
Contact recommendations based on purchase history are described. A system creates a directed graph of nodes in which at least some of the nodes are connected by directed arcs, wherein a directed arc from a first node to a second node represents a conditional probability that previous users who purchased a first contact also purchased a second contact. The system identifies a set of contacts purchased by a current user. The system estimates a prospective purchase probability based on a historical probability that previous users purchased a specific contact and a related probability that previous users who purchased the specific contact also purchased a contact in the set of contacts, for each candidate contact. The system outputs a recommendation for the current user to purchase a recommended candidate contact based on a corresponding prospective purchase probability.
151 Citations
16 Claims
-
1. A system for contact recommendations based on purchase history, the system comprising:
-
one or more processors of a computer communicatively coupled to a contact database system; and a non-transitory computer readable medium storing a plurality of instructions, which when executed by the computer, cause the one or more processors to; receive a request to purchase a plurality of contacts from the contact database by a current user, the request being received over a network; create a directed graph, based on a stored plurality of historical purchase data within the contact database, of a plurality of nodes in which at least some of the plurality of nodes are connected by a plurality of directed arcs, wherein a directed arc from a first node to a second node represents a conditional probability that previous users who purchased a first contact also purchased a second contact within the stored historical purchase data, a number of outgoing directed arcs from the first node being limited to a maximum number of outgoing directed arcs, each of the maximum number of outgoing directed arcs representing a corresponding conditional probability that is greater than each non-zero conditional probability corresponding to each potential outgoing directed arc; determine a set of candidate contacts, each candidate contact in the set of candidate contacts being connected to one of the requested plurality of contacts by a direct arc; estimate a prospective purchase probability for each of the candidate contacts in the set of candidate contacts connected by the plurality of directed arcs based on a historical probability that previous users purchased a specific contact of the candidate contacts and a related probability that previous users who purchased the specific contact also purchased a contact in the requested plurality of contacts, the historical probability and the related probability being derived from the historical purchase data, the previous users being different than the current user; output a recommendation for the current user to purchase a recommended candidate contact from the set of candidate contacts based on a corresponding prospective purchase probability associated with the recommended candidate contact; and transmit the recommendation over the network to the current user. - View Dependent Claims (2, 3, 4)
-
-
5. A computer program product comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to:
-
receive a request to purchase a plurality of contacts from a contact database system by a current user, the request being received over a network; create a directed graph, based on a stored plurality of historical purchase data within the contact database, of a plurality of nodes in which at least some of the plurality of nodes are connected by a plurality of directed arcs, wherein a directed arc from a first node to a second node represents a conditional probability that previous users who purchased a first contact also purchased a second contact within the stored historical purchase data, wherein a number of outgoing directed arcs from the first node is limited to a maximum number of outgoing directed arcs, each of the maximum number of outgoing directed arcs representing a corresponding conditional probability that is greater than each non-zero conditional probability corresponding to each potential outgoing directed arc; determine a set of candidate contacts, each candidate contact in the set of candidate contacts being connected to one of the requested plurality of contacts by a direct arc; estimate a prospective purchase probability for each of the candidate contacts in the set of candidate contacts connected by the plurality of directed arcs based on a historical probability that previous users purchased a specific contact of the candidate contacts and a related probability that previous users who purchased the specific contact also purchased a contact in the requested plurality of contacts, the historical probability and the related probability being derived from the historical purchase data, the previous users being different than the current user; output a recommendation for the current user to purchase a recommended candidate contact from the set of candidate contacts based on a corresponding prospective purchase probability associated with the recommended candidate contact; and transmit the recommendation over the network to the current user. - View Dependent Claims (6, 7, 8)
-
-
9. A method for contact recommendations based on purchase history, the method comprising:
-
receiving a request to purchase a plurality of contacts from a contact database system by a current user, the request being received over a network; creating, based on a stored plurality of historical purchase data within the contact database, a directed graph of a plurality of nodes in which at least some of the plurality of nodes are connected by a plurality of directed arcs, wherein a directed arc from a first node to a second node represents a conditional probability that previous users who purchased a first contact also purchased a second contact within the stored historical purchase data, a number of outgoing directed arcs from the first node being limited to a maximum number of outgoing directed arcs, each of the maximum number of outgoing directed arcs representing a corresponding conditional probability that is greater than each non-zero conditional probability corresponding to each potential outgoing directed arc; determine a set of candidate contacts, each candidate contact in the set of candidate contacts being connected to one of the requested plurality of contacts by a direct arc; estimating a prospective purchase probability for each of the candidate contacts in the set of candidate contacts connected by the plurality of directed arcs based on a historical probability that previous users purchased a specific contact of the candidate contacts and a related probability that previous users who purchased the specific contact also purchased a contact in the requested plurality of contacts, the historical probability and the related probability being derived from the historical purchase data, the previous users being different than the current user; outputting a recommendation for the current user to purchase a recommended candidate contact from the set of candidate contacts based on a corresponding prospective purchase probability associated with the recommended candidate contact; and transmitting the recommendation over the network to the current user. - View Dependent Claims (10, 11, 12)
-
-
13. A system comprising:
-
a processor-based application, which when executed on a computer communicatively coupled to a contact database, will cause the processor to; receive a request to purchase a plurality of contacts from the contact database system by a current user, the request being received over a network; create a directed graph, based on a stored plurality of historical purchase data within the contact database, of a plurality of nodes in which at least some of the plurality of nodes are connected by a plurality of directed arcs, wherein a directed arc from a first node to a second node represents a conditional probability that previous users who purchased a first contact also purchased a second contact within the stored historical purchase data, a number of outgoing directed arcs from the first node being limited to a maximum number of outgoing directed arcs, each of the maximum number of outgoing directed arcs representing a corresponding conditional probability that is greater than each non-zero conditional probability corresponding to each potential outgoing directed arc; determine a set of candidate contacts, each candidate contact in the set of candidate contacts being connected to one of the requested plurality of contacts by a direct arc; estimate a prospective purchase probability for each of the candidate contacts in the set of candidate contacts connected by the plurality of directed arcs based on a historical probability that previous users purchased a specific contact of the candidate contacts and a related probability that previous users who purchased the specific contact also purchased a contact in the requested plurality of contacts, the historical probability and the related probability being derived from the historical purchase data, the previous users being different than the current user; output a recommendation for the current user to purchase a recommended candidate contact from the set of candidate contacts based on a corresponding prospective purchase probability associated with the recommended candidate contact; and transmit the recommendation over the network to the current user. - View Dependent Claims (14, 15, 16)
-
Specification