Matching Algorithm

The 2024 ASHP Match


 

How It Works

The matching algorithm uses the preferences stated on the Rank Order Lists submitted by applicants and programs to place individuals into positions.


The algorithm starts with an attempt to place an applicant into the program that is most preferred on the applicant's list. If the applicant cannot be matched to this first choice program, an attempt is then made to place the applicant into the second choice program, and so on, until the applicant obtains a tentative match, or all the applicant's choices have been exhausted.

  • Read more detail about how the matching algorithm works

    An applicant can be tentatively matched to a program in this process if the program also ranks the applicant on its Rank Order List, and either:

    • The program has an unfilled position available for the applicant. In this case, there is room in the program to make a tentative match between the applicant and program;
      or,
    • The program does not have an unfilled position, but the applicant is more preferred by the program to another applicant who is currently tentatively matched to the program. In this case, the applicant who is the least preferred current match in the program is removed from the program to make room for a tentative match with the more preferred applicant.

    Matches are referred to as tentative because an applicant who is matched to a program at one point in this process may later be removed from the program, to make room for an applicant more preferred by the program, as described in the second case above. When an applicant is removed from a previous tentative match, an attempt is then made to re-match this applicant, starting from the top of this applicant's list.

    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 exhausted. When all applicants have been considered, the matching algorithm is complete and tentative matches become final.

    At no point will applicants and programs know of the tentative matches being processed by the algorithm. Applicants and programs will only be informed of the final match that they receive once the processing is complete.

    In summary, each applicant's Rank Order List is traversed "downwards", from most preferred program to least preferred, until the first program is reached at which the applicant can be tentatively matched, or until the applicant's list of choices is exhausted. Each program accepts applicants "upwards" on its Rank Order List, continually removing less preferred matches in favor of more preferred applicants, until the program is matched to the most preferred applicants who wish to be matched to the program.

Run a Test Match

Interactive Demonstration

Q & A

Algorithm

  • How does the matching algorithm work?

    NMS uses the Roth-Peranson algorithm, which is a modified version of the Deferred Acceptance Algorithm.

    The algorithm starts with an attempt to place an applicant into the program that is most preferred on the applicant's list. Each applicant's Rank Order List is traversed "downwards", from most preferred program to least preferred, until the first program is reached at which the applicant can be tentatively matched, or until the applicant's list of choices is exhausted.

    Each program accepts applicants "upwards" on its Rank Order List, continually removing less preferred matches in favor of more preferred applicants, until the program is matched to the most preferred applicants who wish to be matched to the program.

    The algorithm used by NMS does not have to be computerized. The algorithm itself could be completed as effectively by hand. A computer is used only to speed up the process and ensure the accuracy of the results.

  • What is the objective of the algorithm?

    The objective of the algorithm is to give each applicant and program the best result available to them.

    For Applicants: The algorithm will match you to the most preferred program on your Rank Order List that ranks you, and does not fill all its positions with applicants it prefers.

    For Programs: The algorithm will match your program with the most preferred applicants on its Rank Order List, up to the number of positions to be filled, that ranked your program and did not obtain positions at programs they prefer.

  • Does the match limit my freedom of choice of what placement to accept?

    No. Applicants and programs are free to evaluate each other and to rank their choices according to their own personal preferences. The matching algorithm simply follows the instructions embodied in the Rank Order Lists to ensure that each applicant and program gets the best placement possible.

    The match can also provide mechanisms to accommodate special requirements, such as matching applicants as "couples", enabling programs to match with a group of applicants with a specified distribution of characteristics, and moving unfilled positions from one program to another program where those positions may be filled.

  • Can I be assigned a match that I find unacceptable?

    No. An applicant cannot be matched with a program that is not listed on the applicant's Rank Order List. If an applicant has applied to a program that they no longer find acceptable, they can simply leave that program off their Rank Order List.

    Similarly, a program cannot be matched with an applicant who is not listed on the program's Rank Order List.

  • Does the algorithm favor applicants or programs?

    The algorithm produces the best result for both applicants and programs. It does not weight or give higher priority to one side's rankings over the other.

    The algorithm is applicant-proposing. This means the algorithm starts with the applicant's Rank Order List and checks to see if a program on the applicant's list has ranked the applicant and if the applicant can match to a position at that program.

    In the mathematical study of matching theory, there are scenarios that can be constructed where the applicant-proposing Deferred Acceptance Algorithm gives applicants more preferred matches, and programs less preferred matches, than if a program-proposing algorithm is used. However, this advantage has been shown to be uncommon in practice. Studies have shown only about 0.1% of matches would be affected if the algorithm changed from applicant-proposing to program-proposing, and the affected applicants would prefer the matches they receive under the applicant-proposing method (see Note 1).

    Note 1: Roth, A.E., & Peranson, E. (1999). The redesign of the matching market for American physicians: Some engineering aspects of economic design. American Economic Review, 89, 748-779.

  • If many applicants rank the same program as their first choice, how does the algorithm decide who gets the position?

    If the applicants all rank the same program as their #1 choice, the algorithm uses the program's Rank Order List to determine who gets the position. The algorithm will give the position to the applicant that is most preferred on the program's Rank Order List.

    • If you've ranked a program #1 and the program also ranked you #1, you will be matched to that program.
    • If you've ranked a program #1 and they have ranked you within the number of positions they have available (e.g., within the top 2 in a program with 2 positions), you will be matched to that program.
    • If you've ranked a program #1 and the program has ranked other applicants as more preferred than you, you will get the position if the program cannot fill all its positions with applicants it prefers to you.

    Similarly, if many programs rank the same applicant as their #1 choice, the algorithm uses the applicant's Rank Order List to determine which position the applicant will accept. The algorithm will match the applicant to the program that is most preferred on the applicant's Rank Order List.

  • Why might an applicant or program end up unmatched?

    For Applicants: The only reason you do not match with a program you have ranked is either because the program did not rank you, or the program filled all of its positions with applicants it ranked as more preferred to you.

    For Programs: The only reason you do not match with an applicant you have ranked is either because the applicant did not rank you, or the applicant on your Rank Order List obtained a position in program they ranked as more preferred to yours.

  • Does the algorithm try to maximize the number of matches?

    No. The algorithm has been designed to give each individual applicant and program the best possible result that is available to them.

    The algorithm optimizes individual match results, not overall numbers of matches. Changing the algorithm to maximize the number of matches would mean participants would have to accept situations where a higher ranked applicant receives a less preferred choice so that another applicant can obtain a position. That would not be fair to the preferred applicant.


