Patent attributes
A system creates a graph of nodes connected by arcs, and identifies a first compound attribute associated with contacts purchased by a current user. The first compound attribute includes a first attribute associated with a first value and a second attribute associated with a second value. The system identifies a directed arc from a first node to a second node. The directed arc is associated with a probability that previous users who purchased a first contact associated with the first compound attribute also purchased a second contact associated with a second compound attribute. The second compound attribute includes the first attribute, associated with a third value which matches the first value, and the second attribute, associated with a fourth value, which lacks a match with the second value. The system outputs a recommendation for the current user to purchase contacts associated with the second compound attribute if the probability exceeds a threshold.