VIVO Price

Methodology &
Price Forecasting

Why Monte Carlo simulation outperforms deterministic models for storage valuation — and how VIVO generates the hourly price scenarios that power the analysis.

Investment Analysis

The “average day” never happens

A deterministic model uses one hourly price curve — the same profile repeats every day of the month. The average hourly prices may be correct. But for storage, what matters is not the average — it is the daily variation around that average.

100 MW / 200 MWh battery, 85% round-trip efficiency. Same average hourly prices in all cases.

Deterministic: same day, every day

Every day
20
70
Spread: 50
7,900 EUR

Always the same spread, always the same revenue. Neat, predictable — and wrong.

Monte Carlo: every day is different

Day 1
0
90
Spread: 90
15,300 EUR
Day 2
40
50
Spread: 10
0 EUR
Day 3
10
70
Spread: 60
9,900 EUR

Same average prices. Higher captured revenue.

Avg: 8,400 EUR

Same average, more revenue

A deterministic model gives you one hourly price profile — the off-peak hour is always 20 EUR/MWh, the peak hour is always 70 EUR/MWh, every single day. The average may be correct. But in reality, no two days are the same. Some days the spread is 90, some days it is 10, some days prices go negative.

With round-trip efficiency of 85%, every charge-discharge cycle has losses. This creates two effects that a single curve cannot capture:

  • 1.High-spread days are worth disproportionately more. When prices go from 0 to 90 EUR/MWh, the battery charges for free and sells at full price — losses barely matter. Revenue: 15,300 EUR. The “average day” with a 50 EUR spread only yields 7,900.
  • 2.Low-spread days are skipped, not averaged in. When the spread is only 10 EUR/MWh (40/50), round-trip losses eat all the margin. The optimizer does nothing — revenue: 0 EUR. But the deterministic model assumes a profitable cycle every single day.

The result: Monte Carlo captures more revenue than the deterministic model — because the gain from high-volatility days more than compensates for the days the battery sits idle. In the example: 8,400 vs 7,900 EUR/day, a 6% difference that compounds over 25 years.

Key insight: A deterministic model underestimates storage revenue because it forces the battery to cycle at the same mediocre spread every day. In reality, the optimizer skips bad days and fully exploits the best ones — and this asymmetry always works in storage's favor.

Deterministic vs. Monte Carlo

Deterministic
Monte Carlo (BESO)
Price input
One hourly curve, same every day
Hundreds of different daily patterns
Daily spreads
Fixed — same peak/off-peak every day
Variable — some days 90, some days 10
Round-trip losses
Hidden — average spread always clears
Realistic — optimizer skips low-spread days
Storage optionality
Ignored — cycles every day equally
Captured — selects best days to cycle
Risk assessment
One number — no risk visibility
P10 / P50 / P90, VaR, CVaR, Sharpe
Investment decision
"Is the NPV positive?"
"What is the probability of a positive NPV?"

Three reasons to use Monte Carlo

Beyond better revenue estimation, Monte Carlo fundamentally changes how you evaluate and manage energy storage investments.

Daily Volatility Drives Revenue

Same average prices, very different outcomes

A deterministic model repeats the same hourly profile every day. But in reality, some days have spreads of 90 EUR/MWh and others barely 10. With round-trip efficiency losses of 15%, the battery needs a minimum spread to break even — on low-spread days it sits idle, on high-spread days it captures far more than the "average" suggests. Only by simulating many different daily patterns can you capture this asymmetry.

Storage has optionality: it selects the best days to cycle. A single curve cannot represent this.

The Math

100 MW / 200 MWh, 85% RT eff. Net = 170 MWh × sell − 200 MWh × buy

Deterministic (20/70)7,900 EUR/day
Day A (0/90) — wide15,300 EUR
Day B (40/50) — narrow0 EUR
Day C (10/70) — medium9,900 EUR
MC average8,400 EUR/day

Day B: 10 EUR spread doesn't cover 15% losses → optimizer skips it. Day A: charges for free, captures 15,300. MC captures 6% more.

Risk Is Quantifiable

From "what is the NPV" to "what is the probability distribution of NPV"

A single NPV number tells you nothing about risk. Monte Carlo simulation produces a full probability distribution of outcomes. You can answer questions that matter for investment committees: What is the worst-case scenario at 90% confidence (P10)? What is the expected loss in the bottom tail (CVaR)? How does the risk-adjusted return compare to alternatives (Sharpe)?

