A search score is an order, not a grade

Leon
•

You search for a supplier notice about a cracked bracket. The top result has a score of 0.84 and a full bar next to it. The next one has 0.79. It is hard not to read that as "84% relevant" and "almost as good". A maintenance planner asks whether 0.6 is good enough to trust. An engineer asks why yesterday's search scored higher than today's.

None of these questions can be answered from the number. A search score puts results in order. It does not say how good any one result is. We wrote a short paper about this, What a search score means, for anyone who reads ranked results in Curiosity Studio, not only for engineers. This post gives its argument and its best examples.

Think of a soup contest

The paper opens with a soup contest. Five cooks each make a soup. A judge tastes them, puts them in order and gives each one a number. From that you can say which soup came first, whether soup B beat soup C, and where the list drops off. You cannot say whether soup A is tasty, whether it is twice as good as soup B, or whether it is good enough to serve.

All five soups can be bad. Then the winner is only the least bad one. A search works the same way. It can return a first result even when nothing in your data answers the question.

Why the top bar is always full

Result lists in Studio often draw a bar for each score. The bar is as long as the score, compared with the best score in that list. So the top result always has a full bar.

The paper shows two searches side by side. In search A the best score is 0.84 and the next ones are 0.79, 0.66, 0.41 and 0.38. In search B the best is 0.29, then 0.27, 0.22, 0.12 and 0.11. Both lists start with the same full bar. Search A found strong matches. Search B did not. The bar tells you about the order inside one list, and nothing about the list compared with another one.

Figure 1. The two searches from the paper. Each list is drawn against its own best score, then both on one scale. The shared scale is an illustration, not how Studio draws its bars.

What goes into the number

A score in Studio is built from several parts, each with its own scale:

Part What it looks at How it changes the score
Search terms Your words, and near matches Rare words count more
Text similarity The meaning of the text Closer meaning scores higher
Graph links Connections shared by two items Adds a signal you can weight
Recency The age of the item Last 14 days keep full score
Boosts Weights an admin sets Chosen words or sources count more

Search adds the parts up, with weights, into one number. That number has no fixed top. Which parts count also depends on the search. A plain keyword search mainly uses search terms and recency. A similarity view can add meaning and shared links. So a score of 0.6 from one kind of search and 0.6 from another are not the same 0.6.

Why it is not a percentage

The paper gives four reasons, each with an everyday example.

  1. The scale is not fixed. The same number can mean different things in different searches. In German schools 1 is the best mark. In some other countries 1 is the worst.
  2. A score only means something inside its list. The tallest child in a class is not always a tall person.
  3. There is no whole. A percentage is a share of a whole, like 50% of a pizza. A score has no pizza. No number means "perfect".
  4. A percentage looks more exact than it is. "87%" sounds like "87% sure". Imagine an app that says "Your day: 87% nice". Nobody knows what that measures.

Even the parts that come with a familiar range are not percentages. Text similarity is usually measured as cosine similarity, which lands between -1 and 1. Piotr Migdał makes the point in Don't use cosine similarity carelessly: values that usually fall between 0 and 1 do not represent probabilities, and "the value 0.6 tells little if we have something really similar, or not so much". If one ingredient of a score has no fixed meaning, the sum cannot have one either.

What a score can tell you

The paper sorts the questions people ask into those a score answers and those it does not:

Your question Use instead
Which result should I read first? The order
Is result A ranked above B? The order
How far apart are A and B? The gap, not a ratio
Is this result relevant to me? Open it and read
Is 0.8 a good score? Nothing: there is no such value
Which of two searches did better? Read both top results

The gap is the part that is easy to skip. In search A above, the drop from 0.66 to 0.41 is larger than any other step in the list. A big gap between two results often means a change in kind. Above it you may have the maintenance logs for that bracket. Below it, field reports that only share a few words with your question.

Three habits for reading a list

The paper closes with three habits that take a few seconds each.

  • Read from the top. The order is the signal. Start at result 1 and go down.
  • Look for a drop. A large gap between neighbors usually marks where the strong matches end.
  • Judge by content. Open the result and read it. Only the content shows whether it fits.

The same holds when software does the reading. When an assistant in Studio answers from your part records and tickets, its answer traces back to a record you can open. The number decided what to read first. The record decides what is true.

Read the paper

The paper is ten pages, written in plain language, with the soup contest, the two searches and the tables above, plus a short glossary of terms like score, rank, signal and gap. Hand it to the people on your team who read ranked results all day and wonder what the bar means. Read it on its page, or download the PDF directly.

Read the whitepaper (PDF)

Further reading

Read next

Articles on context graphs, enterprise search and industrial AI

Connected knowledge for AI systems