How we rank salons

This page describes the main parameters we use to order salon lists on the city pages, and their relative importance. It applies identically to every listed salon, whether or not it uses Primer.

The main parameter, and the only one that changes a position: the lower bound of the 95% Wilson score interval computed over the salon's review figure — its review average and the number of reviews that figure is built from. Not every row publishes that figure: for salons using Primer it is exactly the average we publish on their row, while for unclaimed rows it is the average published by the public source, which we do not print on the row — we use it only to order, so that we never put a rating in the name of a salon that did not give it to us. It is a property of the row: any salon with reviews can satisfy it, with no commercial relationship with us.

Where those reviews come from, because they do not come from one place: for salons using Primer, from the published reviews left through Primer after completed appointments with them; for every other salon, from the review figures published by the public sources we record, with the source and the date we sourced them printed on the row. The formula, the rating scale and the tie-breaks are identical for both, and no row gains a position because the salon uses Primer. But the two sets of reviews are not collected in the same way, so we state them separately instead of presenting them as one.

How a Primer salon's average is actually computed, because it is not the plain average of the ratings received: every review is weighted by the door it came through and by how recent it is. A signed link tied to a single booking weighs the most; a review left through a weaker door weighs less; an old review weighs less than a fresh one, but never below a fixed floor, so a salon that has been good for years is not erased by its own age. A review with no recorded door and no text does not count at all — neither in the average nor in the review count we score. The rule carries a published version, "display-v1", and the number of reviews excluded that way is printed next to the salon's figure in the structured data of its reviews page, for as long as the salon publishes that page: we neither weight nor exclude silently. For salons that do not use Primer none of this applies: we take the average and the count published by the source, as they stand.

Why Wilson and not a plain average: a salon with 5.0 from 2 reviews does not carry the evidence of a salon with 4.9 from 800. A plain average puts the 2-review salon first; the Wilson lower bound asks "how good could the most plausible worst case be, at this volume of evidence" and puts it second. This is a product decision, declared as such, not a measurement of actual service quality.

Tie-breaks, in order: higher review count, then alphabetical order of the name, then the internal identifier. Nothing else enters the comparison.

Salons with no review data cannot be scored, so they are not ranked. They appear in a separate, labelled block at the end of the list, in alphabetical order. The rule is the same for every salon.

What does NOT influence the order: whether the salon uses Primer, whether it pays for anything, whether it runs an offer, whether it has claimed its row, or whether it has contacted us. We do not sell list positions and we accept no payment, direct or indirect, for position.

Salons publishing their data through Primer additionally show price, duration, full opening hours and the earliest free slot — because we hold that data live. The tier ADDS information to their row; it removes nothing from anybody else's row and it does not change the order.

Corrections: if a row contains an error, the "Report an error" button on that row reaches us and we answer within one month. The "Remove my listing" button records the objection and we handle it in the same window. The names of the salons that do not use Primer are reconstructed from the source listing and may be imprecise or abbreviated — that is exactly what the first button corrects.