Skip to content
Best Olive Oil

Sample edition. Every oil, medal, laboratory value, and price in this release is illustrative. None of it is a real competition result.

How the sample set works

Scoring version 1.0.0

How the score is built

The whole formula is on this page and in the source file that computes it. If a number on an oil page cannot be recomputed from these rules, the page is wrong.

Scoring version 1.0.0 · Ranking year 2026 · Updated 24 October 2026

A score is a competition result and, when we have one, a laboratory result. Competition is 70%. The laboratory is 30%. Price is displayed and never added in.

An oil with no medals in the set is not ranked. Laboratory numbers do not create a rank by themselves. We do not invent a panel to fill the 30%.

Medal pointsPrestigeRecency

0.70 × competition + 0.30 × laboratoryThe laboratory score

Medal points

Every competition is reduced to the same five bands so a guide score and a medal can share a column. Flos Olei publishes scores rather than medals. Sample rows already use bands. A real import of that guide must keep the raw score and map it with a table we publish first.

MedalPoints
Best in class100
Double gold92
Gold80
Silver58
Bronze36

Prestige

Prestige weights are editorial coefficients. They are not measurements, and they are not how the competitions rank themselves. Version 1.0 is a starting hierarchy: the largest institutional and international contests sit at the top, and smaller or more local ones still count. Changing a weight is a version change, not a silent edit.

CompetitionWeight
NYIOOC1.00
Mario Solinas0.98
EVOO World Ranking0.90
Flos Olei0.84
BIOL0.80
Athena0.78
Japan Olive Oil Prize0.76
London IOOC0.74

Recency

A medal ages. The factor depends on how many ranking years sit between the award and the table. Awards older than three years stay visible at 0.20 so history is not deleted, and so it cannot hold a place on its own.

Age of the awardFactor
Ranking year, or any newer award1.00
One year older0.80
Two years older0.60
Three years older0.40
Older than three years0.20

The competition score

Award points equal medal points × prestige × recency, rounded to two decimals. The competition score is the mean of the highest three of those values, rounded to one decimal. If the oil has fewer than three awards, the mean uses however many exist. Further medals stay on the page and do not move the number. One lucky gold cannot be buried, and a drawer of minor medals cannot take over.

The laboratory score

Each measurement is mapped onto 0–100 between a poor anchor and a good anchor, clamped, and rounded to one decimal. Lower is better for acidity, peroxide, K232, and K270, so the good anchor is the smaller number. The laboratory score is the weighted sum, rounded to one decimal.

MeasurementScores 0Scores 100Weight inside the lab
Polyphenols15065040%
Free acidity0.800.1525%
Peroxide value20615%
K2322.501.5010%
K2700.220.1210%

The final score

When a laboratory panel exists, the published score is 0.70 × competition score + 0.30 × laboratory score, rounded to one decimal. The components are already rounded to one decimal before this step, so the arithmetic on the oil page is the arithmetic. When no panel exists, the published score is the competition score. The missing 30% is not spread across the medals.

0.70 × competition + 0.30 × laboratory

What is left blank

No laboratory panel means a blank lab column, not a guessed one. No price means a blank price, not an average of the neighbours. Panel scores published by a competition are stored on the medal and are not mixed into version 1.0, because a 90 in one room is not a 90 in another.

Price

Offers are converted to euros per litre with fixed sample rates for 2026-10: one euro is one euro, one US dollar is 0.92 euro, one pound is 1.17 euro, one Australian dollar is 0.60 euro. The rates exist so a 375 ml tin and a 500 ml bottle can share a filter. They are not a live exchange feed, and they do not enter the score.

EUR 1 · USD 0.92 · GBP 1.17 · AUD 0.6

A worked example

The current leader of the sample table, computed from the same function as the oil page. It is still sample data.

Kamen 2025

CompetitionPointsCounted in the top three
NYIOOC 2026100.00Counted in the top three
Mario Solinas 202678.40Counted in the top three
EVOO World Ranking 202557.60Counted in the top three

Competition 78.7 · Laboratory 93.8 · Score 83.2

Open the full profile

Where the code lives

The implementation is src/lib/scoring.ts. Prestige weights live in data/competitions.json so they can be edited without hunting through the formula. data/SCHEMA.md describes every file the importer has to touch.

Questions

Why is the laboratory only 30%?

Because this is a ranking of oils that compete, not a ranking of laboratory printouts. Chemistry should be able to move a bottle by a meaningful amount and should not be able to erase a record of medals. Thirty percent is that amount. It is a judgment, and it is printed.

Can a producer pay for a higher score?

No. There is no listing fee, no featured slot, and no sticker for sale. A price can be shown. A price cannot be added to the formula.

Are the numbers on the oil pages real?

Not in this edition. The formula is real and the records are sample data. Each page says so. When a real import replaces a record, that record’s sample flag comes off and the banner stays up until the edition is no longer a sample edition.

What about ΔK and sensory defects?

The IOC trade standard also uses ΔK, and a defect found by a tasting panel removes an oil from extra virgin entirely. Version 1.0 does not score ΔK and does not yet ingest defect reports. Both are obvious additions. They need a published rule before they touch a score.