Skip to content

FCAS & Ancillary Services

Frequency Control Ancillary Services (FCAS) are procured by AEMO to maintain the NEM’s 50 Hz frequency standard. The NEM procures eight distinct FCAS services in a co-optimised dispatch process alongside energy. FCAS prices can be extremely high during contingency events, making FCAS markets a critical revenue stream for flexible assets like batteries, hydro, and gas peakers.

ServiceAbbreviationResponse TimePurpose
Regulation RaiseRAISEREGContinuousFrequency deviation above 50 Hz
Regulation LowerLOWERREGContinuousFrequency deviation below 50 Hz
1-Second Contingency RaiseRAISE1SEC1 secondMajor contingency recovery
1-Second Contingency LowerLOWER1SEC1 secondMajor contingency recovery
6-Second Contingency RaiseRAISE6SEC6 secondsContingency stabilisation
6-Second Contingency LowerLOWER6SEC6 secondsContingency stabilisation
60-Second Contingency RaiseRAISE60SEC60 secondsContingency arrest
60-Second Contingency LowerLOWER60SEC60 secondsContingency arrest

FCAS prices are co-optimised with energy in AEMO’s central dispatch algorithm (NEMDE). This means:

  1. Offering energy at a high price can free up a generator to provide FCAS instead
  2. A binding FCAS constraint can raise energy prices significantly
  3. During contingency events, FCAS prices can spike to the Market Price Cap ($16,600/MWh for energy) or even higher for FCAS (no separate cap per service)
ServiceNormalElevatedSpike
RAISEREG$5–50/MW/h$50–500>$500
LOWERREG$2–30/MW/h$30–200>$200
RAISE6SEC$0.10–5/MW/h$5–100>$1,000
LOWER6SEC$0.05–2/MW/h$2–50>$500
RAISE1SEC$0.50–10/MW/h$10–500>$5,000

FCAS Price Dashboard (/front-office/fcas-prices)

Section titled “FCAS Price Dashboard (/front-office/fcas-prices)”
  • Live FCAS prices for all 8 services
  • 24-hour price history chart — stacked bar showing price contribution by service
  • FCAS price vs energy price correlation chart
  • Enablement quantities by technology type (battery, hydro, gas, VPP)

FCAS Market Depth (/front-office/fcas-market-depth)

Section titled “FCAS Market Depth (/front-office/fcas-market-depth)”
  • Total procurement quantities for each FCAS service (MW enabled)
  • Technology breakdown of FCAS providers
  • Trapezium constraints showing effective FCAS capability under dispatch conditions

Contingency Event History (/front-office/fcas-contingency)

Section titled “Contingency Event History (/front-office/fcas-contingency)”
  • Log of all contingency events (frequency deviations >±0.25 Hz)
  • Event duration, maximum frequency deviation, response time
  • FCAS price spike correlation with each event
  • Post-contingency analysis: which assets responded and how quickly

A generator or battery is enabled for FCAS when NEMDE co-optimises it to provide that service. Enablement:

  • Must comply with the trapezium bid structure
  • Is limited by FCAS availability offers
  • Changes every 5-minute dispatch interval
-- Query FCAS enablement for batteries in last hour
SELECT
duid,
interval_datetime,
raise6sec_enablement_mw,
lower6sec_enablement_mw,
raisereg_enablement_mw,
lowerreg_enablement_mw,
raise1sec_enablement_mw,
lower1sec_enablement_mw
FROM energy_copilot.gold.nem_fcas_enablement
WHERE fuel_type = 'Battery'
AND interval_datetime >= CURRENT_TIMESTAMP() - INTERVAL '1 HOUR'
ORDER BY interval_datetime DESC;
Terminal window
GET /api/fcas/latest
# Response
{
"timestamp": "2025-03-21T05:30:00Z",
"prices": {
"RAISEREG": {"price": 32.50, "enablement_mw": 890},
"LOWERREG": {"price": 18.20, "enablement_mw": 890},
"RAISE1SEC": {"price": 5.80, "enablement_mw": 420},
"LOWER1SEC": {"price": 2.10, "enablement_mw": 350},
"RAISE6SEC": {"price": 0.95, "enablement_mw": 1240},
"LOWER6SEC": {"price": 0.45, "enablement_mw": 980},
"RAISE60SEC":{"price": 0.12, "enablement_mw": 2100},
"LOWER60SEC":{"price": 0.08, "enablement_mw": 1850}
}
}
Terminal window
GET /api/fcas/history?service=RAISE6SEC&start=2025-03-14&end=2025-03-21
-- gold.nem_fcas_prices (pivoted from 8 raw columns to long format)
-- interval_datetime TIMESTAMP
-- service STRING -- RAISEREG, LOWERREG, RAISE6SEC, etc.
-- price DOUBLE -- $/MW/h
-- enablement_mw DOUBLE -- MW enabled
-- interval_date DATE -- partition key

The platform includes a FCAS revenue calculator for BESS operators:

FCAS Revenue = Σ (EnabledMW_service × Price_service × Hours_enabled_service)

Navigate to Front Office → Battery Dispatch → FCAS Revenue to run the calculator for any DUID over a configurable period.