Matching Algorithm

NRMPI uses a mathematical algorithm to place applicants into training positions. 

The process begins with an attempt to match an applicant to the program most preferred on that applicant’s rank order list (ROL). If the applicant cannot be matched to that first-choice program, an attempt is made to place the applicant into the second most preferred program, and so on, until either the applicant obtains a tentative match to a program or until the algorithm has considered all the applicant’s choices and no match can be made.

A tentative match means a program on the applicant’s ROL also ranked that applicant and either:

  • the program has an unfilled position for the applicant, or
  • the program does not have an unfilled position, but the applicant is more preferred by the program than another applicant who already is tentatively matched to the program.

At first, matches are “tentative” because an applicant who is matched to a program may be removed from that program later in the process to make room for an applicant more preferred by the program. When an applicant is removed from a tentative match, an attempt is made by the algorithm to re-match that applicant, starting from the top of the applicant’s ROL. The algorithm returns to the top of the applicant’s ROL to ensure that the applicant is matched to the most preferred choice possible. This process is carried out for all applicants until each applicant has either been tentatively matched to the most preferred choice possible or all choices submitted by the applicant have been considered and a match could not be made.

When the process has been performed on all applicant rank order lists, all tentative matches become final and the matching process is complete.

The mathematical algorithm used by NRMPI has gained international recognition. Visit our Nobel page to read about how research on the mathematical algorithm was a basis for awarding the Nobel Prize in Economic Sciences in 2012.