How this is built
Methodology
The collection and the math behind every number on the site, so you can check our work against the USDA reports.
How the data is collected
Everything on this site comes off the USDA Agricultural Marketing Service reporting API, pulled on a fixed schedule. Four report families: the shipping-point (FOB) reports that price onions at the origin district, the movement reports that carry shipped and border-crossing volumes, the terminal-market reports, and the national retail-ad report. There is no scraping and no estimation; every figure comes straight off a structured USDA report row, and the pack, variety, grade and size on every row are mapped to a fixed vocabulary. A description that does not map is logged and skipped, never guessed, because one 40-lb carton price read as a 50-lb sack price is a wrong number to a broker.
Each pull covers a trailing window, not just the newest day, and a missed or partial run backfills on the next one. Nothing is silently skipped or left blank.
The price range, and why there is no single number
USDA quotes a low-high range for each origin, pack, grade and size, and often a narrower "mostly" range covering where most of the day's sales landed. We store the whole range and chart it as the shaded band on every FOB page: the mostly range where USDA gives one, the low-high range where it does not. A midpoint line is drawn through the band only so the chart and the week-over-week math have a single value to track. That midpoint is never quoted as a price. Everywhere a price appears in words, it appears the way USDA published it: "mostly $14.00-15.00, 50-lb sacks."
How districts roll up to an origin
USDA prices onions by district, and one growing origin can span two of them: California quotes Imperial Valley and San Joaquin, Washington quotes Columbia Basin and Walla Walla, Peru arrives through two East Coast channels. Each district keeps its own price series, because two districts of one origin quote on the same day and must not overwrite each other. An origin page features its headline district, the one with the most quotes, as the shaded band, and draws any sibling district that quotes the same pack and size as its own line. The prices are never averaged into a synthetic origin number.
Movement, in USDA's own unit
Movement is the volume shipped, reported separately from price. USDA publishes it in 10,000-lb units, and so do we, labeled that way on every movement chart, so a figure here matches the figure in the USDA report exactly. On an import page the movement is the volume crossing from Mexico, Peru or Canada, summed across the border crossings USDA lists.
How comparisons are computed
Week-over-week, month-over-month and year-over-year are each the change between the latest value and the value from that many days back on the same series. There is no smoothing or averaging; they are two readings compared directly. "Vs 5-year median" compares the current value to the median of that same calendar week across the prior five years. Median, not average, so one freak year does not skew the baseline. Where a series is too young to have five years behind it, the comparison simply does not appear.
Direction is neutral
Every reader of this site is on one side of the trade or the other, so a price move here is not "good" or "bad" the way a shortage or a surplus is. The colored tags on the scoreboard mark how far a reading sits from its own five-year normal, in either direction, not whether that is welcome. A move up helps sellers and costs buyers, and the reverse; we report the direction and the size, and leave the judgment to the reader.
What we do not compute
We do not forecast anything. We do not model crop transitions, freight, or the next week's quote. Where a public number does not exist, or an origin is out of season and simply not quoting, the site says so rather than substituting an estimate.
For the plain-English version of how to read a page once the numbers are in front of you, see how to read this.
Republishing our charts and statistics
The charts and statistics on Know Your Onions are free to republish. Use them in an article, a report, a class, a presentation, or a post — you do not need to ask us first. We ask one thing in return: credit Know Your Onions with a visible link back to the page you took the figure or chart from, and keep that link live.
Every chart has an Embed chart button with a snippet you can paste straight into a web page. Because it points at the live image, the chart you embed today keeps updating itself as new data lands — you never have to swap in a fresh screenshot. Every data page, guide, and issue has a Cite button that hands you a ready-made citation line, including the date the data runs through. If you are quoting a number, keep that date: it is what tells your reader how current the figure is.