Main menu

De-mystifying the Match Algorithm

By: Ashley McKiver, Manager, Compliance and Operational Services

CaRMS uses a globally recognized and award-winning algorithm to match students into postgraduate medical training programs throughout Canada. There has always been a lot of mystery surrounding the Match Algorithm. When people ask us what we do, one of the first things people ask is how the match really works. There are many factors that go into running a successful match – communicating with applicants and programs, providing support and help tools, conducting detailed checks, and of course, the Match Algorithm.

The Match Algorithm is licensed from the Canadian-based National Matching Services Inc. (NMS) and has been used to conduct medical residency matches in North America for over 50 years. The Match Algorithm, known as the Roth-Peranson algorithm, was designed by Alvin Roth and NMS President Elliott Peranson and was key to Roth winning the Nobel Prize for economics in 2012.

I’d like to take this opportunity to de-mystify the Match Algorithm and answer a couple of the most common questions.

What information does the Match Algorithm use?

The Match Algorithm uses two kinds of data – (1) the number of available positions, or quota, for each program in the match and (2) applicant and program rank order lists (ROLs).

Using CaRMS Online, our online application platform, Postgraduate Medical Education (PGME) offices determine which programs participate in the match and assign a number of available positions (quota) to the participating programs. Once the application period, file review process and interviews are completed, ROLs are submitted by applicants and programs through CaRMS Online. ROLs submitted by the ROL deadline are imported into the Match Algorithm and then the match is run.

How does the Match Algorithm work?

The Match Algorithm compares applicant and program ROLs and matches applicants to programs based on both parties’ stated preferences and available quota. The final preferences of applicants and programs, as indicated in their ROLs, determine the match outcome. ROLs submitted by applicants indicate a list of programs where they wish to train ranked in their order of preference. ROLs submitted by programs indicate a list of applicants they wish to train ranked in order of preference.

The algorithm is applicant-proposing, meaning it starts with an attempt to match an applicant to his or her most preferred program. If the program has not ranked the applicant or has already matched all of its positions to more preferred applicants, the algorithm tries to match the applicant to their next best choice. In this way, the algorithm provides applicants with their best possible outcome based on the ROLs submitted.

If you want to learn more about the Match Algorithm and see an example of the algorithm at work, visit our Match Algorithm page.