dF/dt = D(t) − F/τ_f | dC/dt = F/τ_f − C/τ_c | dP/dt = C/τ_c − P/τ_x | Q(t) = P/τ_x Adjust the τ sliders to see how delays shift and broaden the production curve.
The Oil Shock Model
The Oil Shock Model (OSM) is a compartmental Markov-chain model that simulates oil production as reserves move through sequential pipeline stages. Developed by Paul Pukite, Dennis Coyne, and Dan Challou in Mathematical GeoEnergy (Wiley, 2019).
Each compartment transition is modeled as an exponential delay — the memoryless property of a Markov process. This converts the convolution integral into a tractable system of linear ODEs.
τ_f
τ_c
τ_x
Discovery Input
The discovery function D(t) is modeled as a sum of logistic growth pulses — first derivatives of the logistic function, producing bell-shaped curves:
D(t) = scale·k·e^{-k(t-t₀)} / (1 + e^{-k(t-t₀)})²
Two pulses represent the US: the conventional onshore era (~1930–1970) and the offshore + shale era (~2010–2020).
Parameter Guide
τ_f (Fallow delay): Years between discovery and start of development drilling. Typically 3–10 years for conventional oil.
τ_c (Construction): Time to drill wells and build surface infrastructure. Typically 2–6 years.
τ_x (Extraction): Mean time to deplete producing reserves — the inverse of the decline rate. Longer τ_x → more gentle long-term production plateau.
Data Source
Observed data from the US Energy Information Administration (EIA), annual crude oil production 1900–2023, in gigabarrels per year (Gb/yr = 10⁹ barrels/yr).
Source code available at github.com/pukpr/OilShockModel.