US petroleum inventory deviation intelligence (weekly)
Agent-built weekly intelligence over the EIA Weekly Petroleum Status Report's three headline stock series (keyless dnav workbooks): commercial crude oil excluding SPR, total motor gasoline, and distillate fuel oil. Each product-week carries week-over-week, 4-week and year-over-year build/draw momentum in thousand barrels and percent; position versus a 5-year seasonal band (same-week peers at 52-week lags) with a documented 0-100 inventory-level score, band flags and 5-year record flags; and days of supply from a 4-week average of the matching demand flow (refiner net crude input for crude, product supplied for gasoline and distillate). Trailing 5-year panel of Friday-ending weeks, US national total. Caveats: the latest week is routinely revised in the next WPSR release; days of supply is a stocks/flow ratio, not a forecast. U.S. EIA data are U.S. federal public domain (commercial reuse allowed).
- Rows
- 783
- Columns
- 27
- Source cadence
- Weekly
- Last refreshed
- Sep 27, 2026
- Theme
- energy
| Column | Type | Description |
|---|---|---|
| week_ending | string | Friday week-ending date of the EIA petroleum week, ISO format. The panel covers the trailing 261 weeks (5 years). (unit: ISO date) |
| country_code | string | ISO alpha-3 country code (USA for every row). (unit: ISO 3166-1 alpha-3) |
| product_code | string | Stable product code: commercial_crude, total_gasoline, or distillate. Primary join key with week_ending. |
| product_name | string | Human-readable product name. |
| stocks_kbbl | integer | Published U.S. ending stocks for the week: commercial crude oil excluding SPR (WCESTUS1), total motor gasoline (WGTSTUS1), or distillate fuel oil (WDISTUS1). (unit: thousand barrels) |
| wow_change_kbbl | integer | Week-over-week change in stocks (build positive, draw negative). (unit: thousand barrels) |
| wow_change_pct | float | Week-over-week percent change in stocks. (unit: percent) |
| w4_change_kbbl | integer | 4-week change in stocks — the build/draw momentum signal. (unit: thousand barrels) |
| w4_change_pct | float | 4-week percent change in stocks. (unit: percent) |
| yoy_change_kbbl | integer | Year-over-year change in stocks (vs 52 weeks earlier). (unit: thousand barrels) |
| yoy_change_pct | float | Year-over-year percent change in stocks. (unit: percent) |
| seasonal_avg_kbbl | float | Mean of the same-week peers at 52-week lags (t-52w .. t-260w, minimum 4 of 5 present) — the 5-year seasonal average for this time of year. (unit: thousand barrels) |
| seasonal_min_kbbl | integer | Minimum of the 5-year seasonal peer set: the bottom of the seasonal band. (unit: thousand barrels) |
| seasonal_max_kbbl | integer | Maximum of the 5-year seasonal peer set: the top of the seasonal band. (unit: thousand barrels) |
| seasonal_deviation_pct | float | Percent deviation of current stocks from the 5-year seasonal average (positive = above normal). (unit: percent) |
| band_position | float | Position of current stocks within the 5-year seasonal [min, max] band: 0 = at/below the seasonal low, 1 = at/above the seasonal high, clipped to [0, 1]. Null when the band is degenerate (min == max) or the peer set is incomplete. (unit: 0-1 ratio) |
| inventory_level_score | float | Documented 0-100 composite = 100 * band_position. 0 = at/below the 5-year seasonal low (very tight), 100 = at/above the 5-year seasonal high (very loose/oversupplied). (unit: 0-100 score) |
| seasonal_band_flag | string | above_max when stocks exceed the 5-year seasonal maximum, below_min when under the seasonal minimum, within otherwise; null when the peer set is incomplete. |
| record_high_5yr_flag | integer | 1 when stocks are at or above the 5-year seasonal maximum; null when the peer set is incomplete. (unit: binary) |
| record_low_5yr_flag | integer | 1 when stocks are at or below the 5-year seasonal minimum; null when the peer set is incomplete. (unit: binary) |
| demand_4wk_avg_kbd | float | Trailing 4-week mean of the matching demand flow: refiner net input of crude oil (WCRRIUS2) for crude, product supplied (WGFUPUS2 / WDIUPUS2) for gasoline and distillate. (unit: thousand barrels per day) |
| days_of_supply | float | Stocks divided by the 4-week average demand flow — the same construction EIA uses for WPSR days of supply. A stocks/flow ratio, not a forecast. (unit: days) |
| build_draw_flag | string | build when the week-over-week change is positive, draw when negative, flat when zero. |
| eia_stocks_series | string | EIA dnav series id of the stocks series (WCESTUS1, WGTSTUS1, or WDISTUS1). |
| eia_demand_series | string | EIA dnav series id of the demand-flow series (WCRRIUS2, WGFUPUS2, or WDIUPUS2). |
| source_url | string | Exact keyless dnav workbook URL the stocks series was fetched from (provenance). |
| row_hash | string | Deterministic 16-hex row hash of product_code + week_ending (idempotency). |
First 10 sample rows — a preview, not the complete dataset.
| week_ending | country_code | product_code | product_name | stocks_kbbl | wow_change_kbbl | wow_change_pct | w4_change_kbbl | w4_change_pct | yoy_change_kbbl | yoy_change_pct | seasonal_avg_kbbl | seasonal_min_kbbl | seasonal_max_kbbl | seasonal_deviation_pct | band_position | inventory_level_score | seasonal_band_flag | record_high_5yr_flag | record_low_5yr_flag | demand_4wk_avg_kbd | days_of_supply | build_draw_flag | eia_stocks_series | eia_demand_series | source_url | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2021-09-24 | USA | commercial_crude | Commercial crude oil | 418,542 | 4,578 | 1.106 | -6,853 | -1.611 | -73,884 | -15.004 | 450,620.6 | 403,964 | 492,426 | -7.119 | 0.165 | 16.479 | within | 0 | 0 | 14,862.75 | 28.16 | build | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | 3ffa958243b6bdbc |
| 2021-10-01 | USA | commercial_crude | Commercial crude oil | 420,887 | 2,345 | 0.56 | -2,980 | -0.703 | -72,040 | -14.615 | 452,924.2 | 409,951 | 492,927 | -7.073 | 0.132 | 13.18 | within | 0 | 0 | 15,223.25 | 27.648 | build | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | 9b49417b085471d2 |
| 2021-10-08 | USA | commercial_crude | Commercial crude oil | 426,975 | 6,088 | 1.446 | 9,530 | 2.283 | -62,134 | -12.704 | 453,119.2 | 416,441 | 489,109 | -5.77 | 0.145 | 14.496 | within | 0 | 0 | 15,391.75 | 27.741 | build | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | 0174404b7c818980 |
| 2021-10-15 | USA | commercial_crude | Commercial crude oil | 426,544 | -431 | -0.101 | 12,580 | 3.039 | -61,563 | -12.613 | 453,908.8 | 422,787 | 488,107 | -6.029 | 0.058 | 5.752 | within | 0 | 0 | 15,302.5 | 27.874 | draw | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | 8490ef0ab9d49023 |
| 2021-10-22 | USA | commercial_crude | Commercial crude oil | 430,812 | 4,268 | 1.001 | 12,270 | 2.932 | -61,615 | -12.513 | 458,953.6 | 426,004 | 492,427 | -6.132 | 0.072 | 7.238 | within | 0 | 0 | 15,210.75 | 28.323 | build | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | 0df942bff112f86f |
| 2021-10-29 | USA | commercial_crude | Commercial crude oil | 434,102 | 3,290 | 0.764 | 13,215 | 3.14 | -50,327 | -10.389 | 461,030.2 | 431,787 | 485,010 | -5.841 | 0.043 | 4.35 | within | 0 | 0 | 15,030.5 | 28.881 | build | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | fdc91ba66025688e |
| 2021-11-05 | USA | commercial_crude | Commercial crude oil | 435,104 | 1,002 | 0.231 | 8,129 | 1.904 | -53,602 | -10.968 | 465,809 | 442,057 | 490,284 | -6.592 | 0 | 0 | below_min | 0 | 1 | 15,106.75 | 28.802 | build | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | 3a6a7bb41fc91422 |
| 2021-11-12 | USA | commercial_crude | Commercial crude oil | 433,003 | -2,101 | -0.483 | 6,459 | 1.514 | -56,472 | -11.537 | 466,586.8 | 446,908 | 489,475 | -7.198 | 0 | 0 | below_min | 0 | 1 | 15,208.5 | 28.471 | draw | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | bce48b8ef0e4aa05 |
| 2021-11-19 | USA | commercial_crude | Commercial crude oil | 434,020 | 1,017 | 0.235 | 3,208 | 0.745 | -54,701 | -11.193 | 466,603.2 | 450,485 | 488,721 | -6.983 | 0 | 0 | below_min | 0 | 1 | 15,356.5 | 28.263 | build | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | 9c924aa905f5cb78 |
| 2021-11-26 | USA | commercial_crude | Commercial crude oil | 433,111 | -909 | -0.209 | -991 | -0.228 | -54,931 | -11.255 | 462,431.8 | 443,162 | 488,042 | -6.341 | 0 | 0 | below_min | 0 | 1 | 15,508.5 | 27.927 | draw | WCESTUS1 | WCRRIUS2 | https://www.eia.gov/dnav/pet/hist_xls/WCESTUS1w.xls | a60010355f8d9a46 |
- Current
20260927T144008Z-4c4507e1f245 · sha256 4c4507e1f245…
783 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/eia_petroleum_inventory_intel/us_petroleum_inventory_deviation_weekly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/eia_petroleum_inventory_intel/us_petroleum_inventory_deviation_weekly").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/eia_petroleum_inventory_intel/us_petroleum_inventory_deviation_weekly
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20260927T144008Z-4c4507e1f245 and its content hash, so readers get exactly the data you used.
U.S. Energy Information Administration. (2026). US petroleum inventory deviation intelligence (weekly) [Data set, snapshot 20260927T144008Z-4c4507e1f245, sha256 4c4507e1f245]. Datazimuts. Retrieved 2026-09-27, from https://datazimuts.com/en/datasets/eia_petroleum_inventory_intel/us_petroleum_inventory_deviation_weekly?snapshot=20260927T144008Z-4c4507e1f245
@misc{dz_eia_petroleum_inventory_intel_us_petrole_4c4507e1,
title = {{US petroleum inventory deviation intelligence (weekly)}},
author = {{U.S. Energy Information Administration}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/eia_petroleum_inventory_intel/us_petroleum_inventory_deviation_weekly?snapshot=20260927T144008Z-4c4507e1f245}},
note = {Snapshot 20260927T144008Z-4c4507e1f245, sha256 4c4507e1f2459a370ddc2d1df4327f6612829b2aa0a3eaeedf0e25c1e32b8938; accessed 2026-09-27}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=eia_petroleum_inventory_intel%2Fus_petroleum_inventory_deviation_weekly&lang=en&theme=auto&snapshot=20260927T144008Z-4c4507e1f245&x=week_ending&y=stocks_kbbl&agg=avg" title="US petroleum inventory deviation intelligence (weekly)" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.