FAQs
General
How often do you update the model?
We update the model on a quarterly basis, incorporating the latest data, market developments, and structural changes. Each update may also include improvements to model features or functionality, reflecting our ongoing development priorities.
Can we use the forecast to support BESS financing?
Yes — the forecast is structured to support investment cases and includes merchant and ancillary revenues across multiple scenarios. Outputs are designed to be suitable for use in financial models, investor decks, or due diligence processes.
Fundamentals Model
Is if a fundamental or a stochastic model?
Our model is fundamental, not stochastic. Here's how we approach uncertainty in long-term power market forecasting:
Philosophy
We believe scenario modelling and sensitivity analysis are more appropriate than Monte Carlo methods for long-term forecasting:
- Many long-term inputs --like future policy, market design, or buildout patterns-- don't have reliable probability distributions.
- Monte Carlo methods risk creating a false sense of precision by assigning probabilities where none can be credibly distributions.
- Instead, we focus on building plausible, well reasoned scenarios and testing them with targeted sensitivities on inputs like revenue capture rates, fuel prices, and weather conditions.
This helps decision-makers understand the range of possible outcomes, the drivers behind them, and how sensitive results are to key uncertainties -- without overstating our confidence in any specific trajectory.
What We Do Today
Currently, we run a central scenario with a set of high/low sensitivities on key parameters. This gives directional insight into upside/downside risk and helps test model stability under a range of credible conditions.
Where We Are Going
We're building toward a richer scenario framework that includes divergent structural scenarios (e.g. capacity market, different policy regimes), each supported by clearly documented assumptions. This will be coupled with systematic sensitivities that reflect the most relevant risks to different user groups.
Throughout, we'll continue to avoid assigning artificial probabilities to scenarios or outputs. Our focus is on making uncertainty transparent, interpretable, and decision-useful.
Is the forecast nodal or zonal?
We run a nodal model through 2034, and switch to a zonal model from 2034 till 2050.
- Plant-level detail: we maintain plant-level granularity throughout, including individual SRMC bid curves.
- Consistency: All assumptions --fuel prices, buildout, retirements demand growth-- are consistent across both nodal and zonal horizons. The only difference is the spatial aggregation.
We make this shift for two reasons:
- Uncertainty in siting of future generation, load, and transmission beyond ten years makes nodal modeling misleading - we want to avoid false spatial precision.
- Node behaviors are assumed to trend toward zonal averages in the long run -- as transmission expands, congestion, and with it nodal price separation tends toward zero.
Zonal modeling past 2034 still provides spatial context without overstating accuracy. From a valuation perspective, the nodal part of the forecast dominates discounted cashflows, so we focus precision where it matters most.
How do you model storage cannibalization and market saturation?
The model captures price suppression effects through endogenous storage behavior. As more storage enters the system, competition for arbitrage and ancillary services naturally leads to diminishing returns.
How do you model scarcity pricing in ERCOT?
Scarcity pricing is modeled explicitly using a simplifcation of ERCOT's ORDC (Operating Reserve Demand Curve) mechanism. When reserves are tight, prices rise in line with the published ERCOT ORDC parameters, reflecting real-world scarcity pricing behavior.
How do you model negative prices?
Negative prices arise naturally in the model when supply outstrips demand — typically during high wind or solar output and low load conditions. We also factor in Production Tax Credits (PTCs) for eligible wind and solar assets by embedding them into the SRMC, which can push bids below zero. This reflects real market behavior, where PTC-backed projects are willing to generate through negative pricing events. While PTCs are phasing out for new builds, many ERCOT assets still qualify, making this a persistent feature in the near term.
Can the model simulate curtailment?
Yes — curtailment is captured when transmission constraints or system-wide oversupply prevent full renewable dispatch. The model reflects both economic curtailment and curtailment due to network constraints.
How do you model ancillary services and real-time co-optimization?
We don’t model ancillary services as separate markets within the system-wide model; Instead, we proxy reserve provision by holding back capacity in line with system reserve margins — capturing the key trade-off between energy and reserve availability. Ancillary service prices themselves are modeled using a regression model trained on historical ERCOT data. It links energy prices to observed ancillary service prices across Reg-Up, Reg-Down, RRS, and NSRS. This lets us forecast service prices based on energy price outputs from the fundamentals model.
Other providers take more time to run a 15 year forecast. What is Modo Energy doing differently?
We've optimized both software and infrastructure to reduce runtime:
- Model runtime is kept under 2h for the production cost model, under 30min for the dispatch model.
- Infrastructure: the model is run on large, scalable AWS server with high parallelism.
- Solver: after formulation, the linear programming problem is handed to a state-of-the-art, proprietary solver tuned specifically for performance across our specific modelling problem.
- Precomputation: frequently used runs are precomputed and stored in a library, enabling fast retrieval without rerunning.
These design choices significantly reduce compute time without sacrificing model fidelity or realism. We haven’t achieved faster performance by cutting corners or oversimplifying the system. Instead, we’ve invested in engineering: smart caching, memory-efficient data structures, high-parallelism solver tuning, and bespoke model architecture design. This ensures we preserve the full complexity of real-world market dynamics, while delivering results in a fraction of the time
Is reserve margin a variable of the model?
Reserve margin isn't an explicit input or standalone variable in our model -- it's an emergent outcome of the system-wide co-optimization of energy and reserves.
A system-wide minimum reserve margin of 8 GW is enforced, reflecting the structure or ERCOT's Operating Reserve Demand Curve (ORDC) and the RTOLCAP concept. If reserves fall below this level, a "reserve of last resort" is deployed and priced according to ORDC scarcity pricing -- rising toward the Value of Lost Load (VoLL) as the shortfall deepens.
We co-optimize supply-demand balance and reserve provision simultaneously. Specifically, the model dispatches thermal generation and storage to meet energy demand while also maintaining system reserves, based on available headroom across dispatchable assets.
This ensures that reliability constraints are embedded directly into dispatch outcomes, without imposing hard limits or infeasibilities. The result is a realistic representation of how ERCOT manages scarcity: through price signals, not strict reserve mandates.
In short: reserve margin is not an input -- it's co-optimized alongside energy in the dispatch process, with market-consistent pricing for shortfalls.
Dispatch Model
How do you model and validate storage revenues?
Storage revenues are modeled using a detailed dispatch engine that optimizes battery behavior across energy and ancillary markets. To ensure realism, we calibrate the model using the ME ERCOT BESS index — a proprietary dataset of historical storage revenues in ERCOT.
This calibration process adjusts model parameters (e.g. efficiencies, cycling limits, market participation assumptions) to align modeled outcomes with real-world operator behavior. By grounding the forecast in observed revenue profiles, we can better capture how storage assets actually perform — not just in theory, but in practice.
Updated 18 days ago