SET_FCAS_RECOVERY
SET_FCAS_RECOVERY shows reimbursements for the Frequency Control Ancillary Services (FCAS) to be recovered from participants. Beware of potential confusion with the table
SETFCASRECOVERY, which reports reimbursements for Frequency Control Ancillary Services Compensation (now unused).SET_FCAS_RECOVERY data is confidential to the relevant participant.
Volume
Approximately 1, 500, 000 per week.
Tip
1 second, 6 second, 5 minute, 60 second and regulation refer to types of FCAS markets.
Warning
This is a different table to SETFCASRECOVERY
Column Schema
PARTICIPANTID
Participant identifier
For more information, see the dedicated documentation page.
SQL Type: VARCHAR2(10)
Polars Type: pl.Categorical
This column is mandatory, and a primary key.
PERIODID
Settlements Trading Interval.
SQL Type: NUMBER(3,0)
Polars Type: pl.Int16
This column is mandatory, and a primary key.
REGIONID
Region Identifier
For more information, see the dedicated documentation page.
The SQL type is VARCHAR2(10).
This is actually a factor/enum, with values:
-
QLD1 -
VIC1 -
TAS1 -
NSW1 -
SA1 -
SNOWY1
This column is mandatory, and a primary key.
SETTLEMENTDATE
Settlement Date
Warning
Despite what the name suggests, this is a datetime, not a date.
SQL Type: DATE
Polars Type: pl.Datetime()
This column is mandatory, and a primary key.
Example: 2026/01/20 00:05:00
VERSIONNO
Settlement Run No
SQL Type: VARCHAR2(3)
Polars Type: str
This column is mandatory, and a primary key.
LASTCHANGED
Last date and time record changed
For more information, see the dedicated documentation page.
SQL Type: DATE
Polars Type: pl.Datetime()
This column is not mandatory.
Example: 2026/01/20 00:05:00
LOWER1SEC_ACE
The Lower1Sec FCAS Recovery Amount for the Participant and Region from ACE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER1SEC_ASOE
The Lower1Sec FCAS Recovery Amount for the Participant and Region from ASOE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER1SEC_RECOVERY
Customer recovery amount for the very fast lower service. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER1SEC_RECOVERY_GEN
Generator recovery amount for the very fast lower service. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER5MIN_ACE
The Lower5Min FCAS Recovery Amount for the Participant and Region from ACE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER5MIN_ASOE
The Lower5Min FCAS Recovery Amount for the Participant and Region from ASOE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER5MIN_RECOVERY
Recovery amount for the Lower 5 Minute service attributable to customer connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER5MIN_RECOVERY_GEN
Recovery amount for the Lower 5 Minute service attributable to generator connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER6SEC_ACE
The Lower6Sec FCAS Recovery Amount for the Participant and Region from ACE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER6SEC_ASOE
The Lower6Sec FCAS Recovery Amount for the Participant and Region from ASOE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER6SEC_RECOVERY
Recovery amount for the Lower 6 Second service attributable to customer connection points. NULL for Settlement date post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER6SEC_RECOVERY_GEN
Recovery amount for the Lower 6 Second service attributable to generator connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER60SEC_ACE
The Lower60Sec FCAS Recovery Amount for the Participant and Region from ACE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER60SEC_ASOE
The Lower60Sec FCAS Recovery Amount for the Participant and Region from ASOE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER60SEC_RECOVERY
Recovery amount for the Lower 60 Second service attributable to customer connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWER60SEC_RECOVERY_GEN
Recovery amount for the Lower 60 Second service attributable to generator connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_ACE
The Lower Regulation FCAS Residue Recovery Amount using ACE MWh values excluding the MPF Connection Points. NULL value for Settlement Dates prior to the IESS rule effective date. For Settlement dates past FPP Rule Effective date this column will be LOWERREG_USED_ACE + LOWERREG_UNUSED_ACE
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_ASOE
This column is LOWERREG_USED_ASOE + LOWERREG_UNUSED_ASOE. For Settlement dates prior to FPP Rule Effective date this column will be NULL
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_RECOVERY
For Settlement Date post the IESS rule effective date the column represent the Lower Regulation FCAS MPF Recovery Amount from Customer and Generator Connection Point MPFs only. Residue Recovery Amount is not included in this amount. For Settlement Dates past FPP Rule Effective Dates this column will be NULL.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_RECOVERY_GEN
For Settlement date prior to the IESS rule effective date, the column represent Sum of MPF Lower Regulation recovery amount from Generator Connection Points. NULL for Settlement dates post the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_UNUSED
The LowerReg Unused amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_UNUSED_ACE
The LowerReg Unused ACE Portion amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_UNUSED_ASOE
The LowerReg Unused ASOE Portion amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_UNUSED_RESIDUAL
The LowerReg Unused Residual amount for the Participant and Region LowerReg_Unused_ACE + LowerReg_Unused_ASOE
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_USED
The LowerReg Used amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_USED_ACE
The LowerReg Used ACE Portion amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_USED_ASOE
The LowerReg Used ASOE Portion amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
LOWERREG_USED_RESIDUAL
The LowerReg Used Residual amount for the Participant and Region(LowerReg_Used_ACE + LowerReg_Used_ASOE)
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE1SEC_ACE
The Raise1Sec FCAS Recovery Amount for the Participant and Region from ACE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE1SEC_ASOE
The Raise1Sec FCAS Recovery Amount for the Participant and Region from ASOE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE1SEC_RECOVERY
Customer recovery amount for the very fast raise service. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE1SEC_RECOVERY_GEN
Generator recovery amount for the very fast raise service. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE5MIN_ACE
The Raise5Min FCAS Recovery Amount for the Participant and Region from ACE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE5MIN_ASOE
The Raise5Min FCAS Recovery Amount for the Participant and Region from ASOE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE5MIN_RECOVERY
Recovery amount for the Raise 5 Minute service attributable to customer connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE5MIN_RECOVERY_GEN
Recovery amount for the Raise 5 Minute service attributable to generator connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE6SEC_ACE
The Raise6Sec FCAS Recovery Amount for the Participant and Region from ACE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE6SEC_ASOE
The Raise6Sec FCAS Recovery Amount for the Participant and Region from ASOE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE6SEC_RECOVERY
Recovery amount for the Raise 6 Second service attributable to customer connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE60SEC_ACE
The Raise60Sec FCAS Recovery Amount for the Participant and Region from ACE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE60SEC_ASOE
The Raise60Sec FCAS Recovery Amount for the Participant and Region from ASOE MWh Portion. NULL Value for Settlement Dates prior to the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE60SEC_RECOVERY
Recovery amount for the Raise 60 Second service attributable to customer connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_ACE
The Raise Regulation FCAS Residue Recovery Amount using ACE MWh values excluding the MPF Connection Points. NULL Value for Settlement Dates prior to the IESS rule effective date. For Settlement dates past FPP Rule Effective date this column will be RAISEREG_USED_ACE + RAISEREG_UNUSED_ACE
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_ASOE
This column is RAISEREG_USED_ASOE + RAISEREG_UNUSED_ASOE. For Settlement dates prior to FPP Rule Effective date this column will be NULL
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_RECOVERY
For Settlement Date post the IESS rule effective date the column represent the Raise Regulation FCAS MPF Recovery Amount from Customer and Generator Connection Point MPFs only. Residue Recovery Amount is not included in this amount. For Settlement Dates past FPP Rule Effective Dates this column will be NULL.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_RECOVERY_GEN
For Settlement date prior to the IESS rule effective date, the column represent Sum of MPF Raise Regulation recovery amount from Generator Connection Points. NULL for Settlement dates post the IESS rule effective date.
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_UNUSED
The RaiseReg Unused amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_UNUSED_ACE
The RaiseReg Unused ACE Portion amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_UNUSED_ASOE
The RaiseReg Unused ASOE Portion amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_UNUSED_RESIDUAL
The RaiseReg Unused Residual amount for the Participant and Region RaiseReg_Unused_ACE + RaiseReg_Unused_ASOE
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_USED
The RaiseReg Used amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_USED_ACE
The RaiseReg Used ACE Portion amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_USED_ASOE
The RaiseReg Used ASOE Portion amount for the Participant and Region
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISEREG_USED_RESIDUAL
The RaiseReg Used Residual amount for the Participant and Region RaiseReg_Used_ACE + RaiseReg_Used_ASOE
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is not mandatory.
RAISE6SEC_RECOVERY_GEN
Recovery amount for the Raise 6 Second service attributable to generator connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is unused.
RAISE60SEC_RECOVERY_GEN
Recovery amount for the Raise 60 Second service attributable to generator connection points. NULL for Settlement dates post the IESS rule effective date
SQL Type: NUMBER(18,8)
Polars Type: pl.Float64
This column is unused.
New Data Timing
Daily Billing Run & Posting a PRELIM/FINAL and REVISE Billing Run
Code Examples
Polars
Casting is enums, categoricals etc is not essential, but may speed up parsing.
Swapping int for pl.UInt16, pl.Int32 would also speed up parsing. However some of the datatypes are inferred, so they may be wrong.
This code deduplicates for you. Deduplication is normally only required across multiple months.
This code assumes that all columns are present, which may not be true for older files.
import polars as pl
import polars.selectors as cs
# e.g. "2029/03/15 00:05:00"
dt_s_fmt = "%Y/%m/%d %H:%M:%S"
csv_paths = ["SOMEFILE.CSV", "OTHERFILE.CSV"]
lf = (
pl.concat(
[
pl.scan_csv(
csv_path, # must be unzipped beforehand
skip_rows=1, # skip the header
infer_schema=False, # much faster
)
.filter(cs.by_index(0) == "D") # drop the footer
.select(~cs.by_index(range(4))) # drop metadata columns
for csv_path in csv_paths
],
how="diagonal_relaxed",
)
.with_columns(
pl.col("SETTLEMENTDATE", "LASTCHANGED").str.strptime(pl.Datetime, dt_s_fmt),
)
.cast(
{
"PARTICIPANTID": pl.Categorical,
"PERIODID": int, # or pl.Int16
"REGIONID": pl.Enum(["QLD1", "VIC1", "TAS1", "NSW1", "SA1", "SNOWY1"]),
"VERSIONNO": str,
"LOWER1SEC_ACE": pl.Float64,
"LOWER1SEC_ASOE": pl.Float64,
"LOWER1SEC_RECOVERY": pl.Float64,
"LOWER1SEC_RECOVERY_GEN": pl.Float64,
"LOWER5MIN_ACE": pl.Float64,
"LOWER5MIN_ASOE": pl.Float64,
"LOWER5MIN_RECOVERY": pl.Float64,
"LOWER5MIN_RECOVERY_GEN": pl.Float64,
"LOWER6SEC_ACE": pl.Float64,
"LOWER6SEC_ASOE": pl.Float64,
"LOWER6SEC_RECOVERY": pl.Float64,
"LOWER6SEC_RECOVERY_GEN": pl.Float64,
"LOWER60SEC_ACE": pl.Float64,
"LOWER60SEC_ASOE": pl.Float64,
"LOWER60SEC_RECOVERY": pl.Float64,
"LOWER60SEC_RECOVERY_GEN": pl.Float64,
"LOWERREG_ACE": pl.Float64,
"LOWERREG_ASOE": pl.Float64,
"LOWERREG_RECOVERY": pl.Float64,
"LOWERREG_RECOVERY_GEN": pl.Float64,
"LOWERREG_UNUSED": pl.Float64,
"LOWERREG_UNUSED_ACE": pl.Float64,
"LOWERREG_UNUSED_ASOE": pl.Float64,
"LOWERREG_UNUSED_RESIDUAL": pl.Float64,
"LOWERREG_USED": pl.Float64,
"LOWERREG_USED_ACE": pl.Float64,
"LOWERREG_USED_ASOE": pl.Float64,
"LOWERREG_USED_RESIDUAL": pl.Float64,
"RAISE1SEC_ACE": pl.Float64,
"RAISE1SEC_ASOE": pl.Float64,
"RAISE1SEC_RECOVERY": pl.Float64,
"RAISE1SEC_RECOVERY_GEN": pl.Float64,
"RAISE5MIN_ACE": pl.Float64,
"RAISE5MIN_ASOE": pl.Float64,
"RAISE5MIN_RECOVERY": pl.Float64,
"RAISE5MIN_RECOVERY_GEN": pl.Float64,
"RAISE6SEC_ACE": pl.Float64,
"RAISE6SEC_ASOE": pl.Float64,
"RAISE6SEC_RECOVERY": pl.Float64,
"RAISE60SEC_ACE": pl.Float64,
"RAISE60SEC_ASOE": pl.Float64,
"RAISE60SEC_RECOVERY": pl.Float64,
"RAISEREG_ACE": pl.Float64,
"RAISEREG_ASOE": pl.Float64,
"RAISEREG_RECOVERY": pl.Float64,
"RAISEREG_RECOVERY_GEN": pl.Float64,
"RAISEREG_UNUSED": pl.Float64,
"RAISEREG_UNUSED_ACE": pl.Float64,
"RAISEREG_UNUSED_ASOE": pl.Float64,
"RAISEREG_UNUSED_RESIDUAL": pl.Float64,
"RAISEREG_USED": pl.Float64,
"RAISEREG_USED_ACE": pl.Float64,
"RAISEREG_USED_ASOE": pl.Float64,
"RAISEREG_USED_RESIDUAL": pl.Float64,
"RAISE6SEC_RECOVERY_GEN": pl.Float64,
"RAISE60SEC_RECOVERY_GEN": pl.Float64,
}
)
# Drop deprecated/unused columns
.drop("RAISE6SEC_RECOVERY_GEN", "RAISE60SEC_RECOVERY_GEN")
# Deduplicate
# We want one row per ['PARTICIPANTID', 'PERIODID', 'REGIONID', 'SETTLEMENTDATE', 'VERSIONNO']
# Tie-breaker: greatest value of ['LASTCHANGED']
.sort(["LASTCHANGED"], descending=False)
.unique(
subset=["PARTICIPANTID", "PERIODID", "REGIONID", "SETTLEMENTDATE", "VERSIONNO"],
keep="last",
)
)
Nemosis
This table is not yet available in Nemosis.
Availability
Visibility: Private
This table is not available in the public monthly MMSDM archive. Is is only available to registered market participants over FTP inside a VPN.
Deduplication and PDR Loader Configuration
The primary keys are:
The transaction type is "insert", which means that you will usually not see duplicate data. If you do, you can deduplicate based on the primary keys, without sorting first. Rows from different files with the same primary keys should have the same values.
| Report Name | Report Subtype | Version |
|---|---|---|
| SETTLEMENTS | FCAS_RECOVERY | 8 |
| SETTLEMENTS | FCAS_RECOVERY | 9 |
This means that the CSV files start with metadata columns:
or
Indexes
Links
This page as JSON (schema documented here, but may change)
Download a JSON Schema specification for this table.
Official AEMO schema documentation (multi-page):
Other Information
Package: SETTLEMENT_DATA