Show HN: I simulated closing the Strait of Hormuz on real oil trade data (globaloilnetwork.staffinganalytics.io)

244 points by eliotho ↗ HN
OP here: I created this visualization tool as the byproduct of a supply chain class I taught at Columbia. The pedagogical exercise grew into a full blown visualization and paper about global oil trade.

The model: The mechanics are the same as the financial network Eisenberg-Noe: Instead of banks, every country consumes oil interconnected via bilateral trading. Shocks propagate throughout the network, depleting oil reserves when bottleneck nodes (such as the Strait of Hormuz) are blocked.

Insights: The interesting part is the mechanics of how the crisis unfolds: for example, France receives 0 oil from Hormuz directly, yet their reserves are depleted faster because other countries reactively increase their safety oil stock, increasing oil price, making stockouts more expensive for everyone.

The model also gives price dynamics which are interesting on their own: the price increase is not immediate, it follows sequentially as countries reserves deplete.

Some caveats: 1. For producer nodes, depletion means their export slack is reduced/exhausted. 2. No sanctioned trade (UN Comtrade data)

Technical Details: The visualization is 600 lines of flask plus js frontend (LLM assisted visualization with ground-truth matching the original numerical exercise of the paper)

Paper with proofs/theory: https://arxiv.org/abs/2607.17491

31 comments

[ 3.7 ms ] story [ 54.3 ms ] thread
(comment deleted)
What concrete predictions does your model make?

What developments in pricing/other would indicate that your model is wrong or incomplete?

Nice website regardless, but I'm a bit skeptical that the dynamics of the global oil/energy market can be accurately predicted.

(comment deleted)
I really do appreciate the effort but the data doesn’t reflect current conditions, and it’s falsified given it’s been virtually closed for months, certainly the same as 30% throughout that is the models default parameter, and we didn’t see ex. prices at $150/barrel 3 weeks in, or a host of other things it predicts.

EDIT: I’m not saying it doesn’t matter the strait is closed - it does! - it’s just, what are we to do with a model that generically tells us oil barrel prices is at $150 3 weeks in, when we are months in?

Very interesting. Here in India people were very concerned about potential cooking gas shortages (LPG) when the disruptions began which is also a good example of usually-overlooked dependencies on the the Strait
Are emergency stockpiles calculated correctly? China should not be the first to be exposed.
What modelling approach are you using, and where can I learn more about it? Really cool, btw.
But in reality this won’t happen, because China won’t be happy and will force Iran to a deal like last time or they will lose all the parts and intelligence tech they are providing to them.
Very cool. I'll def check this out more later on.
I don't know if I'm doing something wrong, but if I set Capacity Retained to 100% then no matter what I set the other values to a bunch of countries deplete their reserves.

This feels wrong; but I'm inclined to think I'm missing something.

Good stuff.

Maybe you can make a playback speed option for the simulation/play button? I fail to follow up.

An interesting fact to consider is that the US stockpile (the Strategic Petroleum Reserve) is reported as the total of sour (high sulfur) and sweet (low sulfur) crude oil. The sweet stock makes up about 1/3 of the reserve and hardly varies at all. This is because US refineries are virtually all configured for sour crude: due to a mistaken belief in the 1990s that sweet crude was running out, the industry bet the farm on sour crude refining, and if sour crude runs low, it's extremely economical to switch.

As a result, almost all the draw from the SPR is of sour crude (currently ~5 million barrels/week). However, you can't just use up all the reserve because as levels get lower brine must be pumped into the storage chambers to retain pumping pressure, and the more brine that is pumped, the more the output quality declines.

The weekly reports indicate a total in the SPR of about 300mbb, of which ~100 are sweet and 200 sour. But for the reasons above, output becomes unusable one the sour levels fall to ~140-150mbb, at which point there is almost certainly a severe diesel supply shock. At current drawdown rates, that would be sometime around October/November, right in the middle of harvest season when demand for diesel is highest.

There's more complexity to this than I want to type out in a HN comment, but not that much more. Draw your own conclusions.

(comment deleted)
This is very interesting, and it shows why the Strait is urgently in need of a back up. I don't know what that would be or what would be feasible, but I've seen a lot of people talk about an underground pipe.
Nice that you allowed readers to customize the parameters! I personally thought the demand demand elasticity was too low and I was able to adjust it.
The biggest missing piece is China. Assuming actual delivered price is not subsidized by Western countries, you need to put in what if China demands that reflect the current price. Chinese in reality don't consume that much oil as what we thot they do from the oil purchases in the past. I assume Chinese just ramp down the purchase even though their consumption is well below that. Plus the hidden supplies from Iran and Russia to China via land route.
OP, please add India as a shock target option if possible. It imports close to 80+% of its crude oil and gas requirements and is highly vulnerable to oil flow shocks.
Why do reserves deplete with 100% of the strait open?
Something seems to be wrong with the simulation: some countries run on reserves, and out of them, even with 100 % delivery.

OP blames "Market elasticity parameters" for that, but they should offer a reasonable reset, or shouldn't they even oversteer towards filling up tanks, not clearing them out of no supply shock is seen?

Maybe I missed it looking over the paper, or maybe they are implicit, but are you taking into account Saudi Arabia’s East-West Crude Oil Pipeline (Petroline) , I believe it does about ~7m bpd and Habshan-Fujairah (Abu Dhabi Crude Oil Pipeline / ADCOP) about ~1.5m bpd? If not you might be underestimating things, though they do take a bit of a warmup to get into capacity, and can't match completely Hormuz's flow.
This is really interesting. Investment firms could incorporate this kind of simulation into their products.
btw this website tracks actual ships passing though (vs not)

click on YTD for the shock of what's coming by the end of this year

100+ per day vs 5-10 per day, you can see the tiny cease-fire and when it ended

* https://en.macromicro.me/charts/94482/imf-strait-of-hormuz-n...

* https://i.imgur.com/fDmbaPa.png

oh and Strategic Oil Reserve is about to bottom out to the point where any lower brings permanent damage, imagine this going on through 2029 because you cannot "bomb your way to peace"