A virtual power plant (VPP) is a group of distributed energy resources on many sites that an aggregator controls as one unit. The aggregator offers that unit to a system operator or a market, and the unit then behaves like one power station. The resources are batteries, standby generators, flexible loads such as refrigeration and HVAC, heat pumps and EV chargers.
Each service sets a minimum unit size. Great Britain's Dynamic Containment needs at least 1 MW per response unit, and allows aggregation only of assets in the same GSP Group. Ten sites with a 100 kW battery each make one 1 MW unit. The system operator or the market pays the aggregator, and the aggregator pays the site owners under contract.
In the United States, the Department of Energy's 2023 Liftoff report estimated 30 to 60 GW of VPP capacity, mostly in demand response programmes. In the EU, Directive (EU) 2019/944 defines aggregation in Article 2(18). Article 13 lets a customer contract with an aggregator independently of its supplier, and Article 17 requires Member States to allow demand response through aggregation.
How a VPP works
A VPP has four layers, and each layer passes specific data to the next.
The asset changes its power: a battery inverter follows a set point, a relay drops a load, a generator starts and synchronises. It reports its own state, such as state of charge, run status or process temperature.
The site system meters the asset and the site connection, and holds the local limits. It reports measured power, available flexibility and asset state to the aggregator. It receives dispatch instructions, availability requests and arm or disarm commands.
The aggregator's platform forecasts what the portfolio can deliver, bids it, dispatches sites and sums their measurements into one signal for the operator.
The system operator or market buys the service, issues instructions and assesses delivery from the metered data.
Frequency response does not use this chain at event time. Each site measures grid frequency itself and responds inside the service's time limit. A service that needs full delivery within 1 s cannot wait for a round trip through a cloud platform. The aggregator's link carries the arming, the response parameters, the availability declarations and the evidence after the event.
VPP, DERMS and microgrid
The boundaries between these three blur in practice. The table shows the typical case.
| VPP | DERMS | Microgrid | |
|---|---|---|---|
| Typical operator | An aggregator or supplier | A network operator, or a utility running its own programme | A site or campus owner, a utility or a third party |
| Purpose | Sell flexibility in markets and services | Keep the network within its thermal and voltage limits | Supply one local system reliably, and island from the grid when designed to |
| Resources | Many sites, anywhere on the network | Resources on the operator's network | Inside one electrical boundary |
| Main measurement point | Each site's connection, summed into one unit | Feeders, substations and connection points | The point of common coupling |
A microgrid can take part in a VPP as one resource. A VPP spread over many sites is not a microgrid. The microgrid guide covers microgrids in detail.
What a VPP sells
| Service | What the sites do | Example timing |
|---|---|---|
| Frequency response | Change power automatically when local frequency moves | GB Dynamic Containment and Moderation: full delivery within 1 s. Dynamic Regulation: within 10 s. Ireland DS3 FFR: within 2 s of the trigger, held to T+10 s |
| Operating reserve | Hold a change in power after a frequency event or on instruction | Ireland DS3: POR T+5 to 15 s, SOR T+15 to 90 s, TOR1 T+90 s to 5 min, TOR2 T+5 to 20 min |
| Demand flexibility | Reduce or shift demand in a contracted window | GB Demand Flexibility Service: half-hourly settlement periods, units from 0.1 MW |
| Peak and capacity services | Reduce demand at the system or network peak | Scheduled windows |
| Energy trading | Shift consumption to cheaper periods | Day-ahead to intraday |
The Demand Flexibility Service has run year-round as an in-merit tool since 27 November 2024. In Ireland, EirGrid and SONI plan to move the DS3 reserve services into a day-ahead auction under their Future Arrangements for System Services. Check the current service terms before a design uses any number in this table.
The dynamic response guide and the FCAS guide cover frequency services in Great Britain, Ireland and Australia. The EV grid assets guide and the OCPP guide explain how chargers take part. A charger's controllable range depends on how many vehicles are connected and their state of charge.
What a site needs to take part
Metering
The data rate depends on the service, and the difference is large:
| Service | Data the operator uses |
|---|---|
| GB Dynamic Containment and Moderation | 20 Hz performance data per response unit |
| GB Dynamic Regulation | 20 Hz or 2 Hz performance data |
| Ireland DS3 FFR | A device recorder with a minimum resolution of 20 ms |
| Ireland DS3 POR, SOR and TOR1 from aggregated sites | Aggregated demand at 1 Hz or faster, time-stamped and synchronised to a common time, with each site's data within one working day of an event |
| GB Demand Flexibility Service | Half-hourly metered data per unit, plus every input to the baseline |
Synchronise the clocks as well. At 20 Hz, a clock error of 50 ms moves the whole trace by one sample, and the assessment then compares the wrong samples.
Decide the measurement boundary before you commission. When the service measures at the site connection, every other load on the site is in the result. A 300 kW load shed during a 200 kW compressor start shows as a 100 kW reduction. Sub-meter the asset as well as the connection, so that you can explain the difference. The baseline guide explains how delivery is calculated against a baseline.
Control with clear authority
A request from the aggregator must reach the asset, and the asset must stay inside its own limits: battery state of charge, production deadlines, comfort bands, minimum run times. Name one system that owns each set point. Write down what the asset does when the aggregator link fails, and after how many seconds.
The DS3 protocol makes some of this explicit for aggregators. The aggregator must be able to enable and disable services remotely at every individual site. It must also stagger load reconnection after an event, so that inrush does not push demand above the pre-event level. The local control guide gives a structure for the failure cases.
Available flexibility
A 500 kW battery is not always a 500 kW resource. Its available power depends on state of charge, temperature and other commitments. A refrigeration process can shed load for 20 minutes but not for two hours. Report the power the asset can hold for the full service window, and update it when that changes.
Proof of delivery
Record four stages separately: the request, its acceptance, the asset's feedback and the measured change in power. Suppose the aggregator sends a 400 kW discharge set point. The battery controller acknowledges it and reports 400 kW. The meter shows 250 kW, because the battery reached its state-of-charge floor after six minutes. The first three records say the event succeeded. Only the fourth shows the shortfall and when it started. The BESS command verification guide covers this in detail.
Worked example: declaring a three-site unit
An aggregator must declare availability for a 60-minute demand reduction window. It has three sites with 1.7 MW of nameplate flexibility.
| Site | Nameplate | Limit in this window | Declared |
|---|---|---|---|
| Battery, 500 kW / 1,000 kWh, 70% state of charge, 10% floor | 500 kW | 600 kWh usable holds 500 kW for 72 minutes | 500 kW |
| Cold store compressors | 400 kW | Product temperature limits the shed to 20 minutes | 0 kW |
| Standby generator, 800 kW, no export permitted | 800 kW | Site import is 600 kW, so import can fall by only 600 kW | 600 kW |
| Unit | 1,700 kW | 1,100 kW |
If the window were 90 minutes, the battery could hold only 600 kWh ÷ 1.5 h = 400 kW, and the unit would drop to 1,000 kW. The cold store is still useful: a 20-minute shed fits a reserve window such as DS3 TOR2, which is assessed from T+5 to T+20 minutes. The generator's limit moves with site load. If site import falls to 450 kW during the window, the generator's declared figure must fall with it.
Where delivery fails
Each of these failures shows in the data if the site records it.
| Failure | What happens | What shows it |
|---|---|---|
| Energy runs out | A battery or thermal store reaches its limit before the window ends | The asset's state of charge or temperature record, before the meter shows it |
| Rebound | Loads restart together after the event and push demand above the baseline. DS3 FFR fails if the energy lost from T+10 to T+20 s exceeds the energy delivered up to T+10 s | Site import at the service's data rate for at least 20 s after the event |
| Data or availability gap | In GB dynamic services, any unavailability in a half-hour settlement period sets that period's availability factor to zero, even if the asset responded | Completeness of the telemetry and availability record per settlement period |
| Late declaration | A DS3 unit must not declare its availability down in real time during a frequency event, so the declaration made before the event is the one assessed | Declared availability against measured capability before each event |
| Outside tolerance | DS3 FFR passes a sample within the larger of 10% of the expected response or 1 MW, capped at 50% of the expected response for small units | Sample-by-sample comparison of expected and achieved response |
The tolerance absorbs measurement error. Size the declaration so that the expected response passes at every sample with the tolerance unused.
Choose the asset interface
Build the site inventory from the installed model and its communication option. An inverter's measurement map, a generator's operating state and the settlement meter answer different questions. These examples link to model-specific setup instructions and manufacturer references.
| Asset | Monitoring starting point | What to resolve for dispatch |
|---|---|---|
| Sungrow SH10RT hybrid inverter | Local Modbus TCP; keep PV, battery and site-meter measurements distinct | A separate authorised command interface and ownership of battery or export set points |
| DSE8620 MKII generator controller | Modbus RTU or TCP with the installed personality and configured pages | Start/stop authority, breaker interlocks and permitted parallel operation |
| Carlo Gavazzi EM530/EM540 S1 meter | RS-485 Modbus RTU; match the CT or direct-connected variant and scaling | Measurement boundary, sign and interval aggregation for the chosen service |
These are monitoring paths. A register read does not establish a dispatch path. Use the local control matrix to assign command ownership and failure behaviour, then compare the resulting power change with the Demand response event calculator.
Start with one site
- List each flexible asset with its interface (relay contact or Modbus register map), its power range in each direction and how long it can hold a change.
- Meter the site connection and each asset at the resolution the target service uses. Collect several weeks of data before the first event, so that the baseline has history.
- Agree with the asset owner and the aggregator which system owns each set point, and what the asset does when the link drops.
- Run test events at the service's data rate. Compare the measured response with the request at every sample, against the service's tolerance.
- Check the rebound and the data completeness of each test event, as well as the response. Enrol more sites when the first site passes the service's own test, not before.
Flexibility with EpiSensor
The ZDR demand response controller meters a three-phase supply at Class 0.5S, samples frequency at least every 100 ms at 0.01 Hz resolution and responds to under-frequency within 100 ms. The relay variants shed a load or start a generator. The battery-control variant follows frequency and sends a changing set point to a battery or UPS over Modbus. Two variants record each event at 20 ms with GPS time, which is the resolution that DS3 FFR assessment uses. Confirm the recorder against the TSO's device standard for your service. In a 2018 project at Dublin Airport, EpiSensor frequency monitoring and control brought the airport's backup generation into DS3 (3 MW) and I-SEM (8 MW). These are separate programme figures, not one combined fast-response capacity.
A ZEM electricity monitor sub-meters the other circuits, so that you can separate the asset's response from other loads. A Gateway running Edge keeps the data and the automation on site, and exports measurements to the aggregator's platform over MQTT or HTTPS. Agree separately with the aggregator how dispatch instructions reach the site. The demand response solution shows a complete system. For an Italian portfolio, use the TIDE distributed-flexibility guide to keep the BRP, BSP, UVAN or UVAZ and settlement records separate from this owner-side data path. A renewable energy community can use the separate Italy CER and shared-energy guide to distinguish owner telemetry from GSE measurements, hourly sharing and tariff settlement.
Common questions
How big does a site need to be to join a virtual power plant?
The site itself can be small. The minimum applies to the aggregated unit that the aggregator offers. Great Britain's Dynamic Containment, Moderation and Regulation need at least 1 MW per response unit, and the Demand Flexibility Service accepts units from 0.1 MW since 9 April 2026. Ten sites with a 100 kW battery each can make one 1 MW unit.
How does a virtual power plant make money?
The system operator or a market pays the aggregator, and the aggregator shares the revenue with the site owners under a contract. Some services pay for availability only: Great Britain's dynamic frequency services pay per MW per hour of contracted availability. Others pay for measured delivery against a baseline, as the Demand Flexibility Service does.
What is the difference between a VPP and a microgrid?
A microgrid is a set of loads and resources inside one electrical boundary that can operate as a unit, and often disconnect from the grid. A VPP coordinates resources on many sites that stay connected to the grid and need not share an electrical boundary. A microgrid can be one resource inside a VPP.
What is DERMS?
A distributed energy resource management system is software that monitors and dispatches distributed resources on a network. Network operators use it to keep feeders and substations within limits, and some utilities run their own VPP programmes through one. The difference from a VPP is usually who operates it and why, not the software.