Analytics
Detailed outputs for forecasting, storage dispatch, PPA hedging, and capture — with uncertainty ranges where available.
Last updated 19 Aug 2026, 14:00
Day-Ahead Forecast (next 24h)
hybrid_da_forecast
Point estimate
€115.82/MWh
medium confidence · 200 paths
Quantiles
- P10
- €94.41/MWh
- P50
- €115.82/MWh
- P90
- €137.11/MWh
Key metrics
- n samples
- 31750.0000
- residual std
- 21.1900
- train mae
- 11.8610
- test mae
- 13.3730
Explanation & assumptions
{
"method": "structural_merit_order + LEAR_elasticnet_residual",
"ood_gate": {
"triggered": false,
"distance": 2.4748,
"threshold": 4,
"confidence_cap": "medium",
"reason": "within_training_hull"
},
"capacity_delta_mw": 0
}Capture w/ +storage (counterfactual)
capture_causal
Point estimate
0.9196
low confidence · 4 paths
Quantiles
- P10
- 0.9195
- P50
- 0.9196
- P90
- 0.9197
Key metrics
- base negative hour ratio
- 0.0071
- cf negative hour ratio
- 0.0071
- base daily spread
- 251.1400
- cf daily spread
- 251.1300
- base capture rate
- 0.9195
- cf capture rate
- 0.9196
- capture uplift
- 0.0001
- spread reduction proxy
- 0.0306
Explanation & assumptions
{
"module_tier": "advisory",
"headline_track": "structural_counterfactual_simulation",
"audit_track": "double_ml_partial_effect + shift_share_iv",
"dml_theta_spread_per_bess_ratio": -20348.7618,
"dml_se": 4203.0931,
"iv_first_stage_corr": -0.8427,
"assumption": "storage_reduces_negative_hours_and_spreads",
"ood": {
"triggered": true,
"distance": 10.1532,
"threshold": 4,
"confidence_cap": "low",
"reason": "zscore_exceeds_threshold"
},
"bess_delta_mw": 15,
"bess_delta_requested_mw": 30,
"tracks_agree": false,
"identification_note": "single_bidding_zone_advisory_only"
}15-min Paths (168h)
qh_generator
Point estimate
€124.69/MWh
medium confidence · 20 paths
Quantiles
- P10
- €52.52/MWh
- P50
- €124.69/MWh
- P90
- €173.95/MWh
Key metrics
- qh points per path
- 672.0000
- n paths
- 50.0000
Explanation & assumptions
{
"method": "conditional_block_bootstrap + gaussian_copula_coupling",
"granularity": "PT15M",
"fundamental_conditioning": true
}BESS Dispatch (model)
bess_dispatch
Point estimate
€587.76
medium confidence · 20 paths
Quantiles
- P10
- €-10.77k
- P50
- €587.76
- P90
- €18.16k
Key metrics
- expected value eur
- 587.7600
- realistic value p50 eur
- 587.7600
- perfect foresight p50 eur
- 25198.1300
- foresight gap mean
- 23372.8000
- realistic pct of perfect
- 2.3300
- n scenarios
- 50.0000
Explanation & assumptions
{
"policy": "rolling_da_lp_soc_cycle_limits",
"headline_track": "realistic_rolling_da",
"upper_bound_track": "perfect_foresight_lp",
"foresight_gap_mean": 23372.8,
"constraints": "soc_power_efficiency_max_cycles_per_day"
}PPA Tail Risk
ppa_tail
Point estimate
85%
medium confidence · 12 paths
Quantiles
- P10
- 30%
- P50
- 85%
- P90
- 85%
Key metrics
- optimal sold fraction
- 0.8500
- expected pnl
- 1318835.7700
- cvar 5
- 1119027.3100
- shortfall probability
- 0.0000
- tail low gen high price freq
- 0.2000
- n scenarios
- 200.0000
Explanation & assumptions
{
"objective": "maximize mean_pnl + 0.5*cvar_5 - shortfall_penalty",
"risk_measures": [
"CVaR_Rockafellar_Uryasev",
"shortfall_probability"
],
"paths": "copula_coupled_joint_scenarios"
}Crisis Alpha (advisory)
crisis_alpha
Point estimate
€21.78k
medium confidence · 10 paths
Quantiles
- P10
- €7.94k
- P50
- €21.78k
- P90
- €32.93k
Key metrics
- base policy value
- 5095.7300
- enhanced policy value
- 26876.9800
- alpha uplift
- 21781.2500
- mean foresight gap
- 21781.2500
- crisis conditional gap
- 21843.5800
Explanation & assumptions
{
"module_tier": "advisory",
"method": "value_of_information_foresight_gap",
"crisis_definition": "low_wind_and_low_solar",
"crisis_hour_ratio": 0.0143,
"forecast_error_mean": -0.114,
"forecast_error_std": 11.055,
"literature_bound_pct": "1-8pct_perfect_foresight_overstatement",
"validation": "requires_out_of_sample_by_crisis_type",
"degenerate_reasons": [],
"trustworthy": true
}