Monte Carlo transforms a point estimate into a risk-aware decision framework.

Risk Metrics Available

P10 / P50 / P90

NPV, IRR, and revenue at any percentile

Value at Risk (VaR)

Worst-case loss at a confidence level

CVaR (Expected Shortfall)

Average loss in the worst tail

Sharpe Ratio

Risk-adjusted return vs. benchmark

Convergence (SE%)

Confidence that results are stable

Better Decisions Under Uncertainty

Sensitivity to assumptions, not sensitivity to luck

When you run hundreds of scenarios, you discover which assumptions matter. Maybe your project is robust to price level changes but fragile to volatility shifts. Maybe a PPA contract changes the risk profile dramatically. These insights are invisible in a deterministic framework where you only see one outcome — and you cannot tell whether that outcome is probable or merely possible.

Monte Carlo reveals what drives value, not just what value is.

Questions You Can Answer

What is the probability that this project achieves a positive NPV?

How sensitive is the IRR to degradation vs. price volatility?

Does a PPA contract reduce downside risk enough to justify the lower upside?

At what battery size does the risk-adjusted return peak?

What is the optimal BESS configuration for a given risk tolerance?

Monte Carlo simulation is only as good as the price scenarios it runs. Below is how VIVO Price generates the hourly curves that power the analysis.

End-to-End Pipeline

From fundamentals to bankable price curves

Five integrated stages transform raw market fundamentals into calibrated hourly price profiles ready for investment analysis.

Hydrothermal CoordinationSeasonal
Unit CommitmentHourly
Monte Carlo SimulationN paths
Segmentation & EnrichmentSelection
Futures CalibrationWeighting
Stage 1

Hydrothermal Coordination

Seasonal optimization of hydro resources

The first stage employs a hydrothermal coordination optimization model at the seasonal level. This captures the management of both run-of-river and reservoir-based hydro resources, considering their physical and operational constraints, seasonal variability, and interdependence with the rest of the generation mix.

Reservoir management decisions made at this stage — when to store water vs. generate — have cascading effects on hourly prices throughout the year. By solving this at the seasonal scale first, the model correctly represents the intertemporal tradeoffs that drive mid-term price dynamics.

Key Capabilities

  • Run-of-river & reservoir modeling
  • Physical & operational constraints
  • Seasonal variability patterns
  • Generation mix interdependence
  • Water value optimization

Modeled Elements

  • Hourly dispatch optimization
  • Thermal unit constraints (ramps, min load)
  • Non-dispatchable renewable integration
  • Interconnection flows
  • Storage system dispatch
  • Start-up and shut-down costs
Stage 2

Unit Commitment

Hourly resolution operational model

Building on the seasonal hydro decisions, a unit commitment optimization model with hourly resolution provides detailed operational analysis of the power system. This model determines which generators run each hour, their output levels, the use of transnational interconnection capacity, and the resulting marginal price — capturing the full complexity of real market price formation.

The integration of variable renewable energy sources (solar PV, wind), storage systems, and cross-border interconnections is explicitly modeled, reflecting their growing impact on hourly price patterns, including duck curves, negative price periods, evening ramps, and the influence of international power exchanges on domestic market outcomes.

Stage 3

Monte Carlo Simulation

Capturing uncertainty across all fundamental variables

Both the hydrothermal and unit commitment models are powered by Monte Carlo simulations that capture the inherent uncertainty in the system's key fundamental variables. All parameters are characterized using statistical functions or stochastic processes, calibrated with historical data and forward-looking scenarios.

Electricity Demand

Hourly demand evolution over the evaluation horizon, including electrification trends and efficiency gains.

Installed Capacity

Technology-level additions, retirements, and storage deployment trajectories across the generation mix.

Thermal Generation

Detailed operational characteristics: heat rates, variable costs, emissions factors, ramp constraints, and minimum stable loads.

Renewable Resources

Primary resource availability and variability for solar PV, wind, and hydropower — calibrated from historical meteorological data.

Interconnections

Cross-border capacity, flow patterns, and price coupling with neighboring markets.

Fuel & CO₂ Prices

Natural gas, coal, and emissions allowance price trajectories modeled as correlated stochastic processes derived from the stochastic dynamics of their respective forward price curves.

