Production Controls in Heavy Oil and Bitumen Markets: Surplus Transfer Due to Alberta’s Curtailment Policy
Bibliographic record
Abstract
In January 2019, the Canadian province of Alberta enacted limits on crude oil and bitumen production. These production controls, a policy referred to as curtailment, represent a shift for a government that historically avoided market intervention. The policy was designed to shrink a growing and prolonged price differential between the Western Canadian Select price of oil, the key benchmark for Alberta’s heavy oil production, and the West Texas Intermediate benchmark. The curtailment created artificial scarcity, shrinking the price differential from more than $40 USD per barrel in November 2018 to less than $15 USD per barrel in February 2019. In the process, this policy transferred market surplus from refiners, mainly those in the US Midwest, to producers in Alberta. We review this large-scale market intervention and calculate the magnitude of the economic transfer. We find the curtailment increased producer surplus by $659M CAD per month and reduced consumer surplus by $763M per month. At the margin, every $1 reduction in consumer surplus translates into a $0.71 gain in producer surplus. We further show that if the Government of Alberta’s objective was to maximize short-run producer surplus, it should further scale back production, setting the curtailment rate at 25% rather than the initial 8.7%.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.002 | 0.003 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.001 |
| Bibliometrics | 0.001 | 0.002 |
| Science and technology studies | 0.002 | 0.002 |
| Scholarly communication | 0.003 | 0.001 |
| Open science | 0.001 | 0.001 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.005 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".