The NRMP matching algorithm is an applicant-proposing system that matches medical school graduates to residency programs by starting with each applicant's rank order list and attempting to place them at their highest-ranked program that has also ranked them, with matches being tentative until the final round; both applicants and programs must rank each other for a match to occur, and the optimal strategy for all participants is to rank all acceptable options in true preference order without penalty for reaching for better opportunities.
NRMP Match Algorithm Explained: How Residency Matching Works
Added:The NRMP uses a computerized mathematical algorithm to place applicants into residency and fellowship positions by matching applicants to their most-preferred training programs. There are lots of myths and misperceptions about how the NRMP’s matching algorithm works and how participating applicants and programs should rank each other to have the best chance at matching.
In this video, we’ll run a sample Match to help de-mystify the process.
Before we begin, let’s cover the basics of how the matching algorithm works.
The algorithm is applicant-proposing, meaning it initiates placement of an applicant into a program based on the choices made on an applicant’s rank order list first, rather than a program’s rank order list. However, for a match to occur, both the applicant and program must rank each other. There can never be a match if both parties haven’t ranked each other. The algorithm starts with an applicant’s rank order list and attempts to match that applicant to their first choice.
If that can’t be done, the algorithm will try to match the applicant to the second choice and so on, until the applicant is tentatively matched or all choices on the list have been exhausted.
Let’s run a sample Match to see the algorithm in action.
Six applicants, Andre, Paul, Jordan, Teresa, Omar, and Allison, and three programs, Mercy, City, and General, have certified rank order lists. Each program has two positions. The algorithm randomly starts with Andre.
Andre only ranked City. Because the algorithm is applicant-proposing, it attempts to match Andre to City.
City ranked Andre third. Because there are no other tentative matches for City, the algorithm tentatively matches Andre to City.
While the algorithm is running, matches are considered tentative because an applicant who matches to a program at one point in the process may be removed from the program later to make space for an applicant the program ranked higher.
Next, here’s how the algorithm attempts to match Paul.
Paul also ranked City first, so the algorithm attempts to match him there.
City ranked Paul fifth. Because City still has one opening left, the algorithm tentatively matches Paul to City.
Let’s see how the algorithm tries to match Jordan.
Jordan’s first choice is also City, and even though she thinks it’s unlikely she’ll match there, she ranks it first because it’s where she really wants to be. So, the algorithm attempts to match Jordan to City. While City has ranked Jordan too, she can’t match there because both openings are already tentatively matched to higher-ranked applicants.
The algorithm now attempts to match Jordan to her second-ranked program, Mercy.
Mercy has ranked Jordan second. Since there are two positions available, Jordan receives a confirmed match because she is one of the two applicants most preferred by Mercy.
Next, here’s how the algorithm tries to match Teresa.
Teresa ranked Mercy first. Mercy didn’t rank Teresa, so she can’t match there.
The algorithm moves to Teresa’s second rank, City.
City has ranked Teresa fourth, so Teresa tentatively matches with City.
However, Teresa’s tentative match has displaced Paul since he was ranked fifth by City. So let’s jump back to Paul.
There are two tentative matches ranked higher than him by City and only two openings.
The algorithm tries to place Paul at his second rank, Mercy, but Mercy didn’t rank Paul, so he tentatively matches with his third-ranked option, General.
Now the algorithm moves to Omar. Omar ranked Mercy first, but Mercy didn’t rank Omar. The algorithm attempts to match Omar to his second rank, General. General ranked Omar first, so Omar matches at General. He receives a confirmed match because he’s the applicant most preferred by General and there’s no chance he’ll be displaced later in the process by a more-preferred applicant.
Last, let’s see how the algorithm tries to match Allison.
Allison ranked City first. City ranked Allison first.
Allison receives a confirmed match because she’s the applicant that City most prefers.
However, since City has only two positions, an applicant must again be removed from City to make room for Allison. That applicant is Teresa because she was the least-preferred applicant available on City’s rank order list.
The algorithm then attempts to match Teresa to her third rank, General.
General ranked Teresa fourth, so she matches to General.
Since General ranked Teresa higher than Paul, the algorithm removes Paul’s tentative match, displacing him again.
Finally, the algorithm returns to Paul, but none of the programs on Paul’s list that also ranked him have any remaining open spots, so Paul is unmatched.
The process is complete, and the Match is final.
Let’s take a deeper look at the results for Paul and Andre.
All applicants except Paul matched to their most-preferred programs possible.
Although all of Paul’s choices have been attempted, he didn’t match at either City or General because other applicants were ranked higher, and he couldn’t match at Mercy because Mercy didn’t rank him at all.
All the applicants, except for Andre, used the Match to their advantage by ranking all acceptable programs at which they interviewed in their preferred order to maximize their chances of matching. Andre took a real risk by ranking only City.
While Andre did get a match, applicants with shorter lists have a higher likelihood of being unmatched.
Remember, applicants should rank all programs they are willing to attend.
Now let’s take a deeper look at the programs.
City and General filled all their positions, but Mercy is left with one unfilled slot.
Mercy didn’t use the Match to its advantage because it submitted a short rank order list.
Remember, programs should rank all applicants they consider acceptable to train.
While the Match can seem complicated, we hope this sample Match has helped clarify how the algorithm works.
Here are two important things to keep in mind when it’s time to certify your rank order list.
First, the Match is a binding commitment for applicants and programs, so all participants should rank only the options they are willing to accept on their rank order list.
Second, the algorithm will try to match you to the highest-ranked option that also ranked you, so there’s no penalty for ranking reach programs higher if you’re an applicant or ranking reach applicants higher if you’re a program, regardless of whether you think you have a chance of matching. The best ranking strategy for all participants is one based only on true preference.
To learn more about the matching process, visit the NRMP website.
Up Next

Couples Match in Residency: Eligibility, ROL, Algorithms & SOAP
@matcharesident
5.3K views•2021-11-07

Triumph of Orthodoxy Icon: Byzantine Art & History Explained
@BenCallan
2.1K views•2024-08-06

FastAPI vs Flask vs Django: Choosing the Right Python Web Framework
@TechWithTim
302.5K views•2024-05-26

Game of Thrones Opening Credits: A Cinematic Analysis
@gameofthrones
46.3M views•2011-04-18
Related Study Plans & Knowledge Roadmaps
Structured learning paths in General & Interdisciplinary Studies



















![(AGT11E8) [Game Theory] Direct Mechanisms, Dominant Strategy IC, and Revelation Principle](https://i.ytimg.com/vi/E4O9TXaYW60/maxresdefault.jpg)

















