The database you already paid for
Every recruitment business is sitting on thousands of candidates it sourced, screened, interviewed and never placed. That data has already been paid for twice, once in credits and once in consultant hours. It gets searched by keyword when someone remembers to, and otherwise it decays.
The reason it decays is not laziness. Searching it properly means reading notes, checking why someone did not get the last role, and remembering what they said about location. That is a slow job and nobody has the time on the day a live role lands.
That is the job this play does. It is nearly all free, because it is your own data, and it runs before you spend anything on the open market.
What makes an internal match different
A cold profile tells you what someone claims to do now. Your own record tells you what happened when you put them in front of a client. Someone who reached final stage on a comparable role and lost on one specific gap is a stronger candidate for the next comparable role than a stranger with a better-looking title, and the reason is written in your notes.
That is the whole argument for scoring on history rather than on the profile alone.
What you get back
A ranked shortlist of your own candidates, with the reasoning showing which parts of the history moved the score. Alongside it, the exclusions: anyone recently placed, anyone flagged off-limits, anyone who asked not to be contacted. Those are found in your own records rather than discovered by embarrassment.
Where this goes wrong
Stale contact details. A candidate from three years ago has probably moved. Their record is still worth matching on, but their phone number is not. Re-enrich the ones you actually want to call, which is a small paid step on a small number of people.
Custom fields nobody fills in. The prefilter is only as good as the discipline behind it. If half your records have empty skill tags, the play falls back to a wider longlist and tells you so, which is also a useful signal about your own data hygiene.
Protected attributes in custom fields. Some systems have fields that should never touch a shortlisting decision. They are not scored on, regardless of what the prompt says or what the field is called.