How the Index is built, what it measures, and how we tested it. Brent, WTI, gasoline, and diesel each run as a gauge under the same method. Short version: a transparent stress gauge built from the EIA’s weekly oil report, validated against 18 years of Brent prices with no lookahead.
The Plumbline Petroleum Stress Index measures how tight the physical oil market is right now relative to its own seasonal history, on a 0–100 scale. A high score means inventories and refining are running unusually tight versus what’s normal for this time of year. A low score means the market is unusually slack.
It is a risk gauge, not a price forecast. It tells you whether the setup is stretched, not what crude will trade at next week.
Five EIA Weekly Petroleum Status Report series plus Brent spot, weekly, 2005-01 through the latest release:
EIA reports release Wednesdays at 10:30 ET. The model only uses the value already published by the Friday it’s scoring — no future data leaks into past scores.
For each of the five EIA series, every week we compute its deviation from the prior-5-year same-week average and divide by the same window’s standard deviation. That’s a causal seasonal z-score: it only looks backward, so a 2018 reading is never informed by what happens in 2019.
The composite stress score is the equal-weight average of those five z-scores (sign flipped on the four inventory series so that low stocks read as high stress; refinery utilization carries its natural sign). The composite is mapped to 0–100 via a causal expanding-window percentile rank.
Why equal weights. We tested fitted weights via walk-forward regression and they overfit — out of sample they correlated positively with forward Brent returns, the opposite of the in-sample fit. The fixed equal-weight composite is more honest and more robust.
We ran an expanding-window walk-forward against forward 90-day Brent log returns on an identical 936-week sample, 2008–2025. Each week’s score is computed using only data already available that week.
2008–2025, identical rows across all three tested models.
Spearman vs forward 90d Brent log return, out of sample.
Crude-inventory-only baseline. The composite beats it on identical data.
The sign is negative: a high stress reading has historically been associated with weaker Brent over the following quarter, not stronger. That’s the contrarian read — tightness pulls demand forward, invites a supply response, and tends to revert.
The signal is regime-dependent. It’s strongest coming out of inventory gluts and demand shocks (2009, 2015–16, 2020) and dull in quiet, range-bound regimes. An acute geopolitical supply disruption can override it outright.
We also publish a WTI stress index at /wti. It uses the same engine, same causal 5-yr seasonal-z transform, same equal-weight construction, same walk-forward Spearman validation.
Be clear about what this is and is not. The WTI index swaps Brent’s refinery-utilization input for Cushing crude stocks (the delivery point that makes WTI WTI). The other three inputs — total US crude, gasoline, distillate inventories — are identical to the Brent index. Three of WTI’s four inputs are shared with Brent.
What this means. WTI is a second benchmark of the same stress phenomenon, not an independent corroboration of it. If you see the Brent index call a setup tight and the WTI index agree, that’s not two indices independently confirming each other — it’s mostly the same inventory signal showing up against two different price targets. Treat them as a price-target pair, not as two votes.
The pre-registered metric for WTI (declared before any WTI number was measured): forward 90-day WTI log return, pooled OOS Spearman, walk-forward, equal-weight composite, not fitted. Decision rule: sign negative and |ρ| ≥ 0.15. Realized: −0.251. The fitted ridge-walk-forward version of the same composite flips the sign to +0.09 — the autocorrelation-harvesting artifact the Brent audit also caught — which is why we ship the equal-weight number.
Every product has a build-time monitoring gate that fails the deploy if its out-of-sample ρ drifts above a fixed floor. WTI’s floor of −0.15 is the only one in the family that was genuinely pre-registered (declared before any WTI measurement). When we shipped WTI we openly aligned Brent, gasoline, and diesel to the same −0.15 floor, recalibrating from earlier post-hoc 0.05-margin floors that had been set after seeing each product’s realized number.
Why uniform: it’s the only number in the family with a real pre-registration, and one bar across all four products keeps them directly comparable. The realized ρ for each product still appears on its own page, so any drift away from the proven number is visible per product even though the gate itself is uniform. The previous “composite beats inventory-only baseline” criterion from the original Brent validation continues to run as a periodic diagnostic in the validation script; we don’t wire it to the live build because the baseline itself drifts over time.
The Index is an interpretable stress/risk gauge. It’s designed to answer one question well: is the physical oil market stretched or slack relative to its seasonal norms, right now. It is not a price target, not a trade signal, and not a forecast model.
Use it as one input among several — alongside macro, OPEC+ posture, geopolitical risk, and your own framework. Treat the score as a caution flag when it’s extreme, not a recommendation to act.