Methodology & sources
| Source | What it measures | Cadence | Lag | Revised? |
|---|---|---|---|---|
| EUMOFA | EU imports from third countries, volume and CIF unit value | Weekly | ~2 weeks | Yes — back-filled for several weeks |
| Eurostat COMEXT | Greek exports; EU27 imports from Türkiye | Monthly | 6–7 weeks | Yes — early prints revise |
| Sogemi, Milano | Wholesale quotation, farmed fresh, by origin × size | Weekly (Tuesdays) | Same day | No |
| RNM / FranceAgriMer | Wholesale quotation at Rungis, farmed | Published daily; changes rarely | Same day | No |
| Mercamadrid | Price (monthly) and traded volume (daily) | Monthly price, daily volume | ~1 day volume | Within-month |
| Madrid open data | Origin split behind the Mercamadrid series | Annual | Up to a year | No |
| ECB | EUR/USD reference rate | Daily (TARGET days) | Same day | No |
Unit value is not price
The EUMOFA and COMEXT figures on this site are unit values: total declared customs value divided by total declared net weight for a given code, origin and period. They are labelled CIF for imports and FOB for exports, and they are never called prices anywhere on this site. Three things separate a unit value from a market price. It embeds freight and insurance to the border. It is a weighted average across every consignment in the period, so a shift in the mix of sizes or buyers moves it without any price having changed. And it is a customs declaration, made for customs purposes. It is an excellent indicator of direction and a poor substitute for a quotation.
The wholesale figures — Milano, Rungis, Mercamadrid — are quotations published by those markets for their own product definitions. They are real prices in the sense that they are what the market reports, but they are not transaction-verified, and each market quotes its own size buckets.
Size classes are not harmonised
The headline size class across the site is 400–600 g, because it is the only class all three wholesale markets quote. Everything else is left in the market's own terms: Mercamadrid reports pequeña, mediana and grande for lubina, Milano reports numeric bands from 300–400 up to 1500–2000 g, Rungis reports its own bands. These are not mapped onto one another. Forcing them onto a common grid would create a tidy table that no source would recognise.
Incomplete periods are withheld, not smoothed
EUMOFA back-fills. A week first appears with only part of the reporting countries in it, and fills out over the following weeks. Plotting that raw would draw a sharp fall at the right-hand edge of every chart, every week, which is an artefact and not a market event. A week is treated as incomplete when its volume is below 60% of the mean of the four preceding weeks, or when one of the large reporting countries — Italy, Greece or the Netherlands — has not yet reported. The check walks back from the newest week and stops at the first complete one. Incomplete weeks are excluded from every chart and headline, and are shown explicitly in the table on the EU imports page with the reason they were withheld.
Repeated quotations are marked
RNM repeats its last quotation on days when no new one is set. Counting those repeats as fresh observations would make a series that moved three times in a year look like 250 daily observations. Every repeat is flagged, and each Rungis series carries the date its quote last actually changed.
Currency
Figures are published in EUR and USD only. USD conversion uses the ECB euro reference rate for the period each observation belongs to — not a single current rate applied backwards across history, which would silently re-price the past every time the rate moved. Turkish lira series are not published on this site at all.
Product scope
Farmed fish only. Wild-caught series are excluded everywhere they occur: sauvage and de ligne at Rungis, de captura at Mercamadrid, and the wild Atlantic sections of the Milano bulletin, which quote several times the farmed level. On the customs side the headline is fresh whole fish — CN 03028410 for seabass and 03028530 for gilthead seabream. Frozen product (03038410 and 03038955) is collected but held as a separate series, because blending fresh and frozen into one unit value produces a number that describes neither. Codes 03028510 and 03028590 are not used: they cover other Sparidae and are not specific to gilthead seabream.
Update cycle
Every series on this site is rebuilt automatically on a daily schedule and each page displays the date its underlying data last changed — not the date the page was generated. A source that has not published anything new will show an unchanged date, which is the intended behaviour rather than a fault.