Forecast scorecard
Most sites show forecasts and never check them. Here we write simple forecasts of provincial oil and gas production down before the data exists, then grade them against what the regulators later report. The methods are deliberately plain, so you can see how hard the problem really is.
The rules
- Forecasts are made from the latest published month and written to an append-only log. Each commit is dated by GitHub, so we cannot quietly rewrite one.
- A script, not a person, fills in the actual number when the month appears in the open data, and calculates the error.
- Errors are absolute percentage errors on the daily rate. The data can be revised after first publication; see Data revisions.
The three methods
- Seasonal trend. Same month last year, scaled by how the last 3 months compared with a year earlier.
- Same month last year. The value from the same month a year earlier, unchanged.
- Last month repeated. The most recent month, carried forward.
Live forecasts
54 forecasts logged, 0 graded, 54 waiting for data. Latest data used: 2026-09.
Latest batch (data through 2026-09), seasonal trend method. “Pending” means the regulator has not yet published that month.
| Series | Month | Forecast | Actual | Error |
|---|---|---|---|---|
| Alberta oil (thousand bbl/d) | 2026-10 | 2,675.5 | Pending | – |
| Alberta oil (thousand bbl/d) | 2026-11 | 2,738.7 | Pending | – |
| Alberta oil (thousand bbl/d) | 2026-12 | 2,696.8 | Pending | – |
| Alberta gas (MMcf/d) | 2026-10 | 14,000 | Pending | – |
| Alberta gas (MMcf/d) | 2026-11 | 14,805 | Pending | – |
| Alberta gas (MMcf/d) | 2026-12 | 16,407 | Pending | – |
| Saskatchewan oil (thousand bbl/d) | 2026-10 | 444.5 | Pending | – |
| Saskatchewan oil (thousand bbl/d) | 2026-11 | 461.3 | Pending | – |
| Saskatchewan oil (thousand bbl/d) | 2026-12 | 451.3 | Pending | – |
| Saskatchewan gas (MMcf/d) | 2026-10 | 326 | Pending | – |
| Saskatchewan gas (MMcf/d) | 2026-11 | 330 | Pending | – |
| Saskatchewan gas (MMcf/d) | 2026-12 | 319 | Pending | – |
| British Columbia oil (thousand bbl/d) | 2026-10 | 10.4 | Pending | – |
| British Columbia oil (thousand bbl/d) | 2026-11 | 9.7 | Pending | – |
| British Columbia oil (thousand bbl/d) | 2026-12 | 9.5 | Pending | – |
| British Columbia gas (MMcf/d) | 2026-10 | 8,567 | Pending | – |
| British Columbia gas (MMcf/d) | 2026-11 | 9,326 | Pending | – |
| British Columbia gas (MMcf/d) | 2026-12 | 9,183 | Pending | – |
Backtest
This part is calculated after the fact, not a live record: for every past month, each method forecasts 1 and 3 months ahead using only the data up to then, and we score it against what was reported. The history is short (monthly data from 2022), so treat the numbers as indicative.
| Series | Method | Months ahead | Mean error | Bias | Forecasts |
|---|---|---|---|---|---|
| Alberta oil | Seasonal trend | 1 | 3.0% | -0.0% | 42 |
| Alberta oil | Same month last year | 1 | 4.5% | -4.1% | 42 |
| Alberta oil | Last month repeated | 1 | 2.3% | -0.3% | 42 |
| Alberta oil | Seasonal trend | 3 | 3.3% | -0.2% | 40 |
| Alberta oil | Same month last year | 3 | 4.5% | -4.3% | 40 |
| Alberta oil | Last month repeated | 3 | 3.2% | -1.3% | 40 |
| Alberta gas | Seasonal trend | 1 | 3.1% | -0.1% | 42 |
| Alberta gas | Same month last year | 1 | 3.1% | -1.4% | 42 |
| Alberta gas | Last month repeated | 1 | 3.7% | +0.1% | 42 |
| Alberta gas | Seasonal trend | 3 | 3.4% | -0.5% | 40 |
| Alberta gas | Same month last year | 3 | 3.0% | -1.8% | 40 |
| Alberta gas | Last month repeated | 3 | 7.6% | -0.0% | 40 |
| Saskatchewan oil | Seasonal trend | 1 | 1.5% | -0.0% | 42 |
| Saskatchewan oil | Same month last year | 1 | 2.1% | +1.2% | 42 |
| Saskatchewan oil | Last month repeated | 1 | 1.6% | +0.1% | 42 |
| Saskatchewan oil | Seasonal trend | 3 | 1.9% | -0.1% | 40 |
| Saskatchewan oil | Same month last year | 3 | 2.2% | +1.3% | 40 |
| Saskatchewan oil | Last month repeated | 3 | 2.4% | +0.4% | 40 |
| Saskatchewan gas | Seasonal trend | 1 | 2.3% | +0.1% | 42 |
| Saskatchewan gas | Same month last year | 1 | 4.3% | +3.8% | 42 |
| Saskatchewan gas | Last month repeated | 1 | 1.8% | +0.3% | 42 |
| Saskatchewan gas | Seasonal trend | 3 | 2.6% | +0.3% | 40 |
| Saskatchewan gas | Same month last year | 3 | 4.4% | +4.0% | 40 |
| Saskatchewan gas | Last month repeated | 3 | 2.6% | +1.1% | 40 |
| British Columbia oil | Seasonal trend | 1 | 13.2% | +2.0% | 42 |
| British Columbia oil | Same month last year | 1 | 18.3% | +2.8% | 42 |
| British Columbia oil | Last month repeated | 1 | 9.1% | +1.1% | 42 |
| British Columbia oil | Seasonal trend | 3 | 20.7% | +2.6% | 40 |
| British Columbia oil | Same month last year | 3 | 17.9% | +1.7% | 40 |
| British Columbia oil | Last month repeated | 3 | 12.6% | +0.9% | 40 |
| British Columbia gas | Seasonal trend | 1 | 2.9% | +0.0% | 42 |
| British Columbia gas | Same month last year | 1 | 4.8% | -4.7% | 42 |
| British Columbia gas | Last month repeated | 1 | 3.5% | -0.1% | 42 |
| British Columbia gas | Seasonal trend | 3 | 3.1% | +0.2% | 40 |
| British Columbia gas | Same month last year | 3 | 4.8% | -4.7% | 40 |
| British Columbia gas | Last month repeated | 3 | 6.0% | -0.5% | 40 |
Bold marks the lowest mean error for each series and horizon. Bias is the average signed error; above zero means the method ran high.
What this shows
Across 12 series and horizon combinations the lowest error went to: last month repeated 6, seasonal trend 4, same month last year 2. Averaged over everything, the best method was last month repeated at 4.7% mean error (seasonal trend 5.1%, same month last year 6.1%). If a fancier method cannot beat these, it has not earned your trust.
One month ahead, last month repeated
The method with the lowest average error. Grey is the reported rate, dashed blue is the forecast made one month earlier.
Informational only, not investment, legal or engineering advice. Held to account by the commit history of the forecast log. Code: posts/scorecard.py.