Vehicle-to-grid · techno-economic analysis
Should Berlin's e-buses power the grid?
Berlin's operator BVG is electrifying its bus fleet and has to build depot chargers anyway. This proposal asks whether it should pay extra for bidirectional chargers, so parked buses can charge when power is cheap and sell energy back at evening peaks (Bus-to-Grid).
A day at the depot
Most buses leave between 05:00 and 08:00 and return between 16:00 and midnight. That leaves a cheap night-charging window and a pool of parked buses during the morning and evening price peaks.
Day-ahead prices in Germany range from about €20–50/MWh in low-demand hours to €150–200/MWh at peaks (SMARD, 2025). The model assumes charging at €10–30/MWh in the optimised window and selling at €150/MWh.
E-bus fleet roll-out
Battery-electric buses in service (BVG targets)
Investment 2025–2030
CAPEX in millions of euros
Baseline operating costs 2025–2030
OPEX before any smart charging, in millions of euros (charging at €90/MWh)
Scenario explorer
Benefit in OPEX is savings from cheaper charging, plus discharging revenue in the bidirectional case, as a share of baseline OPEX (€482M). Move the sliders to compare the two charger types.
Benefit in OPEX for every scenario in the report
Rows: charging price. Columns: charger type and share of the fleet discharging at peaks. The cell matching the sliders is outlined.
Key findings
Roadmap
Main risks and mitigation
| Risk | Mitigation |
|---|---|
| Battery degradation | Battery-life management with proper cycling and charging strategies |
| Charger reliability | Redundant chargers and spare charging capacity at depots |
| Back-end/cyber vulnerability | Robust, secure energy-management back end |
| Electricity price volatility | Long-term price contracts for charging and discharging |
| Technology costs | Fixed-price contracts for chargers and installation |
| Lagging V2G regulation | Engage early in policy-making with local and EU regulators |
How it's calculated
This Python model rebuilds the CAPEX and bus O&M figures from the proposal's assumptions, then runs the full charging-price × discharge-availability sensitivity matrix. The explorer above uses the same equations.
analysis/b2g_financial_model.pyOpen on GitHub →Loading…