The macro market forces layer of RGC's category intelligence: an always-on engine that watches the upstream supply-side world and turns it into a clean, cited, per-category signal feed for RGC's report pipeline.
RGC's reports already read the consumer side well. What they do not yet systematically capture is the upstream supply side: the raw commodity, weather, shipping and regulatory forces that quietly decide whether a category's margin is about to be squeezed, or whether a buyer has leverage to push for better terms.
When a buyer reviews potato snacks, nobody flags that wholesale potato prices fell last quarter, so the supplier has margin to give. This engine is the layer that flags it, and every flag is traceable to its source.
The brief's "done" line for v1 was to prove the architecture end to end on one or two categories, signals flowing, mappings live, FOI in motion, and the report pipeline able to query current state in one call. All of that is working, and the coverage has been widened well past it.
Given a category and a date, the engine returns that category's full current signal state, latest values, deltas over 1 week / 1 month / 3 months / 12 months, and any active events, in a single call. It answers in roughly 15 milliseconds. That single call is the entire integration surface for RGC's report generator.
| Class | Status | What is live |
|---|---|---|
| Commodity prices | 7 feeds | AHDB milk, wholesale dairy, feed, fertiliser, fuel; World Bank Pink Sheet; FRED. Deep history. |
| Logistics | live | NY Fed global supply-chain pressure index. Tripled when the Middle East war hit shipping. |
| Weather & agriculture | live | NOAA El Niño index, currently past the El Niño threshold. |
| Industry & analyst reports | machine-read | AHDB's monthly dairy commentary, read by a model, every extracted fact cited to a verbatim sentence. |
| UK regulatory & trade | live + FOI | ONS food-input PPI, FSA recall feed, and the FOI/EIR channel with the live Environment Agency case. |
Ground truth is observed fact from tier-labelled sources, anomaly-gated before it enters the store, corroborated across sources, and traceable from the value back through its raw file, its ingest run and every transformation applied.
Inferred signals are the intelligence: a model joins the facts into higher-level, buyer-actionable reads with an honest confidence score. Every claim is mechanically checked to cite a real fact; anything citing a value it was not given is rejected. The model is read from configuration and is never hardcoded, so any hosted model, or a local model on RGC's own hardware, drops straight in.
It scans global news for supply shocks tied to our commodities. An event is raised only when enough independent outlets cover it, and that source count sets its confidence. Tonight it is tracking shipping disruption (35 outlets), coffee and cocoa weather stress, dairy herd risk, and a CO₂ / fertiliser plant story, none of them typed in by a person.
The live Environment Agency water-abstraction case (EIR2026/24546) runs end to end inside the engine: submission, a working-day deadline engine that reproduces the statutory dates exactly, and the automatic day-18 / day-20 / day-25 / day-60 escalation calendar. When the data is disclosed it lands in the same normalised store as every price feed, tagged with the FOI reference for audit. A further wave of requests is drafted and waiting only for your sign-off.
From the one-call state, the engine writes a short, plain-English, fully-cited supply-side briefing per category, the headline, what moved, what to watch, on a schedule. It is available as JSON for the pipeline, as Markdown for a human, and rendered in the operator view. This is the artefact your report team reads; the leverage-versus-risk framing stays in RGC's report layer, exactly as the brief specifies.
Every component is deliberately boring: FastAPI over a normalised store, SQLite today and Postgres with a single change of setting. It deploys onto the always-on Mac Studio over Tailscale, with heavy parsing able to burst to Google Cloud; the same code simply moves. The feeds are free, a monthly all-category inference pass runs on a local model for near-zero cost, and every model job carries a hard budget cap and a pre-flight estimate. There is no customer-facing dashboard, by design; the output is structured data, and this internal view is for operators only.