I run a tournament where players sign up individually and are assigned to teams. They answer a short questionnaire about skills and experience. This gives me values I can use to try to create even teams. Last year I crudely used Excel and replicated a "snake" style draft, making adjustments as needed. This time around I'd like to be able to use SAS, but am not sure how to do it.
The number of teams depends on the number of players that sign up. It likely would be 4 to 6 teams. The teams should have a mean skills score that is as close to equal as possible. The teams should also have an equal gender mix, with ideally equal skill within the genders. The one other caveat is what we will call "baggage". Players can request to be teamed up with one other player, who must reciprocate.
The table below has 51 players. How would I go about putting them into 5 "even" teams?
I know this will result in 4 teams of 10 and 1 team of 11. Also, with 9 female players, 1 team will only have 1 woman on the team. These are some of the possible challenges I will have to face.
Name | Gender | Baggage | Score |
Josh M | Male | 11 | |
Dylan L | Male | Matthew T | 12 |
Aaron P | Male | 8 | |
Alan B | Male | 13 | |
Bill S | Male | Sebastian K | 13 |
Matthew T | Male | Dylan L | 12 |
Katie J | Female | 10 | |
Carl S | Male | 10 | |
Mark J | Male | 10 | |
Nick B | Male | 12 | |
Andy M | Male | 11 | |
Nick k | Male | 14 | |
Erin B | Female | 11 | |
Michael C | Male | 9 | |
Alex K | Male | 13 | |
Victor P | Male | 12 | |
Shayne D | Male | 10 | |
Brian P | Male | Blake T | 13 |
Blake T | Male | Brian P | 15 |
Dre U | Female | 15 | |
Alyx A | Female | 12 | |
Jake T | Male | 11 | |
Justin S | Male | 11 | |
Sebastian K | Male | Bill S | 15 |
Chad L | Male | 13 | |
Dan M | Male | 10 | |
Adam L | Male | Nick S | 11 |
Sean M | Male | 13 | |
Mathew O | Male | 12 | |
Tyler O | Male | 10 | |
Joseph L | Male | Mike M | 12 |
Mike M | Male | Joe L | 13 |
Nick S | Male | Adam L | 15 |
Sam P | Male | 13 | |
Ellory R | Female | Ben R | 10 |
Ben R | Male | Ellory R | 13 |
Manny M | Male | 9 | |
Melissa A | Female | Jamie F | 12 |
Tracy B | Male | 12 | |
Kevin V | Male | 11 | |
Dan D | Male | Meghin D | 7 |
Brad O | Male | James N | 11 |
James N | Male | Brad O | 9 |
Meghin D | Female | Dan D | 7 |
Brock S | Male | 9 | |
Eva M | Female | 14 | |
Junior C | Male | 15 | |
Diana M | Female | 9 | |
Michael S | Male | 10 | |
Jamie F | Male | Melissa A | 11 |
Kevin K | Male | 9 |
Before I start coding:
If I read your post correctly, you have three conditions in your problem ordered from most to least important:
1) If two players wish to be on team with each other
2) Equal scores among the groups
3) Equal gender mix
Am I correct?
This blog post and thread might be of help:
Split Data into Groups that Have the same Mean and Variance
Lets put them in this order.
1) If two players wish to be on team with each other
2) Equal gender mix
3) Equal scores among the groups
That may mean handling male and female separately, but #1 makes that tricky.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.