1. A computer implemented method of evaluating a plurality of customer records stored in a computer database to identify high value customers to be targeted by a customer retention or reward program, each customer 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 sorting the plurality of customer records based on the first attribute and assigning a first discretized attribute to each customer record where the first discretized attribute is based on the sorted rank of the customer record; b) second sorting the plurality of customer records based on the second attribute and assigning a second discretized attribute to each customer record where the second discretized attribute is based on the sorted rank of the customer record; c) third sorting the plurality of customer records in to an order based on the assigned first discretized attribute scores associated with the first attribute; d) fourth sorting the ordered plurality of customer records resulting from the third sorting in to an order where the customer records having the same first discretized attribute scores are further sorted based on the assigned second discretized attribute scores associated with the second attribute; e) fifth sorting the ordered plurality of customer records resulting from the fourth sorting in to an order based on the attribute values associated with at least the first attribute and the second attribute, until customer records, which have different attribute values associated with at least the first attribute or the second attribute, have been sorted to different ranks; f) assigning an evaluation score to each customer record based on the rank of each customer record after the fifth sorting and independent of the discretized attribute scores; and g) identifying the high value customers by selecting the customer records that have the highest assigned evaluation scores.