Really Good Culture · macro market forces layer

The Commodity &
Supply-Chain Signal Engine

An always-on engine that watches the upstream world, commodities, weather, shipping, regulation, and the news itself, and turns it into a clean, cited, per-category signal feed for RGC's reports.

connecting to the live engine…
The gap

Today, nobody flags the upstream story.

When a Tesco buyer reviews potato snacks, nobody automatically says wholesale potato prices fell 18% last quarter, so the supplier has margin to give. When RGC advises on dairy, nobody warns that a northern-Europe drought is about to squeeze milk.

That upstream layer is exactly what this engine produces. Not opinions, signals, each one traceable to its source.

The one hard requirement · brief §3

Given a category and a date, the full signal state, in one call.

category + date
GET /signals/{category}
values + deltas (1w/1m/3m/12m) + active events

That is the whole integration surface for RGC's report pipeline. Everything else in the engine serves this one call. It answers in about 15 milliseconds.

What is live tonight

Real data, real feeds, computed from history.

25
categories across 3 families (dairy, snacking, soft drinks)
11
live source feeds + the FOI channel
~5,200
real observations, deltas computed from stored history
5
world events auto-detected from global news

Two categories were the brief's target. The mapping table let us reach 25 without new code.

Coverage · the brief's five signal classes

Every class now has a live feed.

Commodity prices

7 feeds

AHDB (milk, wholesale dairy, feed, fertiliser, fuel), World Bank Pink Sheet, FRED. History to the 1990s.

Logistics

Live

NY Fed global supply-chain pressure index. It tripled when the Middle East war hit shipping.

Weather / agri

Live

NOAA El Niño index, currently past the warning threshold, the biggest driver of global crop yields.

Industry reports

Machine-read

The engine reads AHDB's monthly commentary and extracts cited facts, Rabobank views and all.

UK regulatory

Live + FOI

ONS food PPI, FSA recall feed, and the FOI/EIR channel with the live Environment Agency case.

The intelligence

Inferred

Ground-truth facts joined by a model into buyer-actionable signals, every claim cited.

Provenance is non-negotiable · brief §8.2

Two tiers, and everything traces back.

Ground truth

Observed facts

Real values from tier-labelled sources. Anomaly-gated before they enter the store, corroborated across sources, and traceable through source → raw file → ingest run → transformation.

Inferred

The intelligence layer

A model joins the facts into higher-level signals with honest confidence. Every claim is mechanically checked to cite a real fact, anything citing an unknown value is rejected.

The model is read from config, never hardcoded. Any hosted model, or a local one on RGC's own machine, drops straight in.

The bit that turns heads

The engine watches the world itself.

These events were not typed in by anyone. The engine scans global news for supply shocks tied to our commodities, and the number of independent outlets covering a story sets its confidence.

Shipping / port disruption

35 outlets, 3 major wires · confidence 0.83

Coffee / cocoa weather stress

37 outlets · confidence 0.77

Dairy supply risk (disease / herd)

35 outlets · confidence 0.77

CO₂ / fertiliser plant disruption

31 outlets · confidence 0.71

FOI / EIR as a first-class source · brief §6

The live Environment Agency case, end to end.

The product RGC actually reads

An auto-briefing, written by the engine, every point cited.

The one-call state goes in; a short, plain-English, fully-cited supply-side briefing comes out, the headline, what moved, what to watch, on a schedule. This is the artefact your report writers consume.

example headline · dairy

UK milk supply has turned: fats stay cheap for now, but the herd is shrinking and input costs are climbing into H2.

every sentence links to the live signals it rests on

See it move

The whole object model, as a live galaxy.

Categories, signals, sources, inferred conclusions, events and FOI requests, drawn as one graph in 2D or 3D, with the information flowing along the links in the direction it really travels. Nobody arranged it; the data did. Dairy on one side, snacking on the other, shared signals in the bridge between.

live   open /graph to fly through it.

Boring on purpose · brief §8

Architecture & cost.

Runs on your hardware

FastAPI + a normalised store. SQLite today, one env var to Postgres. Deploys onto the always-on Mac Studio over Tailscale; bursts heavy parsing to Google Cloud. Same code, it just moves.

Costs pennies

Free feeds. A monthly all-category inference pass runs on a local model for near-zero cost, with hard budget caps and a pre-flight estimate on every job. No unbounded loops.

No customer dashboard (brief §11). Structured data out: one API call, CSV export, direct DB read. This internal view is for operators.

Where it goes next

This is a system that grows.

Two categories fully wired was the brief's "done" line. We're past it.

The upstream intelligence layer
retailers and brands
don't get from anyone else.

Built for Really Good Culture · Hindover Ltd

RGC Commodity Signal Engine
1 / 14
or Space to move · F fullscreen