Southeast Colorado alfalfa price forecasts, graded in public.

October Deep Dive — October 2, 2026

Status: CURRENT. Supersedes the research/18 grid. Companion files: research/grades-2026-10.md (grading), research/predictions-2026-11.md (rows #40–45, frozen today), research/21-confidence-review-2026-10-02.md (how sure we are, and why), OctoberHayReport.md/.html (share-ready), review_2026-10-02.md (the pre-publication review, unedited).

Method. Three parallel pulls (AMS hay reports for all seven states; water, rain, drought and ENSO; NASS and macro), all raw files saved under data/2026-10-02/ (ams/, wx/, macro/). Every load-bearing number was re-checked by the operator by a second method (§9). Then an outside reviewer read the draft against the saved files (L11 rule 9). It found 17 problems, three of them HIGH; all are fixed in this version and listed in §11. Pipeline update_weekly.sh ran; its only failures were the expected "grades file must state the new coverage" checks, fixed by grades-2026-10.md.


1. Bottom line

Southeast Colorado Good/Premium large-square alfalfa: about $275/ton at origin today, range $210–340, LOW confidence. No grading-target trade printed (no Southeast Good-or-better large-square sale of 100+ tons). Eight defensible ways of averaging the regional sales give $271–308, median $277 after the Oklahoma report posted that evening (§13; the morning calculation in §4, $262–308 / median $273.5, is superseded); we round to $275. That is $5 above the Sep 19 estimate, which is noise inside the range. The number is most sensitive to geography: northern sales (Colorado, Nebraska, Wyoming) average $283, Kansas and Oklahoma $239.

What changed is the weather, not the price. Lamar Airport had 3.18" in July, 4.47" in August and 4.50" in September (normal 1.03"; that includes 2.17" on Sep 30), then 0.96" on Oct 1. Bent County went from 61% severe-or-worse drought (Sep 8) to 0% (Sep 29 map, before the Sep 30 storm). The Fort Lyon Canal, dry Sep 7–9 and Sep 11–20, is running at 371–405 cfs. We have no measured skill at turning weather into price (L10). We still cut the winter lift because of it; that is a weather-driven judgment, logged as an exception (§7).

Grades: Colorado's August state prices came in at our points ($235 alfalfa exactly, all-hay +$1); Kansas missed its point by $28 but stayed inside a wide range. Standing record 9 of 19 ranges contained the outcome (+2 NEAR). We also missed a categorical call: we said no Southeast per-ton farm sale would print on Sep 24, and a 25-ton Fair lot did, at $250.

2. Grading (details in research/grades-2026-10.md)

#CallOutcome
17CO alfalfa August $235 (170–300)HIT — $235
18CO all-hay August $230 (165–295)HIT — $231
19KS alfalfa August $155 (90–220)HIT — $127 (point off by $28)
28No SE per-ton farm sale on Sep 24MISS — 25 t Fair at $250

Judgment vs persistence. The rows were frozen Aug 27; the only persistence baseline available then was June (210/207/125, the anchors written into the rows). Against it, judgment won: MAE $9.7 vs $17.0 — it won on Colorado (errors 0 and 1 vs 25 and 24) and lost on Kansas (28 vs 2), where we bet the state average would chase cash and it moved $1. July prices (225/222/126, published Aug 31, after the freeze) would have scored $6.7; that is a later-information benchmark, not a fair test of the call. (A first draft and the pre-publication review said July persistence was the fair baseline and "judgment lost"; a second review (codex) caught the date error.)

Partial windows (graded later): Sep 24 had no SE ≥100-t Good-or-better trade (#29), no Colorado ≥500-t farm alfalfa trade (#30; the 4,320 t was millet), no NE dairy alfalfa line (#31), and demand "Good to Very Good" (#32, first half).

3. The market, report by report (primary files in data/2026-10-02/ams/)

StateReportWhat printed (conventional alfalfa, per ton)Tone (verbatim)
COThu Sep 24SE: Fair 3x4, 25 t, $250 FOB-farm, "Weedy", 3rd cut (new crop) — the only per-ton alfalfa trade in the state. NE: per-bale stable lots and asks only. Volume 4,431 t, of which 4,320 t is Premium millet at $200 FOB-feedlot"Trade activity Moderate. Demand Good to Very Good all markets of new crop hay." Premium small squares +25–40¢/bale
NEThu Sep 24West G/P 3x4 700 t, $270–300, wa $291.43 FOB (same region/grade/tonnage was wa $309 on Sep 10). Rounds: East Good 700 t wa $189; Platte Valley Good 800 t wa $202.50"buyer inquiry has soften a little in the last two weeks"; diesel slowing buyers; ground/delivered in the west +$20
WYThu Oct 1East G/P 3x4 500 t, $330 FOB (new). East Good 3x4 1,600 t, $270–300, wa $281.25 — identical to the Sep 17 line, and AMS counts it in this week's confirmed volume again. The narrative ("sold earlier in the year and just now getting delivered") suggests a delivery of the same deal; that is inference. We count it once and show the anchors both ways (§4)"Demand was moderate to instances good"; "Most irrigation districts are shut down"
NMFri Sep 25Asks onlyno summary paragraph
KSTue Sep 15 (latest retrievable)35 alfalfa large-square trade lines. Good-or-better FOB squares $210–275; Fair/Good FOB squares wa $203 (4,260 t). Southeast KS, same report: Fair/Good 3x4 450 t $200 vs 150 t "Old Crop" $125the expected Sep 29 report could not be retrieved (latest URL, ESMIS, Wayback CDX, MyMarketNews, KDA site all failed). Secondary (HPJ Sep 30 reprint, not checked against USDA): "Demand remained strong… hay inventories continued to decline"; SW KS stock-cow alfalfa $265–275, grinding $240–250; SC grinding 3x4 $230–240 (−$5)
OKFri Sep 18 (Oct 2 not yet posted at 08:49 MDT)G/P 4x4 160 t $240 and 380 t $170; P/S rounds 720 t $240"calling all hay producers" (Sep 18). Secondary (OSU, Sep 30): "Many producers have already started feeding hay… hay supplies are already short"
TXFri Sep 18organic only (3,000 t $380 delivered dairy) — not comparable—

NASS August prices (released Sep 29), alfalfa $/ton: CO 235 (+10), NM 285 (+5), WY 230 (+10), TX 230 (0), OK 193 (+5), KS 127 (+1), NE 104 (+1), US 206 (+3). US all-hay $190 (+$6). July not revised anywhere.

4. The nowcast, built in the open

Governing rule (research/18): conventional alfalfa; completed per-ton trade; large squares (3x4/4x4) only; ≥100 t; price at origin (FOB, FOB-farm, FOB-dairy, FOB-stables as printed); Good grade or better (Fair/Good lots are a lower grade class and are shown separately); rounds, delivered prices and organic excluded. L11(2)'s older wording ("≥500-t lots in NE CO, WY, W NE, KS") is shown as a variant. Computed by scripts/comp_set.py, which reproduces both Sep 19 sets exactly (G/P $269.8 on 1,840 t; Good $268.7 on 4,050 t) before being trusted on new files.

Anchor variantLotsTons$/ton
Governing: latest report per state, Good/Premium41,740$271.3
Latest per state, Good or better (WY 1,600-t line counted)125,140$267.9
Latest per state, Good or better (WY line excluded)113,540$261.9
Rolling Sep 10–Oct 1, Good or better, WY line once (figure 08)198,790$271.4
Rolling, G/P + Good only137,090$275.6
New reports only (Sep 24–Oct 1), WY line excluded (it first printed Sep 17)21,200$307.5
L11(2): ≥500 t in NE CO / WY / W NE / KS, rolling86,900$277.9
L11(2), latest per state53,900$282.1

(Morning calculation — superseded by §13 the same evening: spread $271–308, median $277.45; estimate unchanged.) Estimate: $275 = the rounded median of the eight ($273.5). It is not a directional judgment; the spread is $262–308. Good ~$270. Fragility: the governing anchor is $299.6 without the Oklahoma $170 lot, and the rolling set is $276.0 without it. By region, northern lots (CO/NE/WY, 6,450 t) average $283 and Kansas/Oklahoma lots (2,340 t) $239; which of those markets Southeast Colorado hay trades with matters more than any rule above. Lot-to-lot spread (tonnage-weighted SD) is $32, which by itself supports a ±$65 range for any single sale. Like-for-like, western Nebraska G/P slipped $18 and Wyoming's G/P rose $35 on a different bale and basis: no trend we can claim.

Fair/Good large squares (mostly Kansas, Sep 15): wa $203 on 4,260 t, $125–245. Including them, all large squares average $249.

Import parity into Bent County (market_parity.csv, $0.157/t-mi derived from DAT flatbed $2.59/mi linehaul, wk ending Sep 25, plus fuel at $6.38 diesel): Oklahoma 4x4 lands $211–287; Kansas dairy P/S $273; western Nebraska G/P $321–351; Wyoming G/P $382. No export netback is computed (no delivered price with a known destination printed).

Regime-change rule check (forecast_policy.json): no directly comparable trade printed, so it does not fire.

5. Weather, water, drought (primary files in data/2026-10-02/wx/)

What the rain does and doesn't do (inference, not measured): it adds little 2026 hay (most districts are on their last cutting; first freeze at Lamar is typically mid-October). It does (a) green local pasture and wheat, which cuts local cow-calf hay demand this winter, (b) refill soil and start refilling John Martin for 2027, and (c) lower the grade of hay that was cut or stored uncovered. Oklahoma and Texas moved the other way. Net for SE Colorado price: two-sided.

6. Demand and costs (primary files in data/2026-10-02/macro/)

7. The grid (data/current/premium_forecast.csv, version "research/20")

MonthLowMidHighLayer
Oct 2026210275340nowcast (§4)
Nov–Jan215280345DISCRETIONARY, weather-driven: the +6% base-rate lift cut to ~+2% (about −$11) for local pasture recovery; OK/TX drought the offset
Feb 2027210275340Feb 1 snowpack reading
Mar200265330DISCRETIONARY: drought outlook + El Niño wet lean
Apr / May / Jun190 / 180 / 170255 / 245 / 235320 / 310 / 300new-crop seasonality
H2 2027155–165220–230285–295least decision-relevant

L10 honesty note. Weather has not passed the evidence gate, and it still moved the Nov–Jan midpoint by about −$11 and the spring roll-off. The amended policy permits that only as a logged exception, and it is logged (forecast_adjustments.json). It is judgment, not a measured effect. forecast_preflight.py: OK. State-benchmark grid unchanged (Sep $240, Oct $245, Dec $255, Jan–Mar $260).

Falsifiers. Down: a Colorado ≥500-t farm sale at or under $240; Kansas/Oklahoma wheat-pasture reports after the rain; NE/WY tone going from "moderate" to "light". Up: any ≥500-t Good-or-better print at or above $300 in Colorado; Oklahoma's Oct 2 report still "calling all hay producers" with prices up; Colorado's September state price ≥$260 (Oct 30).

9. Verification table (claim | method 1 | method 2 | status)

ClaimMethod 1Method 2Status
CO alfalfa Aug $235, all-hay $231, KS $127grade_predictions.py from ESMIS agpr0926.txtoperator read of the table + title month (AUGUST); reviewerVERIFIED
SE Fair 25 t $250 FOB-farm, Sep 24agent pdftotextoperator read of the full text + parser row in the ledgerVERIFIED
No CO ≥100-t alfalfa trade on Sep 24agent readcomp_set.py on the file (zero rows) + operator readVERIFIED
W NE G/P 700 t wa $291.43 (Sep 24)agent readcomp_set.py parse + reviewer read of the PDFVERIFIED
WY 1,600 t line repeats Sep 17operator diff (line identical)reviewer: AMS counts it in Oct 1 volume tooVERIFIED that it repeats; ONE deal or two is UNKNOWN — anchors shown both ways
KS SE old-crop 150 t $125 vs 450 t $200revieweroperator read of the KS Sep 15 Southeast sectionVERIFIED
Comp-set code correctreproduces Sep 19 G/P $269.8/1,840 t and Good $268.7/4,050 t exactlyreviewer re-parsed the new files against the PDFsVERIFIED
Anchor spread $262–308, median $273.5operator script (8 variants)reviewer's independent variants ($262–308)VERIFIED
Lamar AP Jul 3.18 / Aug 4.47 / Sep 4.50 / Sep 30 2.17 / Oct 1 0.96agent + operator ACIS queriesreviewer (ACIS monthly file)VERIFIED (a first chart draft showed July 0.00 because a saved file started Aug 1 — caught on review)
FLCC restarted Sep 21, 405 cfs Oct 1agent CDSS telemetryoperator CDSS telemetry query + FLCC page (371 cfs headgate, Run #5)VERIFIED
FLCC Jun–Sep ≈ 25–26% of 2010–25 avgCDSS monthly 26,445 AFtelemetry 25,969 AFVERIFIED, with caveat: monthly includes placeholder dailies
Bent County D2+ 0%, D1 48% (Sep 29)agent USDM county APIoperator re-read of the saved JSON; reviewerVERIFIED
State DSCI valuesagentoperator recomputed from cumulative D0–D4 (all 7 match); reviewerVERIFIED
John Martin 22,978 AFCDSS telemetryUSGS lake elevation 3802.41 ft ≈ 22,900 AFVERIFIED; USACE end-of-Sep-30 storage 20,228 AF (retrieved later) is consistent with the rise
Diesel record $6.529 (Sep 21)FRED GASDESWEIA gasdiesel pageVERIFIED
Futuressaved Yahoo JSON (Oct 2 intraday)—SECONDARY, delayed, not settlements (a draft quoted Oct 1 values not in the saved files — corrected)
Kansas late-Sep pricesHPJ reprint—UNVERIFIED vs USDA; not used in the nowcast
US–China truce to Jan 10, 2027DTN—SINGLE SECONDARY SOURCE

10. What we could not get

The Kansas report expected Sep 29; the Oklahoma and Texas reports due today (not posted at 08:49 MDT); the USACE John Martin morning report (retrieved later the same morning; see §5); the 30SEP Niño-3.4 line (posts Oct 5); Horse Creek storage. Local private asking prices for the Arkansas Valley: searched, none published (Front Range asks $340–375). Kansas and Oklahoma are the two that could move the nowcast; research/21 sizes that.

11. Pre-publication review (review_2026-10-02.md) — what it found, what changed

#SeverityFindingFix
2HIGHParity table said a 25-t Fair lot shows G/P "is not below ~$250" — floor language banned on Sep 19sentence deleted from market_parity.py/.csv
4MEDWY 1,600-t handling inconsistent across checksone rule; anchors shown both ways
5MED+$4 justified only by the checks above the anchor$275 restated as the rounded median of all eight variants
6MEDFair/G/P "0.87" ratio mixed basis and cuttingdropped
8MEDProse said weather was not moved into price; the grid did exactly thatstated plainly (§1, §7)
9MEDGrade filter (Good or better) hidden; figure 08 implied the whole marketrule stated; Fair/Good lots shown separately in figure 08
10MEDState-row floor ±$30 vs a $28 KS misskept under its written trigger; disagreement recorded in calibration_floors.json
11MED"Judgment won" measured against stale June persistenceREVERSED on second review (codex, Oct 2): July prices were published Aug 31, after the Aug 27 freeze, so June persistence IS the information-matched baseline; judgment won ($9.7 vs $17.0). July persistence kept only as a later-information benchmark (§2)
12MEDFutures quoted values not in the saved filesreplaced with saved values, labeled
13MED#43/#46 near-free hits; #45 likely#46 withdrawn; #43/#45 flagged low-information
14–17LOW12→13 lots; 39→35 KS lines; COF wording; rain double-count reading; placeholder dates; dangling refs; "at the farm" → "at origin"fixed

12. Second review (codex, same day, after commit 358a693, before push)

#FindingAction
1signals.html still showed the superseded Oct $280 / $285 peakregenerated by rerunning the pipeline after the grid was final
2"July persistence is the fair baseline" was a date error — July printed Aug 31, after the Aug 27 freeze (first review's #11 was wrong, and we accepted it)reversed everywhere: judgment beat freeze-time persistence $9.7 vs $17.0; July kept only as a later-information benchmark
3"6 of 6 state rows inside their ranges" — #16 (KS July $126 vs $130–155) was NEARcorrected to 5 of 6 + 1 NEAR in research/21 and calibration_floors.json
4Standalone HTML linked charts by relative path, broken from archive/charts embedded inline (ids namespaced per chart); 0 external references
5plot_price_review.py would crash once September prints (est[9])statewide sentence built from whatever estimates remain; tested with a simulated release and with none left
6calibration/manifest/retro outputs stale after the failed first pipeline runpipeline rerun
7Charts under "Conditions" landed after the next section (list endings ignored)insertion handles lists and is bounded to its own section

Third review (codex, same day, after 7ecc22a): (1) the regenerated signals.html said "0 cfs in canal" — signal_dashboard.py summed the FLCC page's division PM column, which reads 0 until afternoon; it now reads the page's "Headgate N CFS" line (371 cfs) with the page's own update stamp (10/2/2026 7:15 a.m.). (2) "August-only rain" summed Aug 1 → today (20.30") and judged timing by day-of-month; now bounded to Aug 31 and timed by full date (6.67", two-station sum). Both were pre-existing generator bugs that this run republished. (3) Figure 08: marker size capped so large lots no longer hide the next row's label; local-sale label shortened. Archive revision 3; earlier revisions kept as -rev1/-rev2.

Fourth review (codex, same day, after 73533de): (1) the FLCC fallback summed the division "AM/PM In Use" table (lateral deliveries, not headgate flow) — removed; no headgate line now means "unknown". (2) the dashboard stamped the USACE John Martin storage (20,228 AF, end of Sep 30) as today; it now shows the report's own period date; that also explains the gap with the 22,978 AF CDSS reading (Oct 2 08:15). (3) the SE AMS price tile silently vanished because it only looked in data/<date>/hay/; it now finds ams/ams_2905_<date>.txt saves too and shows the $250 Sep 24 lot. (4) research/21 said both "0" and "about two" comparable local outcomes; it is zero. New tests/test_dashboard_parsers.py (7 tests) pins all three parsers to the saved pages.

Fifth review (codex, full dashboard audit, after 55686ef): nine findings, all in pre-existing dashboard code except one stale line in this report. Fixed: the dashboard price chart now plots statewide all-hay actuals under the v2 all-hay forecast (it plotted alfalfa); winter snowpack tile implemented (6-station index vs its 2015–25 median, labeled a proxy for the NRCS number that decides); ENSO parsed with entities decoded, status/issue date from the page, newest saved discussion as fallback, no hard-coded August text; rain tiles refuse to publish when >10% of days are missing; forecast chart limits come from the full low/high range; Bent County, diesel and Pueblo verdicts use one threshold function each, live and cached; CDSS call responses are validated and the "most senior" detail is built from the records; the John Martin limitation above is corrected (USACE retrieved later: 20,228 AF end of Sep 30).

Sixth review (three parallel audits: website, charts, price-math/grading scripts; after c871ae0): 35 findings across the three. Fixed: (1) a past grade value — row #2's recorded $365 missed a $300 lot across a page break; the true value is $342.3, grade still MISS; row #9's "contract vs trade" reading questioned. Past records are NOT edited: both are noted in the August retro only; (2) the production-estimate code checked a looser window (−15%..+2%) than LESSONS L4 states (−12%..0); code now matches L4, and a new estimate row statewide_rev2 = 1,975k (the L4 central) replaces rev1 (1,950k, now flagged outside L4; it and the 1,500k row are still graded as published on Jan 12); (3) NASS state rows #14–19 are calibrated as the state-price family by their data source, so easy state-average hits can't release the local cash-price floor; (4) market parity now lists every ≥100-t Good-or-better Kansas lot and the Wyoming line once (L11 rule 5); (5) the website's "inside our bands for all four graded months" line replaced by the ledger's 9 of 19; homepage "next checkpoint" now comes from the watchlist; frozen reports now cite dated copies of their charts; figures land under the heading they belong to; (6) the dashboard no longer shows the v2 model's runaway path (to $376) with a ±$7 band; (7) chart scripts no longer crash or mislabel on the next sale or release; (8) tests now pick the newest file by date, not file time. Still prose, not code: the regime-change and two-same-sign rules.

13. Evening update, Oct 2 (Oklahoma and Texas reports posted after the morning version)

Nowcast recomputed by comp_set.py with OK Oct 2 as Oklahoma's latest report:

Variant$/ton (lots, tons)
Latest per state, G/P (governing)$307.5 (2, 1,200 t) — Oklahoma's newest report has no qualifying lot, so its Sep 18 $170 and $240 lots drop out
Latest per state, Good-or-better, WY line in / out$277.0 / $274.7
Rolling Sep 10–Oct 2, Good-or-better (unchanged)$271.4 (19, 8,790 t)
Rolling G/P + Good$275.6
New reports only (WY line out)$307.5
L11(2) ≥500 t rolling / latest$277.9 / $282.1
Median of eight$277.45 (was $273.5)

Estimate unchanged at $275 (rounded median; spread $271–308). The governing variant jumping to $307.5 is a mechanical artifact of one state's thin report (two lots), not a price move; the rolling set, which still holds every lot, is unchanged at $271. The OK $170 lot reappearing as an ask says nothing about whether that lot was cheap hay or a one-off. Southern demand evidence strengthened (OK "continues to be high", TX drought intensifying, TX feedlot ground-alfalfa ask $350); local SE Colorado pasture is recovering. Two-sided, as in §5; the grid is unchanged.

Seventh review (codex, evening): stale morning numbers ($262–308 / $273.5) left in the site blurbs and research summaries — now show the evening $271–308 / $277 with the morning figures labeled superseded; the statewide chart's right edge and y-ranges now come from the data (survives the next release); the standalone October HTML embeds its dated chart copies; the website's NEAR count uses the scorecard's two-sided rule; prediction adjustments #40–#42 and #44 added to forecast_adjustments.json; dashboard note no longer calls the band a dry/wet scenario range; a test file's entry point moved below all tests.