Find out how the Match Algorithm creates stable and optimized match outcomes.

An algorithm is a data-driven, step-by-step guide for solving a problem where a successful outcome is defined.

CaRMS uses a globally recognized algorithm to match students into postgraduate medical training programs throughout Canada, based on the decisions made by both applicants and programs.

The Match Algorithm compares applicant and program rank order lists (ROLs) and matches applicants to programs based on both parties’ stated preferences.

It requires three pieces of data:

1. Applicant rank order lists (ROLs), which list the programs where each applicant wants to train, in order of preference
2. Program ROLs, which list the applicants a program wants to train, in order of preference
3. The number of available positions for each program in the match

The algorithm is applicant-proposing, meaning it starts with an attempt to place an applicant into his or her most preferred program. In this way, the algorithm provides applicants with their best possible outcome based on their ROL.

Each applicant’s ROL is traversed downwards, from most preferred program to least preferred, until the first program to which the applicant can be tentatively matched is reached, or until the applicant’s list of choices is exhausted. Each program accepts applicants upwards on its ROL, continually removing less preferred tentative matches in favour of more preferred applicants, until the program is matched to the most preferred applicants who wish to be matched to the program. At the end of the process, each applicant has either been matched to their most preferred choice possible from their ROL or all choices submitted by the applicant have been exhausted and they have not been matched.

See a detailed scenario in action

Rank order lists (ROLs) are how both applicants and programs express their individual decisions in the match. Program and applicant ROLs, in addition to the number of available positions, are what the algorithm uses to determine match outcomes.

Each applicant’s ROL is traversed downwards, from most preferred program to least preferred, until the first program to which the applicant can be tentatively matched is reached, or until the applicant’s list of choices is exhausted. Each program accepts applicants upwards on its ROL, continually removing less preferred matches in favour of more preferred applicants, until the program is matched to the most preferred applicants who wish to be matched to the program.

At the end of the process, each applicant has either been matched to the most preferred choice possible from their ROL or all choices submitted by the applicant have been exhausted and they have not been matched.

The algorithm is applicant-proposing, meaning it starts with an attempt to place an applicant into his or her most preferred program. Each applicant’s ROL is traversed downwards, from most preferred program to least preferred, until the first program to which the applicant can be tentatively matched is reached, or until the applicant’s list of choices is exhausted.

Each program accepts applicants upwards on its ROL, continually removing less preferred matches in favour of more preferred applicants, until the program is matched to the most preferred applicants who wish to be matched to the program.

At the end of the process, each applicant has either been matched to the most preferred choice possible from their ROL or all choices submitted by the applicant have been exhausted and they have not been matched.

CaRMS uses a Deferred Acceptance Algorithm – the Roth-Peranson algorithm, designed by Alvin Roth and Elliott Peranson.

Interested in learning more about the algorithm and its creation? See Roth and Peranson’s paper in The American Economic Review from 2016.

The same Match Algorithm is used in all CaRMS matches, and in all iterations of those matches. This means the same rules and best practices apply for each iteration of each match.

The Match Algorithm doesn’t distinguish between different types of applicants. The algorithm looks at three pieces of data: (1) applicant ROLs, (2) program ROLs, and (3) the number of available positions.

The Match Algorithm has been designed to create the best possible match outcomes based on the preferences of the participants.

While it would technically be possible to change the algorithm’s focus to maximize the number of applicants matched, this would mean that higher ranked applicants would have to accept less desirable choices so lower ranked applicants could receive preferable results.

A tentative match is an interim step in the running of the match. If an applicant has been ranked by a program but other applicants are ranked higher, the applicant is tentatively matched to the program until the algorithm determines the match results of those higher ranked applicants.

We say a match is tentative at this stage because the algorithm could remove the applicant from the program to make room for a more preferred applicant. When this happens, the algorithm revisits the applicant’s ROL to seek out a match with the next ranked program. This process repeats until all matches are final.

Here’s a simple example of a tentative match: Applicant Smith ranks Program A first. Program A has ranked applicant Smith third. Program A has one position. Applicant Smith has a tentative match to Program A while the algorithm determines the match result for the two more preferred candidates.

The number of positions assigned to a program can change during the running of the match, through a practice called reversions. A reversion is an instruction to move unfilled positions from one program to another during the running of the match.

Not all faculties use reversions, but those that do use them do so to maximize their chances of filling positions at their faculty. It also has the benefit of moving positions to programs with more demand and therefore matching more applicants.

The algorithm is applicant-proposing, meaning it looks at the applicant’s highest ranked program, then checks to see if that program has ranked the applicant and if a training position is available. If these conditions are not met, the algorithm moves on to the next rank on an applicant’s ROL and continues the process. In this way, the algorithm provides applicants with their best possible outcome based on the ROL submitted.

At the end of the matching process each applicant has either been matched to the most preferred choice possible from their ROL or all choices submitted by the applicant have been exhausted and they have not been matched.

While the applicant’s choice is the first thing the algorithm considers, programs’ choices are important too. An applicant can only be matched to a program if that program ranks the applicant, and if that rank falls within the program’s number of available positions after any more preferred applicants are matched.

