1. A computer based method of clustering related data stored in a computer database, said computer database stored on a computer readable medium and including a set of data points having categorical attributes, the method comprising the steps of: a) determining all neighbors for every data point within said computer database; b) establishing a cluster for every data point in said computer database; c) determining a total number of links between each cluster and every other cluster based on a number of common neighbors between each cluster and every other cluster; d) calculating a goodness measure between each cluster and every other cluster based upon the total number of links between each cluster and every other cluster and an estimated number of links between each cluster and every other cluster; e) merging a pair of clusters having the best goodness measures into a merged cluster; f) repeating steps c) through e) until a predetermined termination condition is met; and g) storing clusters which remain after step f) in a computer readable medium.