Independent Forecast Audit — August 2026
Written: 2026-08-09 Scope: Current hay-price forecast, 2026 production estimate, pre-registered August predictions, supporting data, model implementation, backtests, and forecast-grading practices. Status: Audit completed before the August 12–13 and August 31 releases. Those predictions cannot yet be graded. Primary forecast reviewed: research/10-forecast-update-2026-08.md and data/current/premium_forecast.csv.
Executive conclusion
The project's contemporaneous factual foundation is substantially stronger than its predictive foundation. The USDA price and market reports, current water readings, drought observations, and ENSO outlook figures spot-checked in this audit are real and accurately transcribed. The repository also does an unusually good job documenting corrections, preserving forecast vintages, and admitting important limitations.
The principal weakness is the leap from those observations to precise local prices, production totals, peak timing, and spring-2027 probabilities. The current forecast combines three different things—a statewide persistence model, a local Premium-market basis adjustment, and qualitative scenario judgment—but presents the result as a single monthly price path. Only the first component is backtested, and even that model derives almost all of its apparent fit from lagged prices rather than water or macroeconomic features.
The robust conclusion is narrower than the headline forecast:
- A buyer bid of $180/ton looks unattractive, and a seller ask of $225/ton is defensible.
- Near-term scarcity creates meaningful upside risk and supports a tranche-sale strategy.
- The exact $265 January 2027 peak is not a high-confidence prediction.
- The forecasted spring-2027 decline is a plausible scenario, not a demonstrated base rate.
- Holding the entire stack solely to capture the January midpoint is not justified by the evidence.
The decision framework is more trustworthy than the numeric forecast table.
Confidence assessment
The following are the auditor's judgmental probabilities after reviewing the sources, code, historical data, and backtests. They are not probabilities produced by the project's model.
| Claim | Auditor confidence |
|---|---|
| $180/ton is too low and $225/ton is defensible | 80–90% |
| August SE Colorado Premium market falls within $220–270/ton | 65–75% |
| August 12 NASS CO alfalfa forecast falls within 1.55–2.00M tons | 55–65% |
| Final 2026 CO alfalfa production falls within 1.35–1.70M tons | 35–50% |
| Prices generally strengthen into winter | 55–65% |
| January 2027 falls within the published $235–305 band | 50–60% |
| January is actually the peak month, near $265 | 20–30% |
| Prices follow the forecasted spring-2027 decline | 40–50% |
| The complete published monthly path is broadly accurate | Under 20% |
These probabilities depend on what counts as the observed market price. A precisely defined commercial FOB target would be easier to evaluate than the current mixture of statewide averages, asks, small specialty lots, delivered dairy trades, and bulk transactions.
What was independently verified
USDA Agricultural Prices
The stored data/2026-08-08/nass/agpr0726.txt file was independently downloaded from the USDA ESMIS release endpoint and compared by SHA-256. It matched byte-for-byte.
The official report confirms the June 2026 Colorado values used throughout the project:
- All hay: $208/ton
- Alfalfa hay: $210/ton
- Other hay: $170/ton
Official source: https://esmis.nal.usda.gov/sites/default/release-files/795998/agpr0726.txt.
USDA AMS Colorado Direct Hay Report
The live ams_2905.pdf was independently downloaded from USDA AMS and matched the stored data/2026-08-08/hay/ams_2905.pdf byte-for-byte.
The report supports the main quoted observations:
- Statewide demand described as Good to Very Good.
- SE Colorado first-cut 3x4 alfalfa ask at $250 FOB.
- SE Colorado 25-ton Good/Premium 3x4 trade at $300 FOB-stables.
- NE Colorado 1,000-ton Good 3x4 trade at $260 FOB-farm/ranch.
- NE Colorado Premium/Supreme dairy transactions at $300–310, with different freight bases.
- Confirmed hay volume of 2,415 tons.
- Straw floor described as approximately $150/ton FOB.
Official source: https://www.ams.usda.gov/mnreports/ams_2905.pdf.
ENSO outlook
The NOAA CPC July 9 discussion confirms:
- El Niño Advisory status.
- Weekly Niño-3.4 value of +1.2°C.
- 97% probability of persistence through early spring 2027.
- 81% chance of a very strong event during October–December.
The IRI July 20 outlook confirms:
- 100% El Niño probability from JAS 2026 through JFM 2027.
- 99% for FMA and 94% for MAM 2027.
- 23 of 26 models projecting a very strong peak.
Official pages:
https://www.cpc.ncep.noaa.gov/products/analysis_monitoring/enso_advisory/ensodisc.shtmlhttps://iri.columbia.edu/our-expertise/climate/forecasts/enso/current/
Water and drought readings
The stored primary-source snapshots support the audited local readings, including:
- John Martin storage of approximately 23,130 acre-feet, with 1.6 cfs computed inflow and continued depletion.
- FLCC readings showing partial storm-flow operation rather than a fully restored canal.
- 22 active Division 2 calls in the stored CDSS response.
- Bent County drought percentages of D2 24.90%, D3 9.68%, and D4 2.63% on August 4.
- June acreage intentions of 660,000 Colorado alfalfa acres.
- Historical 2002, 2012, 2022, and 2025 analog figures cited in the production discussion.
Overall factual assessment
No evidence was found that the principal current observations were invented or carelessly transcribed. The source snapshots and current primary-source pages generally agree. The weaknesses identified below concern comparability, inference, model skill, and calibration rather than fabrication.
Model audit
The high R² is almost entirely price persistence
The v2 monthly model has 12 predictors, including the constant, seasonality, lagged prices, water variables, diesel, fertilizer, corn, and Texas/Oklahoma drought.
Reproducing the full-sample fit on 135 complete observations produced:
| Model | In-sample R² |
|---|---|
| Full v2 model | 0.958 |
| Constant + seasonality + lag-1 + lag-12 prices only | 0.953 |
| Increment from all water and macro features | 0.004 |
The lag-1 coefficient is approximately +0.96. This means the model is primarily a persistence model. Water and macro variables may still be economically relevant, but this implementation has not demonstrated that they materially improve predictive fit beyond lagged price and seasonality.
This distinction matters because the report's explanatory narrative is largely about water, regional demand, and input costs, while the statistical model's fitted behavior is overwhelmingly driven by recent price.
The original $22 MAE is not a deployable accuracy estimate
The project already acknowledges that forecast_prices_v2.py supplies each historical test month with realized weather and macro data and uses climatologies containing later years. The resulting approximately $22/ton MAE is therefore a conditional diagnostic, not a real-time forecast score.
The later vintage_backtest.py is a major improvement: it refits within each fold, rebuilds climatologies, holds macros flat, and chains forecasts. However, it still treats the immediately preceding calendar month's NASS price as available for a one-month forecast.
In actual use, NASS monthly hay prices are generally released near the end of the following month. On August 8, for example, the latest known price is June, not July. Therefore, a forecast of August must bridge two price months from the latest published observation.
Release-lag-adjusted backtest
A read-only audit check reran the vintage procedure with one additional recursive price step, corresponding to an early-month forecast whose latest NASS observation is target-month minus two.
| Calendar horizon | Repository vintage MAE | Release-lag-adjusted MAE |
|---|---|---|
| 1 month | $6.3 | $10.5 |
| 3 months | $14.5 | $19.3 |
| 6 months | $27.4 | $30.2 |
For the adjusted six-month test:
- Median absolute error: $31.8/ton
- 67th percentile absolute error: $39.7/ton
- 80th percentile absolute error: $46.7/ton
- 90th percentile absolute error: $55.3/ton
At one month, the adjusted model MAE of $10.5 was slightly worse than a release-aware persistence baseline of $9.9. This reinforces the repository's own conclusion that the model adds little or nothing at short horizons.
The audit adjustment is still an approximation rather than a full as-of-date data reconstruction. A production-grade backtest should use exact historical release timestamps for every feature, not merely an extra recursive price step.
Current forecast bands are not calibrated prediction intervals
The model bands combine rainfall scenarios with approximately one in-sample residual standard deviation. They are not constructed from forecast-error quantiles by horizon and do not have demonstrated 50%, 80%, or 90% coverage.
The archived live scorecard currently contains only three resolved model forecasts, so conclusions must remain tentative. Nevertheless, the result is unfavorable:
- Model MAE: $34.1/ton
- Bias: −$34.1/ton, meaning all resolved forecasts were too low
- Interval coverage: 0 of 3
The model beat the persistence baseline in this very small 2026 sample, but neither the point errors nor the zero band coverage support narrow or high-confidence intervals.
Target-definition and grading problems
The published Premium target is not directly observed consistently
The current forecast target is described as:
SE Colorado Premium large-square alfalfa, dollars per ton ex-stack.
The evidence used to grade or update it includes materially different observations:
- Colorado statewide monthly NASS averages.
- SE Colorado and NE Colorado transactions.
- Asks and completed trades.
- FOB-farm, FOB-dairy, delivered-dairy, delivered-feedlot, and FOB-stable bases.
- 25-ton specialty transactions and 1,000–2,000-ton commercial contracts.
- Premium, Premium/Supreme, Good/Premium, Good, and unspecified-quality hay.
These are economically related, but they are not interchangeable measurements of one price.
For example, the June 2,000-ton contract at $225 delivered-feedlot is strong evidence that $180 was unattractive, but it does not literally validate a $225 ex-stack seller price. Freight and quality differences matter. Likewise, a $300 25-ton stable trade should not grade the same forecast as a bulk commercial transaction.
The assumed Premium basis is not independently calibrated
The project currently applies an observed or assumed Premium basis of approximately $35–55 over NASS Colorado alfalfa. That range is plausible from recent market observations but is not backed by a historical monthly series of comparable SE Colorado ex-stack trades.
Because NASS does not publish the target basis, adding an assumed basis to NASS creates an implied comparison, not an actual observed result. The repository's retro code correctly calls this directional evidence, but report prose sometimes treats it as stronger validation than it is.
“Four bands held” is too generous
The claim that four consecutive monthly bands held uses a mixture of:
- NASS plus an assumed basis.
- A completed delivered contract converted informally toward ex-stack.
- Active asks.
- Thin small-lot specialty trades.
- Months that were still in progress when graded.
This is useful market commentary but not clean forecast verification. A stricter protocol should count a month as gradeable only when a directly comparable completed trade exists. Otherwise it should be marked UNOBSERVABLE or INSUFFICIENT DATA, not inferred into a hit.
Production-estimate audit
What is defensible
The statewide arithmetic is internally coherent:
- Approximate midpoint acres: 555,000
- Approximate midpoint yield: 2.8 tons/acre
- Product: approximately 1.55M tons, rounded to a 1.5M-ton headline
The selected outcome is historically possible. Colorado alfalfa production fell approximately 37% in 2002 and 43% in 2022. The 2026 acreage intentions, water scarcity, and low starting stocks justify serious downside risk.
What is not demonstrated
The 1.5M estimate is not the output of a fitted production model. It is an analog judgment assembled from:
- June acreage intentions.
- Assumed harvested-acre abandonment.
- Assumed yield degradation.
- Regional water classifications.
- Pasture and topsoil condition data.
- A small number of drought analogs.
The report appropriately notes that pasture condition is primarily a dryland signal and that Colorado no longer publishes a weekly alfalfa-specific condition series. That limitation is important: 76% poor/very-poor pasture cannot be translated directly into irrigated-alfalfa yield.
The regional analysis also says approximately 40% of Colorado production has near-normal water and that San Luis Valley wells buffered another important share. Those facts could push state yield or retained acres above the chosen midpoint.
The machine-readable estimate remains incomplete
data/current/production_estimate_2026.csv records statewide acreage and yield bands plus regional production shares, but it does not calculate a low/mid/high production contribution for each region. There is no mechanical reconciliation from regional acreage, acreage retention, and yield assumptions to the statewide result.
The estimate should therefore be described as plausible but weakly calibrated, with roughly 35–50% confidence that the final result falls in the stated 1.35–1.70M range.
August print prediction
The 1.55–2.00M interval for the August 12 NASS forecast is broad enough to be plausible, but its 1.75M midpoint and expected overshoot rely heavily on the 2022 deteriorating-drought example. P1, P2, and P3 are also algebraically dependent because production is acreage multiplied by yield. They should not be treated as three independent confirmations.
The pre-registration protocol recognizes correlated clusters, which is good. The eventual grade should emphasize P1 and the decomposition errors, not a raw count of P1–P4 hits.
ENSO and spring-2027 audit
Official ENSO probabilities are correctly stated
Confidence is very high that El Niño will persist and likely become very strong. Those are official climate probabilities and were independently verified.
Local snowpack probability is not established
The report converts confidence in tropical-Pacific conditions into approximately 70–75% odds of normal-or-better Arkansas basin snowpack. That local probability is not derived in the repository.
An audit comparison of NOAA's official Oceanic Niño Index with the repository's 2015–2025 April 1 SWE series found only two strong-El-Niño winters in the available local sample:
- 2015–16: April 1 SWE below the repository's 2015–2025 median.
- 2023–24: April 1 SWE above the median.
That is one success in two cases, far too little evidence to support a 75% local probability. NOAA also explicitly cautions that even the strongest El Niño events do not produce the typical impact everywhere.
This does not prove that the local relationship is absent. It shows that the project's stated local probability is unsupported by the data currently assembled.
Spring price decline is anchored to one main precedent
The forecast's spring-2027 descent leans heavily on 2024, when stronger water conditions coincided with a roughly $60 annual decline in Colorado alfalfa prices. The project itself identifies 2023 as counter-evidence: respectable moisture did not immediately reverse prices because previous supply damage and macroeconomic effects persisted.
Consequently, the spring decline should be represented as a conditional branch:
- Normal-or-better local SWE and improving reservoirs: relief branch.
- Intermediate SWE: slower normalization branch.
- Poor SWE: continued-scarcity branch.
It should not be represented as a roughly three-in-four outcome until a longer local ENSO-to-SWE analysis supports that probability.
Pre-registered prediction audit
The use of a remote-backed, pre-release prediction file and a separate grading artifact is a meaningful improvement. The fixed scoring definitions, exact-source requirement, correlated clusters, and prohibition on editing prediction rows are all good practices.
Important limitations remain:
- Several predictions are low-entropy continuations of already-published official outlooks. For example, predicting that the El Niño Advisory continues or that persistence remains above 90% is likely to score well but says little about hay-price skill.
- Several AMS ranges are vulnerable to market-report sparsity. NO-PRINT is legitimate, but too many voided rows will leave little evidence.
- Some intervals are very broad, including the 1,500–4,500-ton statewide-volume range.
- Production, acreage, and yield predictions are mathematically dependent.
- Report-language predictions and drought-percentage predictions are regime checks, not economically central price tests.
The final grading should lead with the economically meaningful outcomes:
- Did a comparable bulk SE Colorado trade clear near $250?
- Did a feedlot-scale contract print in the predicted range?
- Where did July Colorado alfalfa land?
- How close was the August NASS alfalfa-production forecast?
ENSO and narrative hits should not be used to offset misses on those central questions.
Remaining factual inconsistencies
The report correctly retracts its temporary claim that NASS had removed hay from the August Crop Production report. However, stale contradictory statements remain:
research/10-forecast-update-2026-08.mdwatchlist calls January 12, 2027 the “First official 2026 production print,” despite correctly identifying August 12 as the first in-season forecast elsewhere.- The same document's source appendix still says hay tables were “absent 2018+,” even though the stored 2018, 2022, and 2025 August reports contain those tables.
INDEX.mddescribes the correction as “hay prints Jan 12, 2027 only,” contradicting its own August 12 checkpoint text.
These are editorial remnants rather than foundational data failures, but they should be corrected immediately. A report presenting itself as a first-principles audit cannot retain mutually exclusive factual statements.
Recommended changes, in priority order
P0 — Define one gradeable market target
Adopt a specification such as:
SE Colorado Premium large-square alfalfa, completed FOB-farm commercial trades of at least 100 tons.
Track other channels separately:
- Bulk feedlot grade.
- Dairy Premium/Supreme.
- Small stable or retail lots.
- Asks and offers.
- Delivered transactions.
- Statewide NASS benchmark.
Every forecast and grade should state product, quality, region, lot size, freight basis, transaction type, and crop age.
P0 — Build a fully release-aware backtest
The backtest should simulate a fixed historical forecast date, such as the eighth day of each month, and use only observations actually published by that date.
Requirements:
- Use NASS
release_date, not calendar month, to determine known prices. - Record availability dates for reservoir, rainfall, drought, diesel, fertilizer, and corn data.
- Refit within each fold.
- Recompute climatologies within each fold.
- Chain every unavailable intermediate price.
- Compare against release-aware persistence, trailing-three-month, seasonal-naïve, and momentum baselines.
- Report errors and bias by calendar horizon.
- Calibrate 50%, 80%, and 90% intervals from out-of-sample errors.
P0 — Separate the three forecast layers
Publish three visibly distinct outputs:
- Statistical anchor: statewide NASS all-hay or alfalfa forecast.
- Market basis: observed local Premium adjustment and freight parity.
- Scenario overlay: judgment for local scarcity, production, demand, and winter water.
The $265 January number should be labeled a scenario midpoint unless and until the combined procedure has a comparable backtest.
P0 — Correct the remaining contradictory text
Fix the January “first official print,” “absent 2018+,” and INDEX “January only” remnants before the report is distributed further.
P1 — Enforce apples-to-apples grading
Grade a forecast only against a directly comparable completed transaction. Do not treat the following as equivalent:
- Asks versus trades.
- Delivered versus ex-stack.
- Specialty small lots versus commercial volume.
- NE Colorado versus SE Colorado.
- NASS plus an assumed basis versus an actual local trade.
If no comparable observation exists, record UNOBSERVABLE. Do not count an implied range overlap as a clean hit.
P1 — Rebuild production from regional components
For every region, store:
- Baseline alfalfa acreage and production.
- Expected harvested-acre retention, low/mid/high.
- Expected yield, low/mid/high.
- Resulting production contribution.
- Water-source classification.
- Exact source and as-of date.
Calculate the statewide result mechanically as the sum of regional contributions and reconcile it with the analog estimate. After August 12, update the final estimate using explicit Bayesian or scenario weights rather than narratively dismissing any difference as an expected survey overshoot.
P1 — Replace local El Niño probability with conditional rules
Retain official ENSO probabilities but remove the unsupported 70–75% local-snowpack probability.
Use observable branches instead:
- Dec. 1 or Feb. 1 SWE at or above 100%: relief branch.
- SWE 75–100%: intermediate branch.
- SWE below 75%: continued-scarcity branch.
A probabilistic local relationship should be added only after assembling several decades of basin SWE and ENSO history and validating it out of sample.
P1 — Calibrate the published bands
Current LOW/HIGH values should identify their intended coverage. For example:
- Central 50% interval.
- Central 80% interval.
- Stress-case range.
Do not mix scenario extremes with residual standard deviation and then present the result as if it has known statistical coverage.
P2 — Simplify or regularize the statistical model
Start from the strongest naïve baseline and require every added feature to improve out-of-sample performance.
Possible sequence:
- Persistence and seasonality.
- Autoregressive model with release-aware lags.
- Ridge-regularized candidate features selected entirely within each training fold.
- Add a feature only if it improves multiple horizons, not merely in-sample R².
Given the current 0.004 incremental in-sample R² from water and macro variables, complexity should be reduced unless stronger out-of-sample evidence emerges.
P2 — Separate decision quality from forecast accuracy
The tranche strategy can be good even when the midpoint forecast is wrong. Score these separately:
- Forecast accuracy.
- Quality of the sell/hold decision given information available at the time.
- Opportunity cost relative to best hindsight timing.
- Downside avoided through diversification.
This prevents a prudent risk-management decision from being defended through an overly generous price grade.
P2 — Resolve seller-specific basis risk
Before relying on the Premium forecast for the actual stack, obtain:
- Certified or scale-verified bale weight.
- RFV/TDN/ADF or comparable forage analysis.
- Cutting identification.
- Moisture and mold assessment.
- Storage history and spoilage estimate.
- Commercially available lot size.
These determine whether the hay belongs near a bulk feedlot curve, a Premium dairy channel, or a specialty stable channel. That classification may matter more than moving the January forecast midpoint by $10–20.
Recommended interpretation for the seller
The current evidence supports rejecting or countering the $180 bid. It also supports the existing idea of selling in tranches rather than making an all-or-nothing timing bet.
It does not support treating $265 in January as sufficiently certain to hold the entire remaining stack. The likely gain from waiting must be weighed against:
- Quality deterioration and storage loss.
- Uncertain Premium classification.
- Thin local reporting.
- Freight and channel-basis differences.
- A six-month state-model error distribution with approximately $47 absolute error at its 80th percentile.
- The possibility that snowpack, regional imports, milk economics, or cattle markets move earlier than expected.
A defensible decision can therefore survive an inaccurate forecast:
- Sell enough at defensible current prices to protect the downside.
- Market tested Premium lots separately from bulk-quality hay.
- Hold only the tranche whose risk capacity can tolerate a $40–60/ton forecast miss.
- Use December and February SWE readings as decision checkpoints, not as guarantees of a particular price response.
Final judgment
This is a serious and improving body of work. Its strongest characteristics are source preservation, willingness to retract errors, explicit pre-registration, scenario awareness, and a practical seller-oriented decision framework.
Its main weakness is over-precision. Current facts are converted into a detailed price path without a sufficiently comparable target series, a fully release-aware backtest, calibrated intervals, or a demonstrated local ENSO-to-snowpack probability. The project's own live results and revised backtests argue for wider uncertainty than the headline language sometimes conveys.
The most useful next step is not another feature or another narrative indicator. It is to make the forecast strictly gradeable: one target, one basis, exact data availability, honest baselines, calibrated intervals, and no post-hoc substitutions between asks, retail lots, delivered trades, and statewide averages.
Until that is done, treat the forecast as a well-informed scenario analysis—not a high-confidence prediction of the exact month or price of the peak.