0
$\begingroup$

I have a dataset with employees at four levels of training: junior employee, senior employee, junior manager, senior manager. I am looking to match them into teams of 4, each team with 1 person from each level.

Each person has ranked four attributes into preferences 1-4, with 1 being their top preference and 4 being their bottom preference. A sample of the data looks like this:

Employee Type   | Attribute 1 | Attribute 2 | Attribute 3 | Attribute 4
Junior Employee |      2      |      3      |      1      |      4      
Junior Manager  |      1      |      2      |      4      |      3      
Senior Employee |      4      |      3      |      2      |      1      
Junior Manager  |      3      |      1      |      2      |      4      
Senior Manager  |      2      |      4      |      1      |      3      
Junior Employee |      2      |      3      |      4      |      1      
... (n=300)

The goal would be to have teams that look like:

Team 1: [Junior Employee #3, Senior Employee #5, Junior Manager #1, Senior Manager #4]
Team 3: [Junior Employee #2, Senior Employee #1, Junior Manager #2, Senior Manager #3]     

And so on...

I would appreciate any help as to the most efficient matching algorithm to use here. My initial thought was to use a variation of the Gale–Shapley algorithm, though I can't quite figure out how to apply it to attribute preferences rather than people preferences. Thanks!

$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.