Skip to content

A tool for the Kellogg Board Fellows program to optimally match students to board fellowships based on their ranked preferences (using the Hungarian algorithm). Fully client-side, using web workers API in-browser to perform async computation.

Notifications You must be signed in to change notification settings

nukellogg/kbfmatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kellogg Board Fellows Matching Tool

This is a tool for the Kellogg Board Fellows program to optimally match students to board fellowships based on their ranked preferences (using the Hungarian algorithm). Fully client-side in the browser, using web workers API to perform computation asynchronously.

Using:

Currently (September 21, 2021) hosted here: http://kbfmatcher.kellogg.work/ using surge.sh using an account belonging to Nicholas Bennett.

How To Use It

It is a bit wonky in terms of the process, but it’s essentially:

  1. Export the results from Qualtrics as a CSV.
  2. Open the CSV on Excel.
  3. Select all cells and copy.
  4. Open this Qualtrics Converter page (http://kbfmatcher.kellogg.work/qualtrics) and paste into the “Qualtrics Input (CSV)” text area.
  5. Scroll down to the “Rankings Matrix Output (CSV)”, select everything in that text area, and copy.
  6. Open the main Optimizer page (http://kbfmatcher.kellogg.work/) and paste into the “CSV/TSV of Student Rankings of Companies”.
  7. Press the “FIND ASSIGNMENTS” button.
  8. The assignments will show below in a table, along with a download link to a new CSV with the assignments there. The name of the CSV file indicates the average ranking of the matches, with the closer to 1 meaning more people got their first choice or very close to it.

I separated out the Qualtrics parsing function from the optimizer function in case the Qualtrics format ever changes in a way that would break the whole process. If Qualtrics changes, then worst case scenario you could still manually extract the results and make a new CSV spreadsheet following the form indicated in the Optimizer help:

image

If you copy the fake data it generates out of this text area, you can paste it into an Excel spreadsheet, do the Data > Text to Columns function with commas selected as the delimiter, and you’ll get an idea of the matrix form. Modify with the real company names, students, and rankings, and you’d be able to paste this back into the optimizer for calculation.

This is all to try to future proof this a bit, anticipating it might live on well after I forget I wrote it.

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

Customize configuration

See Configuration Reference.

About

A tool for the Kellogg Board Fellows program to optimally match students to board fellowships based on their ranked preferences (using the Hungarian algorithm). Fully client-side, using web workers API in-browser to perform async computation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published