Outages

Planned maintenance schedules and unplanned forced outages modeled using stochastic availability functions.

Correlation Modeling

The Monte Carlo framework doesn't treat each variable independently. Correlations among inputs are explicitly captured. This ensures a realistic and coherent depiction of possible system conditions across every simulated path.

Stage 4

Profile Selection & Enrichment

From thousands of paths to a representative set

From the large set of Monte Carlo simulations, segmentation and multivariate analysis techniques extract a representative and manageable set of hourly price profiles. This ensures that the selected profiles capture the full range of possible market conditions without redundancy, while also enhancing computational performance by reducing scenario dimensionality and making subsequent optimization and simulation processes more tractable.

Selection Process

1

Multivariate Clustering

Group simulated paths by key statistical features (mean, shape, volatility, seasonality)

2

Representative Selection

Select the most representative profile from each cluster to form the final set

3

Dimensionality Reduction

Reduce scenario count for tractable downstream optimization while preserving the full range of market outcomes

Stage 5

Futures Calibration

Aligning models with market expectations

To ensure consistency between the generated scenarios and market expectations, a profile-weighting and calibration mechanism is applied. This adjustment forces convergence of the expected value of the weighted profile set toward a user-defined futures curve, while preserving the stochastic modeling of the hourly dynamics that are essential for accurately simulating storage asset operation.

This alignment step is critical for practical applications: it ensures that economic evaluations of storage assets, hedging strategies, and operational planning remain anchored to current market expectations as expressed through traded financial instruments (e.g., electricity futures and forwards), without losing the intraday and hourly stochastic behavior required to capture dispatch, cycling, arbitrage, and flexibility value.

Calibration Mechanism

Model Profiles

Fundamentals-driven hourly scenarios

+

Futures Curve

Market-implied forward prices

=

Calibrated Scenarios

Weighted profiles aligned to market

Key Innovation

Dynamic Valuation, Not a Fixed Forecast

A traditional price forecast gives you one number. Our approach gives you a distribution of outcomes — what happens to your investment when prices rise, fall, or shift structurally. The result is not a single NPV but a full risk profile expressed through percentiles.

Hundreds of Scenarios

Each Monte Carlo iteration generates a different price path where prices go up, down, or behave unexpectedly. Your investment is evaluated against every one of them — revealing not just the expected return, but the full range of what could happen.

Percentile-Based Decisions

Instead of asking “what is the NPV?”, you ask “what is the NPV at P10 (conservative), P50 (base), P90 (optimistic)?”. This transforms investment appraisal from a point estimate into a risk-aware decision framework.

Three Market Regimes

Monte Carlo captures year-to-year variability within a regime — but what about structural shifts? The three curves (Low, Central, High) represent distinct price environments, each typically associated with different combinations of fundamental market drivers, including demand growth, renewable penetration, conventional generation reliance, fuel and carbon price trajectories, interconnection flows, and regulatory evolution. Combined with Monte Carlo, this approach captures both statistical variability and structural change in market outcomes.

Why Three Curves Matter

A single price curve with Monte Carlo variability explores what happens when prices fluctuate around one central trajectory. But the real question investors face is deeper: what if the trajectory itself is different?

The Low, Central, and High curves are not simply scaled versions of the same shape. Rather, they represent different price levels typically linked to different combinations of fundamental market drivers, including demand growth, renewable penetration, thermal generation dependence, fuel and carbon price trajectories, interconnection flows, and regulatory evolution. A Markov regime-switching model in BESO can then transition between these regimes year by year, reflecting that the future is not a single path but a branching tree of structurally different power market outcomes.

Single curve + Monte Carlo

Variability around one trajectory

Three static curves

Different trajectories, fixed outcomes

Three regimes + Monte Carlo + Markov switching

Structural shifts, variability, and dynamic transitions

The Result

A robust and flexible set of hourly electricity price scenarios — Low, Central, and High — that capture fundamental drivers, statistical uncertainty, historical patterns, and market expectations. Ready for prospective and comparative investment studies with hourly granularity.

8,760

Hourly price points per year

3

Scenarios: Low / Central / High

25+

Year forward horizon

Ready to use institutional-grade price curves?

VIVO Price integrates directly with BESO. Load curves instantly and run your storage analysis with calibrated hourly scenarios.