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.
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.
No. The Match Algorithm optimizes individual match results, not overall match results.
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.