USDA · refreshed hourly

Hay Stocks — Methodology & Analytical Workups

What the data correlates with, how the relationships have held historically, and how we processed the raw NASS series. Back to main stocks page.

Note: R² and regression coefficients reported below are in-sample fit statistics, not forecast accuracy. They describe how much of historical variance the features explain — not how accurately they predict the future. Walk-forward backtests are not implemented yet.

Data filtering & quality

All analyses filter to NASS source_desc='SURVEY' (annual estimates) and exclude source_desc='CENSUS' (5-year Census of Ag) to keep the time series methodologically consistent.

National-level raw correlation between SURVEY-only stocks and SURVEY-only price (sum across states, no normalization): -0.147 level-on-level, -0.271 YoY-change-on-YoY-change. Per-state normalized correlation (more robust): -0.313 (5-yr median baseline window).

Historical stock-drop events (≥20% YoY drop)

Years where national May 1 stocks dropped at least 20% from the prior year, with subsequent annual avg price action.

YearStocks YoYPrice YoYYear avg priceDirection
2018-37.1%+12.7%$152/tonprice up
1989-35.3%+13.7%$87/tonprice up
2013-33.8%+4.6%$185/tonprice up
1960-33.1%+7.8%$26/tonprice up
2007-29.8%+16.4%$119/tonprice up
1984-28.4%+4.4%$74/tonprice up
1975-27.0%+6.3%$53/tonprice up
2001-26.3%+13.6%$95/tonprice up
1993-25.2%+9.7%$79/tonprice up
1981-23.6%-7.3%$67/tonprice down
1977-23.5%-0.3%$60/tonprice down
2006-23.1%+8.3%$102/tonprice up
1962-22.4%+5.3%$26/tonprice up

Of 13 events, 11 had positive price moves that year. Two exceptions (1977, 1981) had near-flat or slightly negative price action.

Lag structure

Per-month correlation of May 1 stocks (year Y) against monthly price for the next 12 months. Signal peaks in June then decays through the year.

Price monthCorrelation
Jun-0.3820.146
Jul-0.3360.113
Aug-0.3150.099
Sep-0.3090.095
Oct-0.2900.084
Nov-0.2970.088
Dec-0.2880.083
Jan (Y+1)-0.2270.051
Feb (Y+1)-0.2390.057
Mar (Y+1)-0.2020.041
Apr (Y+1)-0.1580.025
May (Y+1)-0.1410.020

Drought × Stocks — compound signal (696 obs, 2000-2026)

Pooled state-year observations split into quartiles on both axes. Cell shows mean June price (normalized to that state's 5-yr median).

RegimeObservationsMean normalized pricevs baseline
Low stocks + Low drought1741.216+21.6%
Low stocks + High drought1741.267+26.7%
High stocks + Low drought1741.001+0.1%
High stocks + High drought1741.030+3.0%

Multi-feature regression progression

Nested OLS models adding one feature at a time. R² is in-sample fit on pooled state-year observations. Sample size shrinks as each feature adds a narrower coverage window.

ModelnNote
1. Stocks only1,3390.135
2. + Drought (USDM DSCI Jan-May)6960.217
3. + Prior-year price (momentum)6960.458
4. + Drought change YoY6700.458
5. + Corn condition (% good+excellent)4830.556
6. + Wheat winter condition3810.561
7. + Cattle inventory (beef cows, normalized)3490.563
8. + Corn silage acres (substitute feed)3490.563No marginal lift
9. + Diesel state-monthly avg Jan-May3490.596+3.3pp from input-cost signal
10. + Cattle on feed placements800.672+7.6pp BUT n=80 (overfit risk)

Per-state M3 fit (stocks + drought + prior_price)

Same model fit separately for each state with ≥5 years of overlapping data. Median per-state R² = 0.493. Plains + Midwest states rank highest.

Staten
KY260.728
KS260.728
NE260.719
CO260.694
MI260.658
MN260.632
IA260.610
WI260.597
WY200.590
IL260.585
SD260.570
MO260.549
NV260.506
ND260.493
MT260.486
NM260.478
OH260.465
PA260.429
AZ260.424
UT260.418
ID260.390
NY260.373
OR260.350
WA260.321
TX260.292
OK260.286
CA260.254

Baseline window sensitivity

Baseline windowMedian per-state corr
3 years-0.373
5 years-0.313
10 years-0.275
20 years-0.260

Back to main stocks page.