1. A method of establishing subgroups within a group of participants, comprising: establishing a profile for each participant in the group, said profile including contribution attributes and preference attributes specific to said participant; for each possible pair of participants in the group, combining the contribution attributes of one participant in the pair with preference attributes of the other participant in the pair to generate, for each participant, a contribution score indicative of the overall contribution the participant could provide to the other participant in the pair, a benefit score indicative of the overall benefit the participant could receive from the other participant in the pair, and a mutual benefit score combining the benefit scores of both participants in the pair; and assigning participants to subgroups as a function of participant contribution and mutual benefit scores.