added a method CalculateAffinity which basically assigns random affinity values to a User