1. A method for outputing recommended preferences for a target user based on the target user's input preferences and preferences of other users, the method executing on a computer system including a processor, a preferences database, an input device and an output device, wherein the preference database includes a plurality of records, one per user, where a record indicates a plurality of preferences of the user associated with that record, the method comprising the following steps: accepting signals from the input device to generate an input record, wherein the input record indicates the target user's preferences; using the processor to search at least a subset of the preferences database to locate matching records containing at least one preference which is also found in the input record; assigning each of the matching records a match count with respect to the input record, wherein a match count assigned to one record with respect to another record is equal to the number of common preferences which occur in both of the records; identifying unmatched preferences in the matching records, where an unmatched preference is a preference found in a matching record which is not found in the input record; assigning a weight to an unmatched preference which weight is a function of at least the frequency of occurrence of the unmatched preference in the preferences database, the weight being greater for unmatched preferences which occur less frequently; ranking unmatched preferences by weight; selecting recommended preferences from the unmatched preferences according to the results of the step of ranking; and outputing, by means of the output device, an indication of the recommended preferences.