WILL KOEPPEN

multimedia storytelling with data and imagery


The Price of Eggs

Impress your friends and dunk on your enemies. Use this dashboard to check up on the daily wholesale price of eggs.


The United States Department of Agriculture (USDA) tracks and publishes the wholesale price of eggs nearly every non-holiday weekday. Recent data is pulled from the USDA's public data reporting system, while historical data was iteratively extracted from PDFs (processing information below).

Americans buy a lot of eggs, and we have a lot of options including variations in color, size, organic feed, and birds living in a cage-free environment. For simplicity, virtually everyone (and this dashboard) selects one combination of egg traits to show as “the price of eggs” — large, graded, white eggs from caged birds where the buyer has agreed to pay for any breakage. These are the cheapest, most widely available eggs, and they have the longest history of being tracked.

It might go without saying, but wholesale egg prices are not what we pay in our local grocery stores. Eggs, milk, and bread are staples and grocery stores often sell them at a loss. Eggs have a strong seasonal demand that is weighted towards the winter holidays, and grocers will build up inventories for weeks, buying wholesale eggs at a variety of prices to be able to meet that demand at a consistent price. With that said, large changes in wholesale prices are often reflected in grocery store prices in approximately 30 days.

Methodology

Daily wholesale prices of eggs recorded between November 1, 2017 and January 31, 2025 are provided by the USDA in a series of 1,801 PDFs. Each PDF contains many tables, and they appear to be exports of a spreadsheet where someone frequently tweaked the column widths. Here's what the egg price table looks like if you directly stack the PDFs on top of each other like a flip book:

An animation of the data table, where the columns and rows jump around in every direction.

I coded a shifting window that aligned a layout analysis tool over the data. Results were then manually checked for accuracy. Here's an example of the corrected table, from which actual numbers could be programmatically extracted:

An animation of the data table, where the rows and columns are largely steady. Red boxes highlight where the program found values, even missing ones.

The USDA made a major revision to their public reporting system, and data after February 2, 2025 are available through a request form or their API.