Transparent by construction
How StorageCurve reads physical inventory.
Methodology version 1.0.0 · reviewed August 5, 2026
StorageCurve turns official inventory observations into a compact seasonal comparison. It does not train a model, infer a hidden forecast, or issue a trade recommendation. Every classification can be reproduced from the published numbers below.
1. Data sources and series
US natural gas: EIA API v2 series NG.NW2_EPG0_SWO_R48_BCF.W, Lower 48 working gas in underground storage, billion cubic feet.
US commercial crude: EIA API v2 series PET.WCESTUS1.W, ending crude stocks excluding the Strategic Petroleum Reserve, converted from thousand to million barrels.
Cushing crude: EIA API v2 series PET.W_EPC0_SAX_YCUOK_MBBL.W, ending crude stocks at Cushing, Oklahoma, converted to million barrels.
US weekly price context: EIA API v2 Henry Hub series NG.RNGWHHD.W and WTI Cushing series PET.RWTC.W.
European gas: GIE AGSI EU aggregate, gas in storage in TWh and storage fullness in percent. The daily source is sampled to one last-available observation per ISO week.
2. Five-year seasonal average
For observation week w in the current ISO week-year, StorageCurve finds week w in each of the five previous complete years and takes the arithmetic mean:
Five-year average(w) = [Y−1(w) + Y−2(w) + Y−3(w) + Y−4(w) + Y−5(w)] ÷ n
n is shown in the dataset and must be at least three. The current year is excluded. Week 53 is shown only where the source contains a matching observation.
3. Deficit, surplus, and weekly flow
The absolute deviation is current inventory minus the five-year average. The percentage deviation divides that difference by the average. A negative result is a seasonal deficit; a positive result is a surplus.
Weekly flow is the latest level minus the prior weekly level. StorageCurve also compares that change with the mean change for the matching week in the previous five years. This makes a 30 Bcf injection more useful than the number alone: it can be seen as faster or slower than normal for that point in the season.
4. Storage-pressure classification
The label is deterministic and based only on the latest percentage deviation from the five-year average:
- 10% or more below average: very tight
- 5% to 10% below: tight
- 2% to 5% below: slightly tight
- within 2%: balanced
- 2% to 5% above: slightly loose
- 5% to 10% above: loose
- 10% or more above: very loose
The numeric pressure score is −5 × deviation percent, limited to −100 through +100. Positive means tighter inventory; negative means looser inventory. The score is a normalized descriptor, not a probability or expected return.
5. Dates, revisions, and publication checks
Each metric has a data-through date, a source-check time, and a first-observed timestamp. The updater runs independently of page views, re-fetches source history, and atomically replaces the public JSON only after all required series validate. That lets EIA or GIE revisions replace prior observations without adding duplicate raw records.
GIE provides its own updatedAt timestamp. For EIA, the cron records when a newly dated observation is first seen. The source acknowledgment month/year is refreshed from that publication check. A failed provider request leaves the previous valid public dataset in place.
6. What the method excludes
Storage is only one part of supply and demand. The classification does not directly include weather, production, drilling, refinery runs, imports, exports, pipeline capacity, floating storage, LNG send-out, demand forecasts, futures positioning, interest rates, or geopolitical risk. Historical relationships can change. Use the dashboard to frame the physical balance, not to outsource an investment decision.
Source acknowledgments
Source: U.S. Energy Information Administration (Aug 2026). EIA Open Data.
Source: Gas Infrastructure Europe (GIE), AGSI. AGSI transparency platform.