1. A method, comprising: maintaining, in computer storage, a graph data structure comprising a plurality of nodes and a plurality of edges, each node corresponding to a respective catalog item represented in an electronic catalog, each edge connecting a respective pair of nodes and representing a similarity relationship between two catalog items, each edge having a value representing an estimated degree to which users prefer one of the two catalog items over the other; identifying, for a first item represented in the electronic catalog, a second item that is a candidate substitute for the first item, said first and second items corresponding to first and second nodes, respectively, of the graph data structure, the first and second nodes connected by a first edge having a first value representing an estimated degree to which users prefer the first item over the second item; for individual users of a plurality of users who select the first item for acquisition, outputting to the respective user, responsive to the selection of the first item and prior to acquisition by the respective user of the first item, a pairwise similarity assessment user interface displaying a substitute item display element that includes a representation of the second item and enables the respective user to replace the first item with the second item in an electronic shopping cart; obtaining event data reflective of whether the individual users replace the first item with the second item in response to the substitute item display element, the event data including recorded actions of the individual users performed in response to displaying the substitute item display element; and updating the first value in the graph data structure based at least partly on the recorded actions of the event data; the method performed programmatically by a computing system under control of executable program code.