The Matching Algorithm

The NRMP uses a computerized mathematical algorithm, the “matching algorithm,” to place applicants into the most preferred residency and fellowship positions at programs that also prefer them. The video below explains how it works:

How the Matching Algorithm Works

The Matching Algorithm: Step-by-Step Guide

  • How does it work? The matching algorithm is “applicant-proposing “meaning it attempts to place an applicant (Applicant A) into the program indicated as most preferred on Applicant A’s rank order list. If Applicant A cannot be matched to this first choice program (because the program doesn’t also prefer Applicant A), an attempt is then made to place Applicant A into the second choice program, and so on, until Applicant A obtains a tentative match, or all of Applicant A’s choices have been exhausted (meaning Applicant A cannot be tentatively matched to any program on the ROL).
  • What does tentative match mean? Applicant A will be tentatively matched to a program if the program also ranks Applicant A on its rank order list, and either:
    • the program has an unfilled position (making room for the tentative match to Applicant A) or
    • the program is filled but Applicant A is more preferred by the program than another applicant (Applicant B) already tentatively matched. In such a case, Applicant B is “bumped” from the tentative match with the program to make room for Applicant A.
  • What happens to an applicant whose tentative match is “bumped”? The matching algorithm will return to Applicant B’s rank order list and attempt to tentatively match Applicant B at the next most preferred position on Applicant B’s list. The attempt to find another tentative match for Applicant B is done in the same manner as outlined for Applicant A.
  • When does a tentative match become final? When all applicants’ rank order lists have been considered, the matching algorithm is complete and all tentative matches become final and binding for training.