Week 1 Outcomes: The Model Overshot
- Forecast: $120.16
- Actual (March 20 close): $106.41
- Error: $13.75 (12.9%)
- Naive baseline error: $7.50
- Skill score: -0.83
The naive baseline won. By a lot.
A model that literally does nothing, just says "tomorrow's price equals today's price", outperformed my scenario-weighted Monte Carlo simulation by $6.25. If you'd ignored my forecast entirely and used last week's close, you'd have been closer to reality.
That's the kind of result that makes you question whether you should be doing this at all. But that's exactly why the rules exist. No edits. No framing the errors away.
What Actually Happened
Brent opened the week at $100.21 (Monday March 17) and spent five days bouncing between $96.79 and $112.06. By Friday it closed at $106.41. The week told a clear story, but not the one my model expected.
| Date | Close | High | Low | Daily Vol |
|---|---|---|---|---|
| Mon 17 | $103.52 | $104.40 | $96.79 | — |
| Tue 18 | $106.17 | $106.79 | $96.79 | 9.4% |
| Wed 19 | $103.02 | $112.06 | $99.62 | 12.1% |
| Thu 20 | $106.41 | $107.29 | $100.48 | 6.4% |
Wednesday was the pivotal day. Iran attacked Gulf energy facilities. South Pars retaliation hitting Saudi refineries, Qatar's energy hub (17% LNG capacity down), Haifa refinery. Brent spiked to $112.06 intraday. Then Netanyahu pledged to halt Iranian energy strikes after Trump's angry reaction, and the price crashed back $9 in hours.
That single day revealed the pattern the model missed entirely.
The $110 Ceiling
Three times in one week, prices approached $110 and got rejected. The intraday peak of $112.06 lasted hours, not days. Every spike was met with either diplomatic intervention, strategic reserve releases, or market exhaustion.
This isn't random. There's an invisible hand. Some combination of IEA reserve coordination (400 million barrels being released), OPEC+ spare capacity signals, and political pressure actively suppresses prices above $110. The market wants to go higher. Something keeps pulling it back.
My Week 1 model had no ceiling. It assumed escalation could push prices to $135+ and sustain them there. Reality says: not yet.
Spike and Recovery: The Real Pattern
The model treated escalation as a one-way ramp. What actually happened was a spike and recovery cycle:
- Event triggers spike (Iran hits Gulf energy infrastructure)
- Price jumps 5-10% intraday
- Diplomatic/market response within hours
- Price recovers 60-70% of the spike by close
- Net movement: modest
This happened three times in Week 1. It's not noise. It's the dominant price mechanism in this war.
What the Model Got Right
- Direction: Correct. Prices moved up from $98.91 to $106.41
- Confidence intervals: All three captured the actual (50%, 68%, 90%). The intervals were wide enough to be useful
- Escalation dominance: The week was dominated by escalation events. The model was right about what would drive prices, wrong about the magnitude
What the Model Got Wrong
- No price ceiling: Assumed escalation = sustained ramp. Reality = spike then pullback
- Escalation weight too high at 45%: Should have been lower, with stalemate higher
- Single escalation scenario: Treated all escalation the same. Needed to distinguish between sustained escalation and spike and recovery events
- Ignored market structure: IEA reserves, OPEC+ signals, and diplomatic intervention actively cap prices. The model had no mechanism for this
Methodology Changes for Week 2
Based on what Week 1 taught:
1. Split escalation into two sub-scenarios
- Sustained escalation (40% of escalation weight): Prices ramp and hold. Trump ultimatum enforced, Strait stays closed
- Spike and recovery (60% of escalation weight): Event-driven spikes that partially reverse within 24-48 hours. This is what Week 1 actually showed us
2. Stalemate includes a $100-110 band The ceiling is real. Stalemate now has explicit floor ($100) and resistance ($110) with mean-reversion mechanics
3. Monte Carlo v2.0 Upgraded from 1,000 to 5,000 samples. Each scenario now has distinct price dynamics rather than just drift-plus-noise. The spike and recovery scenario explicitly models the intraday spike → diplomatic response → partial recovery pattern
The Honest Assessment
A negative skill score in Week 1 isn't fatal, but it's humbling. The model was directionally right and the intervals captured reality. Those are genuine positives. But the point estimate was closer to wishful escalation than evidence-based forecasting.
The biggest lesson
This war doesn't produce sustained price movements. It produces spikes that get actively managed back down. Until something breaks that pattern, a genuine supply destruction event that can't be papered over with reserves, the $100-110 range is the equilibrium.
If Week 2 also loses to the naive baseline, that's a pattern, not an accident.
Scored March 22, 2026. You can find the live dashboard here.
Next: Week 2 Forecast