How people search finds and orders results
Signed in? Ask Lovelio this question inside the app - it answers from this same page.
Every search does the same four things, whether the user types a sentence or presses match on a job:
- Understand. The AI reads the sentence and turns it into search chips. That is its ONLY job. It never picks people and never decides the order.
- Filter. Must-have chips work like a strict door. Only candidates who pass every must-have get in. The count shown is the real number of people who passed.
- Rank. Everyone through the door is scored out of 100 by a fixed formula. The same search gives the same order every time - no randomness, and no AI writes the score.
- Explain. Every result shows its working: the score, its breakdown, and where each match was found. The reasons on screen are the real reasons.
The one rule that answers most questions: must-haves decide who is IN the list. Everything else only decides the ORDER.
A longer brief reads back before it runs
Type a proper brief instead of a short search - several sentences, or open language like "ideally", "a generalist, not a specialist", "even if they have not done it" - and Lovelio reads it back before running anything: one or two plain sentences saying what it understood, then a single Search button. Nothing runs until that button is clicked, so nothing is wasted on a misread. A short, filter-shaped search ("consultants at Bain in Sydney") skips this and runs straight away, same as always.
The readback is not a summary of the chips - it says the same thing the chips say, in a sentence, so a wrong reading is obvious before it costs a search. Editing a chip while the readback is showing updates the reading in place; it does not run anything either. Only pressing Search runs it.
Potential asks: "who could grow into this", not "who has done it"
Some asks are not filters. "People who might be a good fit for a D365 consulting role, even if they do not have that experience" or "someone to train into a go-to-market role; they do not need a GTM role but must have done the right things before it" are asks about potential. The tells are "even if", "does not have to have", "could be trained", "would make a good", "might be a good fit".
Lovelio reads these differently. Instead of chips that filter, it writes a checklist: 4 to 8 things a strong candidate for that role would have done or shown (has led enterprise accounts, has sold to CIOs, has launched a product, worked in robotics). The readback says so in plain words - "Nobody has to have done D365 consulting. I will look for people who have shown these things and rank by how many they have." - and lists the checklist under the ask, one item per line. Click an item to change or remove it, then press Search.
Nobody is excluded for missing an item. The order is how many items each person has shown and how strongly: a match in their record counts more than a matching CV line. Lovelio also reads the 200 likeliest CVs against the checklist, so a result card can say "has led enterprise accounts (CV line), has sold to CIOs, no robotics" for each person. The count says how many CVs were read, with a button to read the next 200. The target role itself is never a requirement - it is what they have not done yet.
People like these: search from several people at once
"Here are three people who did well at my client, find me the twenty closest in our database" is one search. Lovelio builds it from the people you give it, three ways that all land in the same place: pick people already in Lovelio (select them on the People page and choose Find people like these, or open "similar to" from any record), paste the text of each profile into the search box (Lovelio splits a paste into its people and reads each one), or capture people with the Chrome extension and then pick them. Up to 10 people at a time.
Lovelio never opens LinkedIn or any other website. Paste a LinkedIn address with no profile text and it says so and asks for the text or the people. The extension only reads the page you are looking at; nothing in Lovelio fetches a profile.
Before anything runs, the search reads back: "These three have in common: consulting, senior, Sydney. I will rank everyone by closeness to that." Each thing they share is an underlined phrase you can click to change or drop, the people are listed with a way to add or remove one, and the number to show (20 by default, up to 100) is a box in the sentence. Nothing runs until Search.
What the people share is worked out on paper: the same reader that turns one profile into chips reads each person, and only what EVERY person has survives (a title family, an industry, a level, a skill, a degree, an employer, a place). Shared facts are always nice-to-have: they lift people up the order and never filter anyone out, so a shared city does not hide the perfect person one suburb over. Make one a must-have yourself if it is a deal-breaker. Then everyone is ranked by a fixed formula built around closeness to the people you gave: closeness of profile 50%, shared facts hit 20%, role fit 6%, doing it now 4%, distance 5%, quality of proof 5%, freshness 4%, ready to move 3%, likely to move 3%. No AI orders the list. The people you gave are left out of their own results. A person with no readable profile yet still counts for the shared facts; the closeness part uses whoever could be read.
Chip strengths
- Must have blocks people out. Skills, roles and locations the user names become must-haves. Fail one and you do not appear.
- Nice to have moves people up. Words like "ideally", "preferably", "bonus" make a chip nice-to-have. Missing it never removes anyone.
- Must not removes people we can PROVE match. "Not in Sydney" keeps someone with no location on record, because we cannot prove they are in Sydney.
- No data yet (grey chip): asked for something Lovelio does not hold (age, gender, email replies). It does nothing and says so.
Each chip also carries a small tag naming WHAT it checks - COMPANY (employer name, whole-word), COMPANY NOW (current employer only), INDUSTRY, ROLE, EXACT TITLE (see below), SKILL, LOCATION, TEXT MATCH (raw CV text), and so on. If the AI misread the sentence, the tag makes it obvious: a chip tagged COMPANY that is not actually a company name is a misread - click its x and it is gone. Search terms check skills, titles, employers, locations, the CV and the profile - never a person's name or email, so searching the skill "Amber" does not return people named Amber. An email address is its own chip, tagged EMAIL: "brettiredale@gmail.com", "whose email contains smith" or "anyone on a gmail.com address" checks the email field on the record, whole or in part.
Searching a specific tool is exact by design: "Salesforce consultants" hard-filters to people with real Salesforce evidence. It never widens to other CRMs (Oracle, HubSpot, Zoho). The only stretch is known nicknames from the dictionary, like SFDC for Salesforce - and when a nickname made the match, the result says so ("via alias SFDC"). The dictionary can link a new word to an existing skill; it can never invent an equivalence.
Roles: which titles count, and when
A role chip answers two questions, and its tag on the chip tells you both: ROLE NOW, ROLE EVER, EXACT TITLE NOW or EXACT TITLE EVER.
When: a bare title means the title they hold now. "Account executives", "Consultants at Bain", "sales managers in Sydney" all match their title today and nothing else. Reach into a career by saying so: "consultants who have worked at Bain", "has been a BDM", "was a Sales Manager", "ex-consultants" and "used to be a nurse" count every past title in their work history too. This matters more than it sounds: on a real agency book, "All Consultants at Bain in Sydney" returned 68 people reading the whole history and 22 reading titles as they stand today - the other 46 were Partners, Principals and Case Team Leads who held the title years ago.
A discipline ask means the people who do the work. "SEO specialists", "Salesforce consultants", "PPC people", "SAP experts" are asks about a skill, not a title, so the skill is the requirement and the title is a preference. "SEO specialists in Sydney" finds everyone in Sydney who does search engine optimisation, whatever they are called - a Growth Marketing Manager who runs SEO every day is in. People with SEO in their current title rank first, because the title is the second weighting, never the gate. Common acronyms are read as what they stand for (SEO, PPC, SFDC, CPA), and UK and US spellings are one skill: "optimisation" and "optimization" find the same people. If you really do want only the title, say so: "people titled SEO specialist". A function word keeps the title as a requirement: "Python developers" are developers who know Python, "marketing managers" are marketing managers.
"Or" means or. "VP of Sales or Chief Revenue Officer in Australia" is one role chip that matches either title, and "product marketing managers in Australia or New Zealand" is one location chip that matches either country. The chip reads "A or B" and the search sentence names every alternative. Only the words you typed filter; an equivalent Lovelio adds on its own can lift someone up the list but never adds or removes anyone.
Which titles: the ones that mean the same job. Lovelio reads every title as a function, a level and sometimes a specialism, and keeps that reading in one shared list. "Account executives" is a sales role at executive level, so Business Development Managers and Account Managers count: same function, same level. Sales Managers do not - they run a team, which is a level up, and levels are a wall, not a range. A title Lovelio has not read with confidence only orders the results and never decides who is in; nobody is asked to confirm it. Rank words on their own ("Director", "Partner", "Consultant") are recorded as having no single function, and those people are read from their employer, skills and history instead. The term itself still matches anywhere in a title, so "consultant" finds Senior Consultants and Management Consultants too. A role checks their job titles and their listed skills - never the body of the CV, and never the occupation dictionaries that once turned "demand generation manager" into "power plant manager".
Sometimes you want the title and nothing broader. Say so in the search and the chip tightens: "titled exactly Consultant", "only Consultant", "just Consultant", ="Consultant". Now only people whose whole job title IS Consultant match - Senior Consultant and Associate Consultant are out, and so are the same-job readings that would normally count. "Exactly" also means the title they hold today: "titled exactly Sales Manager in Australia" is the 17 people who are Sales Managers now, not the 13 who were one years ago. Reach into the past by saying so, as with any role: "was exactly a Consultant at Bain" is exact and ever.
The two are independent. "Consultants at Bain" is loose and now. "Titled exactly Consultant at Bain" is exact and now. "Anyone who has been exactly a Consultant" is exact and ever. The chip tag always says which combination is running, and the search sentence under the count says it in words.
The search sentence is the control. Click the result count and the sentence you typed appears with every load-bearing phrase underlined. Click a role phrase and it offers, in words, the four things it can be: their title right now, any title they have ever held, only that exact title, or titles that mean the same job. The one running is ticked. Below those sits every alternative you typed ("VP of Sales or Chief Revenue Officer") and every equivalent Lovelio added on its own ("also counts: CRO"), each with its own line to take it off. Taking off an alternative you typed changes who is found and shows the new count; taking off an added equivalent only changes the order, because an added equivalent never filters.
You never have to remember the wording. When a search's results contain longer titles carrying your role word, a + only exactly X button appears in the Refine row under the count. One click tightens the chip you already have. On a real agency book, "consultants currently at Bain" went from 62 people to the 28 actually titled Consultant.
"Currently at X" is stricter than it looks, and the Refine row says by how much
Saying "currently at Woolworths" means Woolworths is their job today, not that they have Woolworths on their CV. That is usually what you want and it is always fewer people than you expect. On a real agency book: 96 people have Woolworths as their current job, 193 worked there at some point, and 220 mention it somewhere in a CV.
So whenever a search carries a "currently at X" requirement and dropping the word would find more people, a + ever at X (51) button appears in the Refine row. The number on it is a real count, run against the same filters - not an estimate - so you can see what "currently" is costing you before you decide. One click swaps the chip from "Currently at X" to "Worked at X" and re-runs. Nothing is re-interpreted: you get exactly the number the button showed.
A title that finds nobody offers the people who do the work
"SEO specialists" means the people who do SEO, not only the people titled for it, so it normally runs as the skill SEO (required) plus the title as a preference: people titled SEO specialist rank first, and someone titled Growth Marketer who does search engine optimisation every day is still in. When a search does carry the title as a hard requirement ("titled SEO specialists", or a search saved before this rule) and that title finds nobody, the empty page says so in plain words: Nobody has an SEO specialist title right now. Did you mean: and offers People who do SEO with the real count (164) against the rest of your search. One click makes the switch: SEO becomes a required skill, with its spelled-out forms, and the title stays as a preference so titled people still rank first. It is only offered when the work reading actually finds someone. A title with no discipline in front of a generic word (developer, theatre nurse, SEO copywriter) is a job, not a discipline, and never gets the switch.
This is the usual reason a Lovelio count looks smaller than a keyword search elsewhere. A keyword tool matches the word "Woolworths" anywhere on the record, so it counts people who left in 2019 and people whose CV only mentions the company. Lovelio holds you to the question you asked, and puts the wider question next to it as a button.
Running it again, or starting fresh
On the candidates page your search shows as the sentence you typed, with the load-bearing phrases underlined. Click one to change it: a place offers wider and tighter distances, a role shows which job titles it matched, and every requirement can be softened to a preference ("preferred, instead of required") or dropped. Each option shows how many people it would find, so you can see what a change costs before you make it - those counts appear a moment after the options do. Anything the sentence did not name but the search still used is added to the end in grey, so the sentence always describes the whole search.
To run something different, type over the box. To re-run the same search against candidates added since, edit any requirement and put it back, or just search again - there is no separate refresh button, because editing anything re-runs the search on the spot. On the job-match panel the requirements still show as chips.
What a search can filter on
Skill, role, seniority (the level of their current job title: senior, head of, director, VP; the CV text is never read for this, so "senior" finds people who are senior today, not everyone who once wrote the word), location (a place, or a named country group: Commonwealth countries, APAC, the EU, English-speaking countries, and the others in the search guide, each a fixed list), employer (current vs past are different asks; "2+ years at McKinsey" checks time at that company from real employment dates, and company names match whole-word so "BCG" finds "BCG X (Boston Consulting Group)"), industry (read from what Lovelio knows about each employer in their work history, never from the CV text: "worked at a SaaS company" is any job at a company Lovelio places in SaaS, "currently in fintech" is their job today; named groups like Big 4, magic circle, ASX 200 and FAANG work the same way; "companies like Technology One" means the same industry, about the same size and the same home country, with the companies that counted listed so you can take one out with "but not X"; a company Lovelio cannot place with confidence never counts, and anyone whose CV merely mentions the industry is listed separately under the results), years of experience (only dated jobs count), time in current role, salary expectation, notice period or available-from date, work rights, open to work, the 1-5 star rating ("5 star candidates", "rated 4 and up" - unrated candidates never match), stated preferences (work types like "open to contract", wanted roles like "wants a Head of Sales role", wanted locations like "wants to move to Sydney", open to relocation), contact history (contacted / emailed / called), process history (interviewed / submitted / placed / in process), history with a NAMED client ("sales people we have not sent to Acme yet", "who have we placed at Meridian Group" - who you SENT them to, which is a different question from where they have worked), talent pool, tags (say tag or label: "consultants tagged ex-McKinsey"), source, email address (whole or part: "brettiredale@gmail.com", "anyone on a gmail.com address"), when they were added, and what they have DONE in a job ("people who have run teams", "who has managed a P&L", "account managers who have handled accounts over $1m") - read from what each job description on the CV says they did, stored as short claims with the CV line behind each one, never from a title or a skills list, so "run a team" does not match everyone whose CV contains the word team, and what they have STUDIED ("a business degree", "degree qualified", "MBA", "PhD in chemistry", "diploma or higher") - read from the education section of the CV into a parsed degree ledger, a level floor (a degree means bachelor or higher) with an optional field, never a skills list or a professional certification. Classic boolean strings work verbatim: "account executive" AND (Salesforce OR HubSpot) NOT agency - capitals required, quotes mean exact words anywhere in the CV, never a job title: "business development manager" in quotes finds everyone whose CV says those words in that order, including people who reported to one, and the line under the sentence says so and offers "Search it as a job title instead" (the same role search typing the title without quotes gives you). Or means or in plain English too: "Salesforce or HubSpot" is one chip that finds people with either, never only the first. When an ask has no field and no claim behind it (worked in a regulated environment, presented to a board), Lovelio reads the CV itself: the 200 likeliest CVs on the first pass, keeping only the people whose CV shows it and quoting the line that does. The count says how many CVs were read and how many were not, and a "Read 200 more" button beside it reads the next batch; rows already read are remembered so the second pass costs only the new ones.
Salary chips understand day and hourly rates as their own thing: "on under $800/day" checks recorded day rates and never compares a rate against an annual figure (or the other way round). Currency words never change the number - "£80k" and "80k" filter the same. If an amount cannot be read, the chip says "couldn't read the amount" and honestly filters nothing.
Limits: 8 chips per search. If a long job spec asks for more, the extras are dropped AND named in Heads up - never silently. Time windows cap at 10 years (a year for notice periods); a capped window says so in Heads up. Do-not-approach candidates never appear unless searched for on purpose.
A search on screen always offers Clear search in the search bar. It throws the results, requirements and conversation away and puts you back on the empty search page with the cursor in the box. That is the way to start a different search, because typing into the bar while results are up sends a follow-up about those results instead.
Follow-up messages edit the requirements ("make Salesforce a nice-to-have", "drop Sydney"), and the underlined phrases can be clicked to change or remove. Edits are precise: a chip the message does not mention keeps every detail it had - its years, amounts, distance and nicknames - so refining never quietly rewrites the rest of the search. A refined search always returns exactly what typing the whole thing fresh would. That includes short searches: "sales people" builds chips just like the full sentence, so "in New Zealand" typed after it works on the same footing. The one exception is typing just a person's name - that is a lookup of one person, not a chip search, and it stays instant.
What gets searched, and what does not
Three things per candidate: the structured facts on their record, the short summary Lovelio writes about them, and the full CV text (first 200,000 characters). Notes, emails and interview feedback are NOT searched - if a fit only lives in a note, it must be put on the record. Missing data is never guessed: no dated jobs means no years number (shown as no data, never zero), and a salary chip only matches people who gave a number. Missing information ranks as neutral - nobody drops for what we do not know.
The summary Lovelio writes has two halves, and it matters which is which. The industries, role categories, seniority, geography, company types and education come from Lovelio's own records - the same place lookup search uses, the same job-title dictionary, the same employment dates - so they say what the record says. Where a record cannot answer, the line is left out rather than filled in: an employer nobody recognises gets no industry, because a guessed industry would make that person answer searches they have nothing to do with. The rest of the summary - related skills, roles they could move into, soft skills, keywords - is written by AI from what is on the record, and it is the part to read as a suggestion rather than a fact.
"Mentioned in CVs" - the extra list under a company search
Search for a company ("ex McKinsey, Bain or BCG") and under the results there can be a second, smaller list headed "N people mention this in their CV". The count stays separate: the strip reads "19 candidates, 12 more mentioned in CVs", never one number.
These people did not match. Their CV names the company somewhere; their work history does not say they worked there. Measured on a real 9,378-candidate book, a McKinsey/Bain/BCG search finds 1,735 people through work history and 195 more through CV text alone, and about half of those 195 never worked at any of the three. The real ones are people whose employment dates were never captured. The rest are lines like "founded by ex-McKinsey partners", "in direct competition with McKinsey, BCG and Bain", or "Bain Capital's bid" (a different firm from Bain & Company).
Half right can be useful to read but is never worth mixing in, so it is a labelled list and each row shows the actual line from the CV. Reading that line is how you tell the two apart in a second.
Three things it deliberately does not do:
- It never changes the results, the count, or the order. Nothing in that list can push a real match down.
- It only happens for companies, and only for "worked at" style asks - not "currently at", not "2+ years at", and never for a NOT chip. A company name is a rare word in prose; a job title is not. 262 people on that same book have "accountant" somewhere in their CV and none of them hold the title, which is why role chips only ever match job titles, never CV text and never the skills list.
- It never turns a job match into a maybe. Matching candidates to a job, and every background check of "does this person meet the requirements", ignores mentions completely.
Locations
Every place name is looked up on a real map and a circle is drawn around it, sized to the place: 50 km for big cities (1M+), 30 km for large cities, 20 km for towns, 10 km for suburbs. "Greater X" widens to 80/60/40 km by city size, "X CBD" tightens to 5 km, and a named distance always wins (up to 500 km). States and countries work with no circles. The agency's home country settles ambiguous names ("Perth" = WA for an Australian agency). Distance also shapes rank: full marks at the centre of the circle, half at the edge.
The ranking formula - eleven parts, fixed sizes
Everyone who passes the filters gets one score out of 100 from a fixed, tested formula. No AI writes this number. The parts: quality of proof 23% (a checked skill on the record scores 1.0, a fact on the record 0.75, a word in the CV 0.5 - checked facts beat keyword luck), overall fit 18%, nice-to-haves hit 16%, meaning match 8%, distance 8%, role fit 7% (how close their job title's meaning is to the role asked for - and if they matched through a PAST role, it is that past title that gets scored, not their unrelated current one), experience fit 4%, freshness 4%, ready to move 4%, likely to move 3%. The last two (availability and movement) can be switched off. Parts the search did not ask about (no nice-to-haves, no location) drop out for everyone and the rest scale up - but a part the search DID ask about applies to every result: missing it scores 0, it never quietly disappears for one person. Missing DATA is different from a missed requirement: a candidate with no AI profile yet scores the middle of the pack on the AI-similarity parts, never the bottom. Ties go to the newest record. Match bands: Strong = every chip covered, Good = about two thirds, Partial = the rest (a search with no chips at all takes its bands from the same score that orders the list). Only the newest 3,000 people who pass the filters get ordered (the count still shows the true total), and when that happens the search says so in Heads up - add a requirement to rank everyone.
Matching against a job
"Find matches" on a job runs the exact same engine - the chips come from the job. The job's location and the role itself become must-haves (fully remote jobs get no location rule), the two clearest essential skills become must-haves, and desirable skills, seniority, industry, a written minimum-years number, and the job's work type (a contract job ranks up candidates open to contract work) become nice-to-haves. The job's salary never filters or ranks (pay data is too patchy) - add a salary chip manually if it is a deal-breaker. Every automatic candidate suggestion anywhere in Lovelio must pass the job's must-haves first; an AI opinion can never beat a hard job requirement.
One engine, every door
Every place that finds or ranks candidates uses this same engine, so the same ask gives the same people everywhere: the search page, the Cmd+K command bar and Slack ("find senior developers in Melbourne"), the public API's candidate search, a job's Find Matches, talent pool suggestions on a job, the "Suggested for open jobs" panel on a pool page (skill overlap raises the idea, but the job's must-haves decide who may be suggested), the marketplace's Fits Your Market, the CV-import role match, and "people like these" (which ranks by closeness to the people you gave). Deleted and do-not-approach candidates are excluded from all of them.
Who search covers
Search covers your candidates AND your client contacts - a hiring manager is a future candidate, and a third of a typical agency's placements are already on file as someone's contact. Narrow by role with the "Who it searches" control in the search panel (Everyone / Candidates only / Contacts only), or just type it: "accountants, candidates only", "contacts only". "Candidates only" restores the pre-contacts view; "Contacts only" shows people holding a live contact role at one of your clients, including people who are also candidates. A person who exists only as a contact usually carries just a name and their client role, so they surface on name searches rather than skill searches until a CV is added. Searchability changes nothing about emailing: approach email to a client contact still holds at the outbound gate, and automation can never override it.
On the rare occasion the engine itself fails mid-search, the search bar falls back to a plain keyword match and SAYS SO - a banner explains that must-have requirements were not applied as filters, so a degraded list is never dressed up as the real thing. Search again to retry the full engine.
The "How do I search?" card only teaches searches your book can answer
The card on the landing search bar shows what the search understands, with an example under each heading. The pay, notice, work rights, star rating and open-to-work examples show only when at least one candidate in the workspace holds that field. A book where nobody has a salary, a notice period, a rating or an open-to-work flag never sees "AEs on under 120k" or "5 star candidates", because on that book they return nobody. Those searches still run if typed; the card just stops promising them. Fill the fields in (a CV that states them, an interview call, or a consultant edit) and the examples appear.
When a search finds nobody
The empty page asks one question and answers it with real counts. The headline names what found nobody in your own words ("Nobody has a sales title right now."), then "Did you mean:" and up to three buttons, each a nearer reading of the same search with the number it would find: anyone who has ever held that title, the people who do that work, anyone who ever worked at that employer, anyone with the words on their CV or skills, or the same search without the requirement that emptied it. Closest reading first. A click runs exactly the search the number was counted against; nothing is re-interpreted. Below the buttons: type a different search, clear it, or open Search settings to change who it searches (everyone, candidates only, contacts only), what ranks first, and the view. The panel does not open on its own any more. The same diagnosis runs on a job's Find Matches.
The "Explain this search" panel
On the candidates page the result count is a button: click it to open the search panel, headed Your search: "...". On the job-match panel the same rows sit behind Explain this search next to the chips (Requirements and Heads up only, since the settings belong to the candidates page). Every line is filled in by the engine itself - no AI writes it, so it cannot drift from what actually ran:
- Requirements. One row per requirement: its label, what kind of check it is (role now, skill, location), and a real count from your database of how many people are left once that row is added to the ones above it, so the numbers shrink down to your result count. A row that empties the search says "Finds nobody." and how it was checked. Every row has a Remove that takes it off and re-runs. The counts are worked out when the panel opens, so results never wait for them.
- Search settings. Three rows: Search (Everyone, Candidates only, Contacts only), Rank first (two switches, Open to work and Likely to move, which change the order and never who is in the list), and View (Table or Cards).
- Heads up. Anything the search could not do properly - an AI ranking signal offline, an exclusion that could not apply, a check that fell back to a wider match, or more than 3,000 matches to rank. An amber dot on the trigger means this section has something in it. A silent shortcut is never allowed: if the search could not do exactly what the chips say, it appears here. What you will never see here is a warning that your results might be short: however many people match, every one of them is filtered and counted in the database, so the count is the true count.
Asking the follow-up box "why did this get no results?" is answered from the same engine numbers - the funnel and the diagnosis - never from a guess.
Answering "why is my perfect candidate missing?"
Work down this list, it is almost always one of the first three: (1) a must-have blocked them - check each pink chip against their record, commonly a location circle or a skill worded in a way the dictionary has not linked yet; (2) the search filtered on data their record does not hold - salary, notice and work-rights chips only match recorded answers; (3) their record is thin - no CV and no skills means almost nothing to match on; (4) they are flagged do-not-approach; (5) the search matched more than 3,000 people. Fastest diagnosis: flip pink chips to nice-to-have one at a time until the person appears.
Answering "why is this person ranked here?"
Result rows carry a Match column, and the number in it is that row's score out of 100 - the same score the engine ranked on, so the column reads in the order the list is sorted and you can see where the good people stop. The Match heading wears a down arrow to say so: the whole result, every page, is already sorted by match, best first, and there is no separate sort to switch on. Sorting by Name, Location or Added reorders the rows; clicking Match puts them back in match order. Hover the score to preview the "Why this match" card; click it to keep the card open while scrolling (close with the x, Escape, or a click anywhere else). The card lists every part with the fact behind it ("2 of 3 nice-to-haves", "8 km from Sydney") and the full score breakdown. The tile view prints the same number in the card footer. A row with evidence but no score - a CV mention, which is not a match - says "Why" instead of a number, on purpose. What the cell does NOT carry is a band word, a coverage fraction, or a colour: on a faceted search the band is coverage and every row on screen matched every must-have, so the word and the fraction were identical down the whole column and separated nobody, and colouring by that same band paints every row one shade. Colouring by fixed score thresholds is worse, because the score renormalises per search: a top result is routinely in the 70s, so an "85 is green" rule would call the best person on the list mediocre. Read the order rather than the absolute figure, and never compare a 72 in one search with a 72 in another. Result rows carry no email or phone column - both were too long to read at that width, and you need a number after picking someone, so they live on the record and inside every action. A surprising high ranker usually hit more nice-to-haves or has checked-fact proof (the biggest score part). A keyword match ranking below a checked-fact match is on purpose. Proof chips labelled "inferred" matched only in the Lovelio-written summary - the trust order is record facts, then CV quotes, then summary lines, and a quote is never invented.
Seeing past the first 50
Results show 50 at a time, with page controls under the grid whenever more matched. Every ranked candidate is reachable - "1,240 candidates" means you can page through 1,240 (up to the 3,000-ranked ceiling, which Heads up calls out when it applies). Paging keeps the exact same order; it never re-shuffles.
Results paint fast and settle fast: the grid shows the ranked list as soon as the requirements are filtered, with a brief "Refining order" note while the last AI ranking signal finishes - the same people, the same count, only the order settles. It usually takes a second or two.
Same search, same answer for 24 hours. Over weeks results change because the data changed, not the formula.
How we know search is working (Analytics > Search quality)
Two numbers, side by side, because they answer different questions.
Your searches. Of your candidate searches in the last 8 weeks that returned results, how many had someone open or act on one of the top 3. A search counts once however many results were acted on - this asks whether the right person came out near the top, not how many clicks a search got. Opening a candidate, adding them to a job, emailing them, or adding them to a talent pool all count, from anywhere you can do it: the results grid, the candidate record, the job match panel, talent pool suggestions, and clicking a name in a Lovelio answer. Searches that came back empty are left out, and so are questions and commands - neither has a list of people to act on, and counting them would blame the ranking for something else. When nobody has acted on a result yet the page says so rather than showing 0%.
Our ranking tests. A fixed set of searches with the right answers marked by hand, replayed against the ranking on every change: how close the top 10 is to the ideal order, how many of the right people appear at all, and how many searches that should have found someone came back empty. These are the same for every customer - they catch a ranking regression before it reaches you, but they cannot tell you whether your own team is finding people. That is what the first number is for.