Ranking Strategy

  • What is the best strategy for ranking?

    In order to get your best possible result, you should rank your choices in order of your true preferences. Do not rank any choice that you would not want to be matched to, even if it was the only option available to you in the Match.

    The algorithm is specifically designed to give each participant their best result if they rank their choices in order of true preference. Using any other strategy may cause you to get a worse result. If you decide to order your preferences in another way (e.g., by how likely you think it will be to match to a program or applicant), you may not get the best possible result.

  • Should the likelihood of matching to a program or applicant be considered when ordering the choices on my Rank Order List?

    No. The only strategy that will guarantee the best result for you is to rank according to your true preferences. Ranking according to any other strategy will only increase the chances you get a worse result for yourself.

    Consider the following example:

    Program A (1 Position) Applicant X Applicant Y
    1. Applicant Y 1. Program A 1. Program C
    2. Applicant X 2. Program C 2. Program D
      3. Program D 3. Program A

    Program A has one position. Both Applicants X and Y feel they have a very good chance of obtaining a position at Program A. However both in fact prefer other programs, Programs C and D, where they may be less desirable.

    Applicant Y has listed programs according to Y's true preferences. Applicant X has listed programs according to likelihood of being able to obtain a position.

    In the matching algorithm, Applicant X will first be tentatively matched with Program A. Next, attempts will be made to place Applicant Y into Program C, and if that is unsuccessful, into Program D. If Applicant Y cannot match with Programs C or D, an attempt will be made to place Applicant Y into Program A. Since Program A prefers Applicant Y to its current tentative match with Applicant X, Applicant X is removed from Program A and Applicant Y is matched with Program A.

    The fact that an applicant can not match to a preferred program does not affect the applicant's chances of matching to the next program on the applicant's list. In this example, Applicant Y has not jeopardized the chance of matching with Program A by putting that program lower on the list. Similarly, Applicant X has not increased the chance of matching to Program A by putting that program higher on the list.

    Similarly for programs, when an applicant is tentatively matched to a program, the program will retain that applicant until a more preferred applicant can be placed into the program. Only then will the program reject the less preferred applicant, and only then will that applicant attempt to match to a program lower on their list. A program cannot be bypassed by a less-preferred program on an applicant's Rank Order List, regardless of how the two programs ranked the applicant.

  • Can the order in which an applicant ranks programs cause the applicant to be left unmatched?

    No. The order of the choices on an applicant's Rank Order List does not determine whether or not the applicant will match. Whether or not an applicant can match to a program they ranked is determined by the program's preferences on its Rank Order List.

    If an applicant can match to only one program they ranked, the applicant will match there regardless of where the program is ranked on the applicant's list. If an applicant can match to more than one program they ranked, the order of programs on the applicant's list determines where the applicant will match. If an applicant cannot match to any of the programs they ranked, the applicant will not match.

  • Would it help me to know how a program/applicant will rank me before submitting my rankings?

    No. Applicants and programs should make out their Rank Order Lists based on true preferences, regardless of how they will be ranked by other participants.

    Consider the following example:

    Program A (1 Position) Applicant X Applicant Y
    1. Applicant Y 1. Program A 1. Program C
    2. Applicant X 2. Program C 2. Program D
      3. Program D 3. Program A

    Suppose Program A knows that Applicant Y is not going to rank the program first. If Program A feels Applicant Y is most preferred, it does not hurt Program A to put Applicant Y first. If Applicant Y cannot be matched with Programs C or D, Applicant Y will be placed into Program A. If Applicant Y is matched with either Program C or D, Program A's chances of matching with Applicant X have not been reduced because it ranked Applicant Y first.

    However, if Program A lists Applicant X first because it knows Applicant X is going to list Program A first, all that will be accomplished is that Program A will lose the opportunity of matching with Applicant Y, who it feels is a more preferred applicant.

  • If someone offers to rank me highly only if I rank them highly, should I give into this pressure?

    No. In addition to this being against the Match Rules, applicants and programs get no benefit from submitting to this kind of pressure.

    Rankings are confidential. Applicants and programs will not know how they are actually ranked by other parties. If a program makes this statement to an applicant, the applicant is not disadvantaged by making out the list according to the applicant's true preferences. If the applicant matches to this program, the program may continue to think the applicant ranked it first, regardless of where the applicant actually ranked the program. If the applicant matches to another program, the first program may not be pleased, but the applicant will have received a more preferred position and will be happy with their decision to rank according to their true preferences.

Back to top
RELATED INFORMATION

SUPPORT

Can't find what you are looking for? Try our Help Resources.