How the gauge is built, and how we keep ourselves honest.
CrudeSignal turns public energy data into a single composite pressure gauge, a morning briefing, and a public accuracy log. The rules below are fixed constraints in the system, not editorial choices we revisit case by case.
Revision-aware data
Agencies revise their numbers. Every observation we store is tagged with the revision it came from, and our backtests and analog engine use the values as originally published — never the later, cleaned-up revisions. Scoring against hindsight-improved data would overstate historical accuracy and quietly discredit the public log. We refuse to do it.
Published, hand-set weights
Four drivers combine into the composite score. The weights are set by hand, documented, and published — not fit to maximize a backtest:
| Driver | Weight |
|---|---|
| EIA inventories | 0.35 |
| Managed-money positioning | 0.28 |
| Futures curve shape | 0.27 |
| Rig-count trend | 0.10 |
The composite is a float on a −10 to +10 scale; each driver's contribution is an integer you can read off the dashboard.
Pre-declared, code-scored calls
Scenarios are declared in advance with fixed thresholds. When a scenario resolves, code scores it HIT or MISS against those pre-declared thresholds — the outcome is never discretionary and never edited after the fact. Every call, hits and misses alike, stays in the public accuracy log.
Probabilities with sample sizes
Every probability ships with the sample it came from — “68% (23 of 34)”, never a bare percentage. A number without its denominator hides how much evidence is behind it.
Ranges, not point predictions
We do not publish point price predictions anywhere. Forward-looking output is expressed as ranges and historical analog distributions — what happened after conditions like today's, across two decades of matched history.
The model narrates, it never computes
The briefing narrative is template-constrained. Every number in the output already exists in the structured data payload — the language model arranges words, it does not calculate figures. Raw API responses are archived immutably before parsing, so every number is traceable to an original source and the parsers can be re-run.
Decision support only — not investment advice. Probability ranges and historical analogs, never point price predictions.