Skip to content

FPP_HIST_REGION_PERFORMANCE

This report delivers the historical region performance calculated based on a historical period and effective for a billing period (aligned to the settlement week). This calculated historical region performance calculation is an input into the constraint level residual default contribution factor (DCF) which is published in FPP_FORECAST_RESIDUAL_DCF

Column Schema

EFFECTIVE_END_DATETIME

Effective period end date and time (DD/MM/YYYY HH24:MI:SS) fixed to the UTC+10 time zone (NEM time) of the effective period for this historical performance values related to the region ID. This is the billing period over which these historical performance values will be effective / applied over. This will align to the settlement week.

SQL Type: DATE Polars Type: pl.Datetime()

This column is mandatory, and a primary key.

Example: 2025/05/18 00:00:00

EFFECTIVE_START_DATETIME

Effective period start date and time (DD/MM/YYYY HH24:MI:SS) fixed to the UTC+10 time zone (NEM time) of the effective period for this historical performance values related to the region ID. This is the billing period over which these historical performance values will be effective / applied over. This will align to the settlement week.

SQL Type: DATE Polars Type: pl.Datetime()

This column is mandatory, and a primary key.

Example: 2025/05/11 00:05:00

REGIONID

Region ID of the historical region performance

For more information, see the dedicated documentation page.

The SQL type is VARCHAR2(20). This is actually a factor/enum, with values:

  • QLD1

  • VIC1

  • TAS1

  • NSW1

  • SA1

  • SNOWY1

This column is mandatory, and a primary key.

VERSIONNO

Version (FPP historical performance calculation run number from the FPP database) Note that due to the these historical calculations, the version numbers listed here are different to the normal FPP run number version for trading interval calculations.

SQL Type: NUMBER(10) Polars Type: pl.UInt64

This column is mandatory, and a primary key.

Examples: 25, 134

FPP_HIST_LOWER_PERFORMANCE

Calculated FPP historical lower performance from the historical performance period (substitute lower performance calculated used for negative contribution factor calculation when live performance is unavailable) - please see the NER and FPP procedure documents for further information

