1. A computer implemented method of evaluating a plurality of records, each record having at least a first attribute and a second attribute, each of the first attribute and the second attribute having an associated attribute value, the method comprising: a) first assigning a discretized attribute score for each of the attribute values; b) first sorting the plurality of records in to an order based on the assigned discretized attribute scores associated with the first attribute; c) second sorting the plurality of records in to an order based on the assigned discretized attribute scores associated with the second attribute; d) third sorting the plurality of records in to an order based on the attribute values associated with at least the first attribute and the second attribute, until records, which have different attribute values associated with at least the first attribute or the second attribute, have been sorted to different ranks; and e) second assigning an evaluation score to each record which has been sorted.