Applicant choice is the first thing the algorithm considers, meaning it first tries to place every applicant into their #1 ranked position.

Chances are you’re not the only applicant who will rank your first-choice program at #1 on your ROL. If other applicants also rank the same program first, the algorithm considers the program’s preferences. If you’ve ranked a program #1 and they’ve also ranked you #1, it’s an instant match. In addition, if you’ve ranked a program #1 and they have ranked you inside the number of positions they have available, that is also an instant match. If your first ranked program has ranked other applicants ahead of you, and those other applicants have also ranked the program #1, they will be matched to the program ahead of you.

Your likelihood of matching to your first-choice program depends on the number of available positions and the number of applicants the program has ranked ahead of you who do not match to a more preferred program.

The order of programs on your ROL is very important. The algorithm tries to match you to the programs on your ROL in the exact order you rank them. So it first tries to place you into the program you ranked #1, and if that doesn’t work out it tries to place you into the program you ranked #2, and so on down your list until you are matched or run out of ranks.

So rank programs in order of your true preference to give yourself the best chance of matching to your most preferred program.

No. Rank order lists are confidential and CaRMS’ interview guidelines state that neither applicants nor programs are permitted to ask for a commitment about ranking intentions. Questions of this nature are also entirely pointless. If you were to ask how an applicant planned to rank your program, you’d be putting the applicant in the awkward position of having to decide whether to speak truthfully at the risk of affecting their chances of matching at your program if it’s not their first choice, or to lie to protect their options – and you would have no way of knowing which path they chose.

You can give your program the best possible outcome by making your ranking decisions based on your preferences – not speculation about applicant ranking behaviour.

No. Rank order lists are confidential and CaRMS’ interview guidelines state that neither applicants nor programs are permitted to ask for a commitment about ranking intentions during interviews. Questions of this nature are also entirely pointless. If you were to ask a program how they planned to rank you, you would have no way of knowing if the person answering was being truthful or simply telling you what they thought you wanted to hear to protect their options.

You can give yourself your best possible outcome by making your ranking decisions based on your preferences – not speculation about program ranking behaviour.

Start typing and press Enter to search

The algorithm at work: Detailed match scenario

Applicant rank order lists

Eight applicants are applying to four programs. After considering the relative desirability of each program, the applicants submit the following rank order lists to CaRMS.

Anderson Beaudry Chen Davis Eastman Feldman Garcia Hassan
1. City 1. City 1. City 1. Mercy 1. City 1. City 1. City 1. State
2. Mercy 2. Mercy 2. City 2. Mercy 2. General 2. Mercy 2. City
3. General 3. State 3. Mercy 3. State 3. Mercy
4. State 4. General 4. State 4. General 4. General

Program rank order lists

Two positions are available at each program. The four programs, having determined their preferences for the eight applicants, also submit rank order lists to CaRMS.

Mercy City General State
1. Chen 1. Garcia 1. Beaudry 1. Beaudry
2. Garcia 2. Hassan 2. Eastman 2. Eastman
3. Eastman 3. Hassan 3. Anderson
4. Anderson 4. Anderson 4. Chen
5. Beaudry 5. Chen 5. Hassan
6. Chen 6. Davis 6. Feldman
7. Davis 7. Garcia 7. Davis
8. Feldman 8. Garcia

The program director at Mercy Hospital ranks only two applicants, Chen and Garcia, for his two positions, although several more are acceptable. By ranking only two applicants, he runs the risk of having vacant positions. Programs should rank all applicants who they are willing to train.

The program director at State feels that his program is not the most desirable to most of the applicants, but that he has a good chance of matching Feldman and Hassan. Instead of ranking these two applicants at the top of his list, however, he ranks more desired applicants higher. He also ranks all of the acceptable applicants to his program. He is using the match well.

The program directors at City and General have participated in the matching process before. They include all acceptable applicants on their rank order lists with the most preferred ranked high. These program directors are not concerned about filling their available positions within the first two ranks. They prefer to try to match with the strongest, most desirable candidates. They are using the match to maximum advantage.

Each applicant’s rank order list is traversed “downwards,” from most preferred program to least preferred, until the first program to which the applicant can be tentatively matched is reached, 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 favour of more preferred applicants, until the program is matched to the most preferred applicants who wish to be matched to the program.

Anderson Beaudry Chen Davis Eastman Feldman Garcia Hassan
Unmatched Unmatched Matched to Mercy Matched to General Matched to City Matched to State Matched to City Matched to State

At the end of the matching process, each applicant has either been matched to the most preferred choice possible, or all choices submitted by the applicant have been exhausted.

Applicant match results show that Anderson and Beaudry went unmatched because they listed too few choices. Applicant Hassan could have matched at City had Hassan ranked choices in order of preference.

Program match results illustrate that Mercy, which ranked only two applicants, and General, which ranked seven out of eight, had unfilled positions. General could have matched with Feldman, who ranked it #2, had Feldman been ranked.