Methodology
SCOPE is a spatial price equilibrium model of the global crude oil market. It builds on a classical framework from trade economics: the idea that prices across geographically separated markets are linked by transport costs, and that trade flows adjust until no profitable arbitrage opportunity remains.
The core insight is simple: if oil costs $60/bbl in the Persian Gulf and shipping to Rotterdam costs $3/bbl, then the Rotterdam price cannot exceed $63/bbl — otherwise someone would ship more oil until the gap closes. SCOPE computes exactly this equilibrium, but for every field, refinery, pipeline, and shipping lane on Earth, simultaneously.
The Samuelson–Takayama–Judge Framework
The model follows the spatial price equilibrium (SPE) formulation first proposed by Samuelson (1952) and later extended to a full linear programming framework by Takayama & Judge (1964, 1971). The key idea: maximising total social surplus — the sum of consumer willingness-to-pay minus all costs — simultaneously determines the optimal trade flows and equilibrium prices.
Each day, SCOPE solves a linear program (LP) that chooses how much each field produces, how much each refinery consumes, and how oil flows through the network. The objective is:
Equilibrium prices are not computed separately — they emerge automatically as the dual variables (shadow prices) of the LP's flow-balance constraints. This is elegant: a single optimisation produces quantities, flows, and prices all at once.
What SCOPE Adds: Physical Realism
The classical SPE framework assumes instantaneous trade. SCOPE adds a physical layer that respects the fact that oil moves through a real network — tankers take days or weeks to cross oceans, pipelines have capacity limits, and straits can be blocked.
Economic Layer
A welfare-maximising LP solved daily, determining:
- Production levels at each oil field
- Consumption at each refinery
- Flow volumes on every edge
- Equilibrium prices (via duals)
- Storage draw and injection
Physical Layer
A minimum-cost flow problem that translates the LP's abstract flows into concrete shipments:
- Which field supplies which refinery
- Tanker dispatch with multi-day travel times
- Cargo rerouting when straits close
- Pipeline and port capacity constraints
The physical layer solves a second optimisation: a minimum-cost flow problem that assigns specific origin–destination pairs to tanker cargoes. This decomposition keeps both problems tractable — the economic LP determines how much oil moves; the dispatch problem determines whose oil goes where.
Daily Simulation Loop
Each simulated day proceeds in four steps:
1. Advance shipments — tankers in transit move closer to their destination;
arriving cargoes are delivered to refineries.
2. Solve the economic LP — determines today's optimal flows, production,
consumption, and prices across the entire network.
3. Dispatch cargoes — the min-cost flow assigns oil from fields to
refineries and places tanker cargoes on shipping lanes with realistic travel times.
4. Update storage — refineries draw from or inject into strategic and
commercial reserves based on market conditions.
Supply and Demand Curves
Each refinery has a downward-sloping demand curve, and each field has an upward-sloping supply curve. These are calibrated using empirical price elasticities from Caldara, Cavallo & Iacoviello (2019).
The demand curve is discretised into 50 "staircase" steps — a standard technique from Takayama & Judge that converts what would be a quadratic objective (integrating under a linear demand curve) into a pure linear program. The solver fills higher-value steps first, naturally reproducing the downward-sloping demand behaviour.
Similarly, supply above base production is modelled as a 5-step rising marginal cost staircase, reflecting the increasing cost of activating spare capacity.
What We Did Not Do
SCOPE deliberately stays close to the established Samuelson–Takayama–Judge framework. We did not introduce futures markets, strategic inventory games, or OPEC decision models. The model is a competitive equilibrium — every agent is a price-taker, and the market clears through the LP.
The value lies not in a novel economic mechanism, but in the spatial detail: 2,500+ oil fields, 574 refineries, 28,000+ shipping lane nodes, and 90,000+ network edges, all interacting simultaneously through real geography. When a strait closes, the model doesn't estimate the price impact — it computes exactly how oil reroutes through alternative paths and what that costs.
Sentiment and Speculative Behaviour
While the core model is a competitive equilibrium driven by fundamentals, real oil markets are also influenced by news and speculation. A headline about rising tensions in the Persian Gulf can move prices before any physical disruption occurs — traders adjust their willingness to pay based on perceived risk, not just current supply and demand.
To capture this, SCOPE includes an optional sentiment layer. Users can inject news headlines into the simulation, which are scored by a large language model (LLM) acting as an oil trader. The LLM estimates the expected percentage impact on crude oil prices — for instance, a headline about OPEC production cuts might be scored as +3% (bullish), while news of a ceasefire might score −2% (bearish).
Mechanically, the sentiment score shifts the demand intercept — the maximum willingness-to-pay of refineries. A bullish headline increases each refinery's willingness to pay, which pushes equilibrium prices up through the LP's dual variables. This is equivalent to a temporary upward shift in the demand curve. The effect decays exponentially over time with a configurable half-life (default: 5 days), reflecting the empirical observation that speculative price reactions are transient and mean-reverting.
Multiple headlines stack additively, allowing the model to simulate compounding news cycles. This feature does not replace the fundamental equilibrium — it perturbs it, capturing the short-term overshooting and undershooting that characterise real commodity markets.
References
Samuelson, P.A. (1952). "Spatial Price Equilibrium and Linear Programming."
American Economic Review, 42(3), 283–303.
Takayama, T. & Judge, G.G. (1964). "Equilibrium Among Spatially Separated Markets:
A Reformulation." Econometrica, 32(4), 510–524.
Takayama, T. & Judge, G.G. (1971). Spatial and Temporal Price and Allocation Models.
North-Holland.
Caldara, D., Cavallo, M. & Iacoviello, M. (2019). "Oil Price Elasticities and Oil Price
Fluctuations." Journal of Monetary Economics, 103, 59–78.