P-f droop P(f)
P-f droop is the proportional control law that ties a plant's active power to grid frequency: a fixed percentage of frequency deviation commands the full swing of rated power, and every point in between sits on a straight line. The percentage is the setting — 4 percent droop means a 4 percent departure from nominal frequency, 2.4 Hz on a 60 Hz grid, drives 100 percent of the rated power change — so smaller numbers describe a stiffer plant, not a smaller one.
What the law buys is coordination without communication: thousands of units answer the same shared frequency in proportion to their ratings on nothing but a local measurement, with no dispatch instruction in the loop.
In a BESS the same coefficient is read two ways, as P(f) by a grid-following PCS computing power from measured frequency and as f(P) by a grid-forming one setting its own frequency from measured power, which is why it appears on datasheets under both the frequency-watt function and the grid-forming control law.
Reviewed August 2026 by Sergey Syrvachev
New to BESS? Start free with the 7-email fundamentals course — no cost, no account.
The law, and the percentage that names it
In per-unit form the law is ΔP/Pn = −(1/R) × Δf/fn, where R is the droop setting written as a fraction. The minus sign carries the physics: under generator convention a frequency below nominal calls for more export and a frequency above it for less. R is a ratio of two normalised quantities, so it is dimensionless, and its value is the entire specification. Work one case through.
A 100 MW plant on a 60 Hz grid set to 4 percent droop swings its full rating over 0.04 × 60 = 2.4 Hz, so a 0.1 Hz dip commands 0.1/2.4 = 4.2 percent of rating, about 4.2 MW. Move that identical setting to a 50 Hz grid and the full swing now spans 2.0 Hz, so the same 0.1 Hz dip buys 5 MW. A droop percentage is a fraction of nominal frequency, and nominal frequency differs by 20 percent between the two worlds.
The second question the number needs answered is what it is a fraction of on the power axis, and vendors disagree. Power Electronics calls the setting statism on its GEN3 platform and defines it as the frequency variation per 100 percent load variation — default 4.000 percent, configurable from 0.001 to 20.000 percent — and publishes the conversion to the gain the firmware actually stores, statism(%) = 100 / (fn(Hz) × rate(pu/Hz)).
SMA writes the grid-forming form on its Storage Cluster System against apparent power, ΔP/Sn ≈ −(1/kf) × (ΔfG/fn), a different denominator on a machine whose MVA and MW ratings are not the same number. Huawei's LUNA2000 publishes the reciprocal instead: a primary frequency-regulation coefficient Kf adjustable from 0 to 200 with a default of 20, where a larger value means a stiffer response rather than a slacker one.
On that reciprocal form a coefficient of 20 corresponds to a 5 percent droop, but confirm each vendor's own definition rather than assuming the inversion — three products, three conventions, one physical slope.
Grid codes and market products often state the line by its endpoint rather than by its slope, and converting between the two is one division. Continental European FCR reaching full activation at ±200 mHz on a 50 Hz system is a 0.4 percent droop; GB Dynamic Containment delivering fully at ±0.5 Hz is 1 percent. Both are an order of magnitude stiffer than a governor droop, and both are referenced to the contracted volume rather than the plant nameplate, which is what keeps the numbers physical.
North America states the same idea in a third currency: NERC BAL-003 sets each balancing authority's frequency-response obligation in MW per 0.1 Hz, which is the droop line evaluated at a single point. The product definitions themselves are the frequency-response entry's territory; what belongs here is that all of them are this one law with different constants.
Deadband, thresholds and the shape of the line
A pure proportional line acts on every deviation, including the continuous small wander that a healthy grid produces all day. The deadband is the band around nominal inside which the plant makes no power correction, and its purpose is to keep converters — and the settlement systems measuring them — out of that normal breathing rather than to slow the response. Its width is a jurisdiction's decision, not an engineering preference. In the United States, FERC Order 842 caps new units at 5 percent droop and a ±36 mHz deadband.
In Chile, the NTSyCS (Enero 2025) requires under Artículo 3-17 that wind and photovoltaic parks — its inverter-based class, and the closest requirement in that document to a storage obligation, which the article does not name — carry an underfrequency permanent droop adjustable from 2 to 8 percent with a ±200 mHz deadband, while the synchronous units in the same article get 4 to 8 percent with ±25 mHz. Same law, three different bands, one page apart.
How the slope resumes at the edge of the band is a setting rather than a convention. Referenced from the band edge, power leaves zero continuously as frequency crosses out of the deadband; referenced to nominal, the plant delivers a step the moment it exits, because the line has already accumulated the deadband's worth of deviation. The two implementations produce visibly different traces in a prequalification test, so read which one the firmware uses instead of assuming.
Real settings are often not symmetric at all: the GEN3 platform publishes a separate over-frequency activation frequency, defaulting to 60.300 Hz with a settable range of 50.000 to 65.000 Hz, alongside a hysteresis band that defaults to 0.0 Hz and can be widened to 5.0 Hz. Treat the underfrequency and over-frequency halves as two independent configurations that happen to share a name.
One setting downstream of the law can cancel it. The GEN3 P(f) active-power limiting gradient is disabled by default and settable from 0.01 to 655.00 percent per second — a rate limiter sitting between the droop calculation and the power stage. Enabled, it turns the step the droop line asked for into a ramp, and the plant's measured response stops matching the model that was studied. It exists for good reasons on plants that must respect a ramp obligation, and it is exactly the kind of parameter that gets set during commissioning by an engineer solving a different problem.
The law is ΔP/Pn = −(1/R) × Δf/fn, with R the droop as a dimensionless fraction and the minus sign the generator convention: falling frequency, more export. Four per cent droop means full rated swing over four per cent of nominal — 2.4 Hz at 60 Hz, 2.0 at 50. Vendor conventions differ enough to burn a commissioning day: Power Electronics GEN3 calls it statism with a default of 4.000% and a range of 0.001–20.000%, SMA normalises ΔP to Sn rather than Pn, and Huawei LUNA2000 publishes the RECIPROCAL gain Kf, 0–200 with default 20. Deadband is jurisdictional — FERC Order 842 caps new US units at 5% droop with ±36 mHz, Chile's NTSyCS gives wind and PV parks 2–8% with ±200 mHz — and slope is not speed: LUNA2000 answers in under 150 ms, SMA's SCS 2475 in about 250 ms, and GEN3's time-to-90% defaults to a full 5 seconds. Two operational edges: the response ADDS to the dispatch setpoint, so a plant at full export has nothing left upward, and on GEN3 the charge-to-discharge crossing is a separate enable, disabled by default. Grid-forming runs the same coefficient with the arguments swapped — f = f0 − m × P — with no frequency estimate in the response path.
- The law
- ΔP/Pn = −(1/R) × Δf/fn — R is the droop setting as a fraction, dimensionless; the minus sign is generator convention (falling frequency, more export)
- What the percentage means
- 4% droop = full rated swing over 4% of nominal frequency — 2.4 Hz at 60 Hz, 2.0 Hz at 50 Hz. A 100 MW plant answers a 0.1 Hz dip with ~4.2 MW at 60 Hz, 5 MW at 50 Hz
- Vendor conventions differ
- Power Electronics GEN3 statism: default 4.000%, range 0.001–20.000%. SMA normalises ΔP to Sn. Huawei LUNA2000 publishes the reciprocal gain Kf, 0–200, default 20
- Deadband is jurisdictional
- US: FERC Order 842 caps new units at 5% droop, ±36 mHz. Chile NTSyCS Art. 3-17: wind/PV parks 2–8% with ±200 mHz, synchronous units 4–8% with ±25 mHz
- Slope is not speed
- Huawei LUNA2000 primary frequency response ≤150 ms; SMA SCS 2475 frequency response time 250 ms; GEN3 P(f) time to 90% defaults to 5.00 s (range 0.00–5.00 s)
- Droop rides on the setpoint
- The response adds to the dispatch setpoint, so headroom bounds it — full export leaves nothing upward. On GEN3 the charge-to-discharge crossing is a separate enable, disabled by default
- Grid-forming inversion
- GFM runs f = f0 − m × P instead of P(f) — same coefficient, arguments swapped, no frequency estimate in the response path
- Not the same as
- Frequency (the shared quantity), frequency response (the paid products built on this law), Q-V droop (the reactive-power mirror), AGC (a dispatched setpoint, not a slope)
Droop is not a setpoint
A setpoint is a command; droop is a slope. The law is proportional only, with no integral term, so it does not return frequency to nominal — by design it settles at a standing offset proportional to the imbalance, and removing that residual is the job of secondary control minutes later, the AGC or aFRR signal the dispatch entry covers.
The omission is deliberate. An integrator in every plant would have thousands of units competing for the last megawatt of correction with no way to agree on the split, whereas proportional-only control divides the burden in proportion to rating automatically, from a measurement every asset already has.
The two compose rather than compete. The droop response is added to whatever active-power setpoint the plant controller has loaded, so what the plant can actually deliver is bounded by headroom on the relevant side of that setpoint, not by the droop setting.
A plant dispatched at full export can only respond downward; one sitting at zero has its whole rating available in both directions, which is the structural reason storage suits symmetric frequency products. A droop setting that promises 4.2 MW at 0.1 Hz promises nothing at all if the plant is already pinned at its interconnection limit, and the arithmetic of that promise is the sizing question, not the tuning question.
For a battery, part of the swing has a switch on it. The GEN3 platform exposes charge-to-discharge switching on a frequency event as an enable that is disabled by default: with it off, a charging plant answers an underfrequency event by reducing its charging along the droop line and stopping at zero rather than crossing into discharge.
That single parameter is the difference between a one-times-rating response and a two-times-rating one, and it lives in firmware rather than in the contract that assumed the larger figure. It also depends on the sign convention being unambiguous at every interface between the market gateway and the PCS, because the whole action is a crossing of zero.
The same coefficient in grid-following and grid-forming
In a grid-following PCS the law executes as written: a phase-locked loop estimates frequency, the controller evaluates ΔP, and the current reference moves. The droop setting fixes how far the plant goes and nothing in it fixes how fast, and published response figures on comparable hardware span more than an order of magnitude.
Huawei states primary frequency response within 150 ms on the LUNA2000; SMA quotes a 250 ms frequency response time on the SCS 2475; the GEN3 P(f) function carries a configurable time to 90 percent of reference that defaults to 5.00 s across a 0.00 to 5.00 s range. Identical slopes on those three machines produce very different contributions to the same nadir, because the first hundreds of milliseconds are when a frequency excursion is decided. Slope and speed are two settings, and a market product qualifies against both.
A grid-forming inverter runs the identical coefficient with its arguments swapped. Rather than computing power from measured frequency, it computes its own internal frequency from its measured output — f = f0 − m × P — and holds that as the reference it synthesizes. The consequence is that no frequency estimate stands in the response path: when the external system slows, the angle between the inverter's internal voltage and the grid opens on its own, power flows out, and the droop law then retards the internal frequency until the machine settles at the new sharing point.
SMA publishes exactly this pair for its GridForm operating state, a P-droop law in frequency beside a Q-droop law in voltage, and the same relationship is what lets several grid-forming units run in parallel on an island with no communication link between them. The control mode itself belongs to the grid-forming entry; what belongs here is that both modes are configured with the same number, and that the number ports between them while the response time does not.
Common pitfalls
Most errors start on the wrong axis. The percentage describes frequency, not power, so 4 percent droop is not a 4 percent power response to anything — it is the full rated swing over 2.4 Hz on a 60 Hz grid. Reading it as a power figure understates the response to small deviations and wildly overstates it for large ones.
The base errors follow: ΔP normalised to rated MW is not ΔP normalised to rated MVA, and a product droop referenced to a contracted volume is not referenced to the nameplate. Then there is direction — one vendor's 5 percent and another's coefficient of 20 can describe the same slope, so a settings sheet copied between platforms without reading each definition can invert the stiffness of the plant.
The two commissioning failures are symmetric and both common. A witnessed test that exercises only the underfrequency half has proved half the configuration, since the over-frequency slope, its activation frequency, its hysteresis and — on a battery — the zero-crossing enable are separate parameters that no underfrequency injection touches.
And the droop entered in the interconnection dynamic model is not a modelling assumption but a commitment: in North America, NERC MOD-026 and MOD-027 verification expects the field settings to match the model that was studied, so a droop, deadband or gradient limiter changed in firmware during commissioning and never fed back becomes a compliance finding rather than a tuning detail. Record the whole settings sheet, both halves, at the point the plant is signed over.
A 4 percent droop means the plant moves about 4 percent of its rating when frequency deviates — set the number once and the response is defined.
In reality: The percentage sits on the frequency axis, not the power axis. Four percent droop means a 4 percent departure from nominal frequency — 2.4 Hz on a 60 Hz grid — commands the full rated swing, so a 0.1 Hz dip on a 100 MW plant is about 4.2 MW, and the identical setting yields 5 MW on a 50 Hz grid because 4 percent of 50 Hz is fewer hertz. Smaller droop values mean a stiffer plant, and some vendors publish the reciprocal gain instead, where larger is stiffer. The setting alone also delivers nothing on its own: the response is added to the dispatch setpoint and bounded by headroom on that side, a separate response-time parameter decides how much of it arrives while the nadir is still forming, and an active-power gradient limiter, if enabled, ramps what the line asked for as a step.
- Frequency response Glossary
- Q-V droop Glossary
- How Frequency Regulation Pays Batteries — and Why That Paycheck Shrinks Article
- Interactive: Grid-Forming Droop Interactive visual · bess.engineer
P-f droop, in context.
The Grid-Scale BESS course covers p-f droop — and the rest of the system — from the ground up, the way it actually gets deployed.