Every tool you need to
evaluate energy storage
BESO combines LP optimization, Monte Carlo simulation, sensitivity analysis, sizing optimization, ancillary services, and PPA analysis into a single Excel-native platform.
Linear Programming Dispatch
The optimal charge/discharge strategy for every hour
BESO uses advanced linear programming to find the mathematically optimal battery dispatch. For each hour of the project lifetime, the solver decides when to charge, discharge, or hold — maximizing total revenue while respecting all physical constraints.
- Hourly price-driven optimization across 15-30+ year projects
- State of Charge (SoC) constraints with min/max bounds
- Capacity degradation modeled year by year
- Yearly LP chunking for 2.7x faster computation
- Cycling constraints: limit equivalent full cycles per year
- Ramp rate constraints at POI (configurable period: 5/10/15/30 min)
- Negative price operation support

Monte Carlo Simulation
Quantify risk with statistical confidence
Every investment has uncertainty. BESO runs hundreds of scenarios with different price paths, renewable generation profiles, and cost assumptions — then shows you the full distribution of outcomes, not just a single "best guess".
- 16+ metrics: NPV, IRR, Payback, LCOS, Generation, Curtailment...
- LCOS/LCOE pre-tax calculation aligned to Lazard/BNEF industry standard
- Any percentile (P10, P25, P50, P75, P90) — not just fixed ones
- Histogram, CDF, Scatter, and Time Series chart types with CSV export
- Auto-convergence detection: stops when Standard Error reaches target
- Markov regime switching: Low/Central/High price curves with year-by-year transitions
- Risk metrics: VaR, CVaR, and Sharpe ratio (BESO_RISK function)

Standalone & Hybrid Systems
Any combination of storage + renewables
Model a standalone battery, a battery co-located with solar, wind, or both — or even renewables without storage. BESO handles the full spectrum of configurations with component-level financial breakdowns.
- BESS standalone (batteries, pumped hydro, any storage technology)
- BESS + Solar PV, BESS + Wind, or BESS + PV + Wind
- Renewables-only mode (PV and/or Wind without storage)
- POI (Point of Interconnection) with export/import limits
- Curtailment analysis: actual, theoretical, saved by BESS
- Component NPV, IRR, Payback, LCOE/LCOS breakdown

Sensitivity Analysis
Understand what drives your project value
Which parameter has the biggest impact on your NPV? Is the project more sensitive to energy prices or CAPEX? BESO's one-at-a-time sensitivity analysis answers these questions with tornado and spider charts — showing you exactly where to focus your due diligence.
- Tornado chart: ranked parameter impact at a glance
- Spider chart: non-linear sensitivity curves for each parameter
- Data table: full numerical results with low/high values
- Configurable variation range (±5%, ±10%, ±20%, ±50%)
- Multiple metrics: NPV, IRR, Payback, LCOS
- Results persist between sessions — reopen without re-running

Sizing Optimizer
Find the configuration that maximizes returns
What BESS power and duration? How much PV? How much Wind? The Sizing Optimizer evaluates thousands of combinations and finds the one that maximizes your NPV or IRR — considering the full Monte Carlo uncertainty. The Pareto Front shows you the optimal trade-offs between return and investment.
- Configurable ranges: BESS Power, Duration, PV MW, Wind MW
- Objective: maximize NPV or IRR
- Pareto Front analysis: NPV vs CAPEX and IRR vs CAPEX trade-offs
- PSO with multi-swarm support, velocity decay, and stagnation detection
- Economies of scale: power-law cost scaling with safety confirmations
- Dedicated Sizing Report with sensitivity, heatmaps, and CAPEX analysis

PPA Contract Analysis
Evaluate any commercial structure
Model 7 types of Power Purchase Agreements and see how they affect your project economics. BESO calculates PPA settlements post-optimization — the LP dispatch stays optimal while the PPA overlay shows you the financial impact.
- Pay-as-Produced: fixed price on generation volume
- Baseload: fixed MW block every hour (financial)
- Floor/Ceiling (Collar): price protection with cap
- Shaped (Esculpido): hourly delivery profile from 24x12 matrix
- Custom Schedule: unique volume per hour across project life
- BESS Tolling: guaranteed spread per cycle with shortfall penalties

44+ Excel Functions
Your model, your way — inside Excel
BESO is an Excel Add-in, not a separate application. After running a simulation, use 44+ BESO_* functions to extract any metric at any percentile and frequency. Build your own financial models, sensitivity tables, and dashboards — all powered by the simulation engine.
- BESO_NPV, BESO_IRR, BESO_PAYBACK, BESO_CASHFLOW...
- BESO_MC for Monte Carlo distribution analysis
- BESO_RISK for VaR, CVaR, and Sharpe ratio
- BESO_ANCILLARY for aFRR/mFRR revenue breakdown
- BESO_PPA for PPA settlement metrics per contract
- Cell references as inputs — live linked models

Professional Reports
From analysis to investment committee in one click
Generate comprehensive PDF reports with KPI dashboards, annual cashflow tables, Monte Carlo distributions, dispatch profiles, and technology breakdowns. Unified Compare tool for side-by-side scenario analysis.
- Executive summary with 6 KPI boxes (NPV, IRR, Payback, LCOS, CAPEX, Cycles)
- Annual cashflow tables with ancillary services breakdown
- Cashflow waterfall chart: Revenue, Ancillary, Costs, OPEX & Taxes
- Unified Compare tool: browse or load scenarios for side-by-side delta analysis
- Copy Summary: export all input parameters to clipboard for documentation
- Export to PDF, Excel (multi-sheet), or CSV


Price curves as functions
Not static spreadsheets — adaptive models
VIVO Price delivers Iberian electricity price forecasts as parametric functions that adapt to your assumptions. Three scenarios (Low, Central, High) updated quarterly. Or bring your own third-party annual forecasts and our methodology converts them into hourly profiles using the same functional approach.
- Parametric functions — change assumptions without rebuilding
- Low / Central / High scenarios for Monte Carlo risk bands
- Quarterly updates with latest Iberian market fundamentals
- Third-party curve conversion: annual → hourly with same methodology
- Direct integration with BESO — load and simulate instantly

Requirements
Technical specifications
Platform
- Excel Add-in (Windows x64)
- Excel 2016 or later
- Mac compatible via Parallels or similar virtualization
- Runs entirely offline — no internet required
- All data stays on your machine
Performance
- Multi-core parallel MC iterations
- Unlimited simulations — no usage caps
- Configurable thread count & timeout
- Optimized for 15-30+ year projects
Data
- 60+ configurable parameters
- Portable scenario & result files
- CSV, Excel ranges, 24x12 matrix inputs
See it in action
15-day free trial with full access. Load sample data, run your first simulation, and explore the results — in under 5 minutes.