SQL Type: NUMBER(18,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.13998, 0, -49.19745

FPP_HIST_RAISE_PERFORMANCE

Calculated FPP historical raise performance from the historical performance period (substitute raise performance calculated used for negative contribution factor calculation when live performance is unavailable) - please see the NER and FPP procedure documents for further information

SQL Type: NUMBER(18,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.03196, 0, -61.90924

HIST_PERIOD_END_DATETIME

Historical period end date and time (DD/MM/YYYY HH24:MI:SS) fixed to the UTC+10 time zone (NEM time) of the historical period for this historical performance calculation related to the region ID. This is the historical period of trading intervals that feed into the historical performance calculation. This will align to the settlement week.

SQL Type: DATE Polars Type: pl.Datetime()

This column is not mandatory.

Example: 2025/04/27 00:00:00

HIST_PERIOD_START_DATETIME

Historical period start date and time (DD/MM/YYYY HH24:MI:SS) fixed to the UTC+10 time zone (NEM time) of the historical period for this historical performance calculation related to the region ID. This is the historical period of trading intervals that feed into the historical performance calculation. This will align to the settlement week.

SQL Type: DATE Polars Type: pl.Datetime()

This column is not mandatory.

Example: 2025/04/20 00:05:00

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/05/16 18:06:11

REG_HIST_LOWER_PERFORMANCE

Calculated regulation historical lower performance from the historical performance period (substitute lower performance when live performance is unavailable and default lower performance used for default contribution factor calculation) - please see the NER and FPP procedure documents for further information

SQL Type: NUMBER(18,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: -2.77757, -60.9105

REG_HIST_RAISE_PERFORMANCE

Calculated regulation historical raise performance from the historical performance period (substitute raise performance when live performance is unavailable and default raise performance used for default contribution factor calculation) - please see the NER and FPP procedure documents for further information

SQL Type: NUMBER(18,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.32772, -67.26472

New Data Timing

Approval of an FPP historical performance calculation run (i.e. every week)

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(
            "EFFECTIVE_END_DATETIME",
            "EFFECTIVE_START_DATETIME",
            "HIST_PERIOD_END_DATETIME",
            "HIST_PERIOD_START_DATETIME",
            "LASTCHANGED",
        ).str.strptime(pl.Datetime, dt_s_fmt),
    )
    .cast(
        {
            "REGIONID": pl.Enum(["QLD1", "VIC1", "TAS1", "NSW1", "SA1", "SNOWY1"]),
            "VERSIONNO": int,  # or pl.UInt64
            "FPP_HIST_LOWER_PERFORMANCE": pl.Float64,
            "FPP_HIST_RAISE_PERFORMANCE": pl.Float64,
            "REG_HIST_LOWER_PERFORMANCE": pl.Float64,
            "REG_HIST_RAISE_PERFORMANCE": pl.Float64,
        }
    )
    # Deduplicate
    # We want one row per ['EFFECTIVE_END_DATETIME', 'EFFECTIVE_START_DATETIME', 'REGIONID', 'VERSIONNO']
    # Tie-breaker: greatest value of LASTCHANGED
    .sort(LASTCHANGED, descending=False)
    .unique(
        subset=[
            "EFFECTIVE_END_DATETIME",
            "EFFECTIVE_START_DATETIME",
            "REGIONID",
            "VERSIONNO",
        ],
        keep="last",
    )
)

Nemosis

This table is not yet available in Nemosis.

Example File

From PUBLIC_ARCHIVE_FPP_HIST_REGION_PERFORMANCE_FILE01_202609010000.zip

REGIONIDEFFECTIVE_START_DATETIMEEFFECTIVE_END_DATETIMEVERSIONNOHIST_PERIOD_START_DATETIMEHIST_PERIOD_END_DATETIMEREG_HIST_RAISE_PERFORMANCEREG_HIST_LOWER_PERFORMANCEFPP_HIST_RAISE_PERFORMANCEFPP_HIST_LOWER_PERFORMANCELASTCHANGED
NSW12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-50.285-35.22937-35.94344-22.5331
QLD12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-34.2235-22.14236-25.6519-13.44984
SA12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-19.40282-10.37405-9.46665-2.48504
TAS12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-14.61143-7.58791-12.3206-0.80364
VIC12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-38.92143-60.9105-30.19142-49.19745
NSW12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-28.76617-29.41293-15.51947-21.24568
QLD12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-21.71494-18.54661-14.03915-11.01945
SA12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-15.59542-10.40389-8.84863-4.54947
TAS12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-5.69472-5.69033-3.30294-3.56137
VIC12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-25.57263-19.50717-19.48168-11.39248
NSW12026/08/02 00:05:002026/08/09 00:00:001212026/07/12 00:05:002026/07/19 00:00:00-31.05519-22.5336-23.33106-16.651092026/07/25 18:09:06
...

CSETP.WORLDDVD_FPP_HIST_REGION_PERFORMANCEAEMOPUBLIC2026/10/0918:39:03001791535143646MONTHLY_ARCHIVE001791535143646
IFPPHIST_REGION_PERFORMANCE1REGIONIDEFFECTIVE_START_DATETIMEEFFECTIVE_END_DATETIMEVERSIONNOHIST_PERIOD_START_DATETIMEHIST_PERIOD_END_DATETIMEREG_HIST_RAISE_PERFORMANCEREG_HIST_LOWER_PERFORMANCEFPP_HIST_RAISE_PERFORMANCEFPP_HIST_LOWER_PERFORMANCELASTCHANGED
DFPPHIST_REGION_PERFORMANCE1NSW12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-50.285-35.22937-35.94344-22.5331
DFPPHIST_REGION_PERFORMANCE1QLD12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-34.2235-22.14236-25.6519-13.44984
DFPPHIST_REGION_PERFORMANCE1SA12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-19.40282-10.37405-9.46665-2.48504
DFPPHIST_REGION_PERFORMANCE1TAS12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-14.61143-7.58791-12.3206-0.80364
DFPPHIST_REGION_PERFORMANCE1VIC12025/11/23 00:05:002025/11/30 00:00:00622025/11/02 00:05:002025/11/09 00:00:00-38.92143-60.9105-30.19142-49.19745
DFPPHIST_REGION_PERFORMANCE1NSW12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-28.76617-29.41293-15.51947-21.24568
DFPPHIST_REGION_PERFORMANCE1QLD12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-21.71494-18.54661-14.03915-11.01945
DFPPHIST_REGION_PERFORMANCE1SA12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-15.59542-10.40389-8.84863-4.54947
DFPPHIST_REGION_PERFORMANCE1TAS12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-5.69472-5.69033-3.30294-3.56137
DFPPHIST_REGION_PERFORMANCE1VIC12025/12/28 00:05:002026/01/04 00:00:00702025/12/07 00:05:002025/12/14 00:00:00-25.57263-19.50717-19.48168-11.39248
DFPPHIST_REGION_PERFORMANCE1NSW12026/08/02 00:05:002026/08/09 00:00:001212026/07/12 00:05:002026/07/19 00:00:00-31.05519-22.5336-23.33106-16.651092026/07/25 18:09:06
...
CEND OF REPORT378

REGIONID,EFFECTIVE_START_DATETIME,EFFECTIVE_END_DATETIME,VERSIONNO,HIST_PERIOD_START_DATETIME,HIST_PERIOD_END_DATETIME,REG_HIST_RAISE_PERFORMANCE,REG_HIST_LOWER_PERFORMANCE,FPP_HIST_RAISE_PERFORMANCE,FPP_HIST_LOWER_PERFORMANCE,LASTCHANGED
NSW1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-50.285,-35.22937,-35.94344,-22.5331,
QLD1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-34.2235,-22.14236,-25.6519,-13.44984,
SA1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-19.40282,-10.37405,-9.46665,-2.48504,
TAS1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-14.61143,-7.58791,-12.3206,-0.80364,
VIC1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-38.92143,-60.9105,-30.19142,-49.19745,
NSW1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-28.76617,-29.41293,-15.51947,-21.24568,
QLD1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-21.71494,-18.54661,-14.03915,-11.01945,
SA1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-15.59542,-10.40389,-8.84863,-4.54947,
TAS1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-5.69472,-5.69033,-3.30294,-3.56137,
VIC1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-25.57263,-19.50717,-19.48168,-11.39248,
NSW1,"2026/08/02 00:05:00","2026/08/09 00:00:00",121,"2026/07/12 00:05:00","2026/07/19 00:00:00",-31.05519,-22.5336,-23.33106,-16.65109,"2026/07/25 18:09:06"
...
C,SETP.WORLD,DVD_FPP_HIST_REGION_PERFORMANCE,AEMO,PUBLIC,2026/10/09,18:39:03,001791535143646,MONTHLY_ARCHIVE,001791535143646
I,FPP,HIST_REGION_PERFORMANCE,1,REGIONID,EFFECTIVE_START_DATETIME,EFFECTIVE_END_DATETIME,VERSIONNO,HIST_PERIOD_START_DATETIME,HIST_PERIOD_END_DATETIME,REG_HIST_RAISE_PERFORMANCE,REG_HIST_LOWER_PERFORMANCE,FPP_HIST_RAISE_PERFORMANCE,FPP_HIST_LOWER_PERFORMANCE,LASTCHANGED
D,FPP,HIST_REGION_PERFORMANCE,1,NSW1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-50.285,-35.22937,-35.94344,-22.5331,
D,FPP,HIST_REGION_PERFORMANCE,1,QLD1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-34.2235,-22.14236,-25.6519,-13.44984,
D,FPP,HIST_REGION_PERFORMANCE,1,SA1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-19.40282,-10.37405,-9.46665,-2.48504,
D,FPP,HIST_REGION_PERFORMANCE,1,TAS1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-14.61143,-7.58791,-12.3206,-0.80364,
D,FPP,HIST_REGION_PERFORMANCE,1,VIC1,"2025/11/23 00:05:00","2025/11/30 00:00:00",62,"2025/11/02 00:05:00","2025/11/09 00:00:00",-38.92143,-60.9105,-30.19142,-49.19745,
D,FPP,HIST_REGION_PERFORMANCE,1,NSW1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-28.76617,-29.41293,-15.51947,-21.24568,
D,FPP,HIST_REGION_PERFORMANCE,1,QLD1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-21.71494,-18.54661,-14.03915,-11.01945,
D,FPP,HIST_REGION_PERFORMANCE,1,SA1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-15.59542,-10.40389,-8.84863,-4.54947,
D,FPP,HIST_REGION_PERFORMANCE,1,TAS1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-5.69472,-5.69033,-3.30294,-3.56137,
D,FPP,HIST_REGION_PERFORMANCE,1,VIC1,"2025/12/28 00:05:00","2026/01/04 00:00:00",70,"2025/12/07 00:05:00","2025/12/14 00:00:00",-25.57263,-19.50717,-19.48168,-11.39248,
D,FPP,HIST_REGION_PERFORMANCE,1,NSW1,"2026/08/02 00:05:00","2026/08/09 00:00:00",121,"2026/07/12 00:05:00","2026/07/19 00:00:00",-31.05519,-22.5336,-23.33106,-16.65109,"2026/07/25 18:09:06"
...
C,"END OF REPORT",378

Availability

Visibility: Public

This table is in the public monthly MMSDM archive.

I have collated the list of all those files into one place, in this CSV metadata file. (Columns year, month, url, compressed_size in bytes).

The earliest available data is month 4 of 2025. The most recent available data is month 9 of 2026.

Every month in between has a file. (No gaps.)

Data Size

Each year of data is approximately 131 KB when zipped, 1 MB as unzipped CSV.

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.

PDR Loader configuration is:

Report Name Report Subtype Version
FPP HIST_REGION_PERFORMANCE 1

This means that the CSV files start with metadata columns:

I,FPP,HIST_REGION_PERFORMANCE,1,...
D,FPP,HIST_REGION_PERFORMANCE,1,...

This page as JSON (schema documented here, but may change)

Download a JSON Schema specification for this table.

Official AEMO schema documentation

Other Information

Package: FPP