NOVUS / RESTAURANT

Working with sources

One item, many pack sizes

On 2026-09-07 Canada's wholesale feed listed tomatoes under 29 pack descriptions. Why the site keeps every one apart, and how to pick the series you buy.

Published
Figures measured
Read
4 min
By
Novus Stream Solutions

Search this site for tomatoes in Canada and you get a wall of rows with different numbers on them. They are not disagreeing with each other and none of them is wrong. Each one is the price of a different physical thing, and the difference is written in a field most people skim past: the pack description.

The pack description is part of the price's identity

Agriculture and Agri-Food Canada publishes its daily wholesale quotes with the trade's own pack notation attached. On the reading below, tomatoes alone appeared under twenty-nine distinct pack descriptions. These are the busiest of them.

Canadian wholesale tomato quotes, by the pack description the source publishes
Pack descriptionObservationsFirst observedLatest observed
Flat 12X1 Pt3462025-08-042026-09-03
Ctn 11 lbs2272025-08-042026-09-03
Ctn 25 lbs 5X6 Xlge1772025-08-042026-09-03
Ctn 25 lbs1562025-08-042026-09-03
Ctn 25 lbs 6X7 Med1292025-08-042026-09-03
Ctn 25 lbs 6X6 Lge1282025-08-042026-09-03
Ctn 10 lbs1152025-08-042026-09-03
Ctn 20 lbs932025-08-042026-09-01

Measured Sep 7, 2026 from market_observation, provider aafc_ca, item Tomatoes, grouped by original_unit. This data is re-ingested daily, so treat these as a snapshot rather than a live count.

Look at the three twenty-five pound cartons in the middle. Same weight, three separate series, because the trailing grade in the description distinguishes them and the source prices them separately. Averaging those three together would produce a number that describes no purchase anyone could make.

How much of this there is, and where

Pack fragmentation is a property of the provider, not of food. Some agencies publish per kilogram and are done with it. Others publish the trade's notation as they receive it.

Distinct pack descriptions and item names, by provider
ProviderPack descriptionsItem names
AAFC Canada360113
USDA MyMarketNews191181
DEFRA UK554
EU Agri-food25
ABS Australia126
FAOSTAT15
MAFF Japan193

Measured Sep 7, 2026 from market_observation, grouped by provider_id. This data is re-ingested daily, so treat these as a snapshot rather than a live count.

The two extremes are worth naming. The Canadian feed carries more pack descriptions than it does item names, so the average item there spans several packs. The UK feed publishes most of its rows per kilogram, and the rest under a handful of counting units for things not sold by weight, so a UK item is usually one series and easy to follow.

Why nothing here is converted to a price per kilogram

The obvious wish is for the site to divide everything through to a common unit so the numbers line up. It does not, and the reason is in the table above rather than in anyone's preference: many of these descriptions contain no weight to divide by. A count of twenty-four in a carton is a count of twenty-four, and the source does not say what one of them weighs. Guessing a weight would put an invented figure into a series whose entire value is that it was not invented.

Distinct pack descriptions across all providers
560
Rows carrying a normalized unit
0
Rows carrying a normalized price
0

Measured Sep 7, 2026 from market_observation, counting the rows that hold a value in each normalization column. This data is re-ingested daily, so treat these as a snapshot rather than a live count.

The comparison therefore runs on the provider's own string. Two observations are in the same series only when the country, provider, item name, economic level, market, unit and currency all match, and the unit in that list is the pack description exactly as published. That is what stops a movement being calculated between a five pound carton and a fifty pound bag.

Working with it

  1. Find the pack description closest to what you actually receive, and treat that as your series. If you buy twenty-five pound cases of large round tomatoes, the extra-large series is a different product for this purpose.
  2. Stay in it. The value of a series is the movement over time, and switching packs halfway through turns a price change into a packaging change.
  3. Do not average across pack descriptions to get a headline number. If you need one figure for a category, take the percentage movements, which are comparable across packs, rather than the prices, which are not.
  4. Check the market field before comparing two rows from the same country. Some providers name the market a quote came from and some leave the field empty, and the market is one of the seven fields the comparison matches on.
  5. Read the unit off the card. Every card on the data explorer prints the currency and the pack description beside the value, so you never have to assume which series you are looking at.

None of this is friction for its own sake. It is the difference between a movement you can take to a supplier conversation and a movement that evaporates the moment someone asks which pack it was. If you are turning one of these series into a plate cost, the calculators take your own numbers and never store them, and the methodology page sets out the rest of the comparability rules.

Reproducing these figures

Every number above was read on September 7, 2026. Re-running these gives a different result on a later day, which is the point: the figures are dated so they can be checked rather than trusted.

  • Pack descriptions per item: group market_observation by provider_id and original_unit and count the distinct values against provider_item_name.
  • The tomato table: filter market_observation to provider_id aafc_ca and provider_item_name Tomatoes, group by original_unit, and count.
  • The normalization columns: count how many rows hold a value in normalized_unit and in normalized_price.
  • On the site itself, every card on /data prints its currency and its unit beside the value, so any row here can be checked without a query.

Sources

Reading the data

What this food price data is a price for

Every observation here is a wholesale, producer or index figure from an official source, and none is a retail price. Which one you are reading changes what it means.

Published
Figures measured
Read
5 min