1. A computer-implemented method of detecting associations between items represented in an electronic catalog, the method comprising: maintaining item selection histories of each of a plurality of users of the electronic catalog, said item selection histories identifying particular items selected by particular users; detecting a behavior-based association between two items represented in the electronic catalog, item A and item B, at least in part by programmatically analyzing said item selection histories, wherein detecting the behavior-based association comprises generating a first data value that represents a strength of the behavior-based association between items A and B; detecting a substitutability association between item A and an additional item, item C, represented in the electronic catalog, wherein detecting the substitutability association comprises generating a second data value that represents a strength of the substitutability association between items A and C; creating an association between item B and item C based at least partly on the detected behavior-based association between items A and B in combination with the detected substitutability association between items A and C, wherein creating said association comprises generating a third data value that represents a strength of the association between items B and C, such that the third data value is dependent on the first and second data values; and using the created association between item B and item C as a basis for selecting an item to recommend to one or more users; said method performed in its entirety by a computer system that comprises one or more computers.