Skip to content

PREDISPATCHPRICE

PREDISPATCHPRICE records predispatch prices for each region by period for each predispatch run, including fields to handle the Ancillary Services functionality.

PREDISPATCHPRICE data is public, so is available to all participants.

Source

PREDISPATCHPRICE updates with every thirty-minute predispatch run.

Tip

1 second, 6 second, 5 minute, 60 second and regulation refer to types of FCAS markets.

Column Schema

DATETIME

Period date and time

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

This column is mandatory, and a primary key.

Example: 2026/09/01 04:30:00

REGIONID

Unique 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.

EEP

Excess energy price

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

This column is not mandatory.

Example: 0

INTERVENTION

Flag to indicate if this result set was sourced from the pricing run (INTERVENTION=0) or the physical run (INTERVENTION=1). In the event that there is not intervention in the market, both pricing and physical runs correspond to INTERVENTION=0

Warning

Unlike most tables with an INTERVENTION column, INTERVENTION is not a primary key of PREDISPATCHPRICE.

For more information, see the dedicated documentation page.

SQL Type: NUMBER(2,0) Polars Type: pl.Boolean

This column is not mandatory.

Example: 0

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/09/01 04:02:00

LOWER1SECROP

Regional override price for 1 second FCAS lower

Warning

This column does not appear in the official schema documentation, but does appear in the CSVs.

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

This column is not mandatory.

Examples: 0.01, 0, 0.94

LOWER1SECRRP

Regional Lower 1Sec Price - RegionSolution element L1Price attribute

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

This column is not mandatory.

Examples: 0.01, 0, 0.38

LOWER5MINRRP

Regional reference price for this dispatch period

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

This column is not mandatory.

Examples: 0.01, 0, 1, 1.79

LOWER6SECRRP

Regional reference price for this dispatch period

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

This column is not mandatory.

Examples: 0.01, 4.99538

LOWER60SECRRP

Regional reference price for this dispatch period

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

This column is not mandatory.

Examples: 0.01, 6.99

LOWERREGRRP

Regional reference price for this dispatch period

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

This column is not mandatory.

Examples: 0.01, 1, 170.15503, 23200

PERIODID

PERIODID is just a period count, starting from 1 for each predispatch run. Use DATETIME to determine half hour period.

SQL Type: VARCHAR2(20) Polars Type: str

This column is not mandatory.

Example: 01

PREDISPATCHSEQNO

Unique identifier of predispatch run in the form YYYYMMDDPP with 01 at 04:30

SQL Type: VARCHAR2(20) Polars Type: str

This column is not mandatory.

Examples:

  • 2026090101
  • 2026090508

RAISE1SECROP

Regional override price for 1 second FCAS raise

Warning

This column does not appear in the official schema documentation, but does appear in the CSVs.

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

This column is not mandatory.

Examples: 0.01, 0, 15, 30

RAISE1SECRRP

Regional Raise 1Sec Price - R1Price attribute after capping /flooring

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

This column is not mandatory.

Examples: 0.01, 0, 0.09

RAISE5MINRRP

Regional reference price for this dispatch period

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

This column is not mandatory.

Examples: 0.01, 0, 0.38

RAISE6SECRRP

Regional reference price for this dispatch period

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

This column is not mandatory.

Examples: 0.01, 0, 2.43714

RAISE60SECRRP

Regional reference price for this dispatch period

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

This column is not mandatory.

Examples: 0.01, 0, 3, 1.68435

RAISEREGRRP

Regional reference price for this dispatch period

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

This column is not mandatory.

Examples: 0.01, 1, 298.28, 8

RRP

Regional Reference Price

For more information, see the dedicated documentation page.

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

This column is not mandatory.

Examples: -0.31367, 0.00002, 0, 184

RUNNO

LP Solver Predispatch run no, typically 1. It increments if the case is re-run.

SQL Type: NUMBER(3,0) Polars Type: pl.UInt16

This column is not mandatory.

Example: 1

EEP1

Not used

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

This column is unused.

EEP2

Not used

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

This column is unused.

EEP3

Not used

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

This column is unused.

EEP4

Not used

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

This column is unused.

EEP5

Not used

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

This column is unused.

EEP6

Not used

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

This column is unused.

EEP7

Not used

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

This column is unused.

EEP8

Not used

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

This column is unused.

RRP1

Not used

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

This column is unused.

RRP2

Not used

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

This column is unused.

RRP3

Not used

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

This column is unused.

RRP4

Not used

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

This column is unused.

RRP5

Not used

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

This column is unused.

RRP6

Not used

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

This column is unused.

RRP7

Not used

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

This column is unused.

RRP8

Not used

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

This column is unused.

New Data Timing

Every thirty-minute pre-dispatch 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("DATETIME", "LASTCHANGED").str.strptime(pl.Datetime, dt_s_fmt),
    )
    # Polars can't cast string straight to bool. Need to go via something else.
    .cast({"INTERVENTION": pl.UInt8})
    .cast(
        {
            "REGIONID": pl.Enum(["QLD1", "VIC1", "TAS1", "NSW1", "SA1", "SNOWY1"]),
            "EEP": pl.Float64,
            "INTERVENTION": pl.Boolean,
            "LOWER1SECROP": pl.Float64,
            "LOWER1SECRRP": pl.Float64,
            "LOWER5MINRRP": pl.Float64,
            "LOWER6SECRRP": pl.Float64,
            "LOWER60SECRRP": pl.Float64,
            "LOWERREGRRP": pl.Float64,
            "PERIODID": str,
            "PREDISPATCHSEQNO": str,
            "RAISE1SECROP": pl.Float64,
            "RAISE1SECRRP": pl.Float64,
            "RAISE5MINRRP": pl.Float64,
            "RAISE6SECRRP": pl.Float64,
            "RAISE60SECRRP": pl.Float64,
            "RAISEREGRRP": pl.Float64,
            "RRP": pl.Float64,
            "RUNNO": int,  # or pl.UInt16
            "EEP1": pl.Float64,
            "EEP2": pl.Float64,
            "EEP3": pl.Float64,
            "EEP4": pl.Float64,
            "EEP5": pl.Float64,
            "EEP6": pl.Float64,
            "EEP7": pl.Float64,
            "EEP8": pl.Float64,
            "RRP1": pl.Float64,
            "RRP2": pl.Float64,
            "RRP3": pl.Float64,
            "RRP4": pl.Float64,
            "RRP5": pl.Float64,
            "RRP6": pl.Float64,
            "RRP7": pl.Float64,
            "RRP8": pl.Float64,
        }
    )
    # Drop deprecated/unused columns
    .drop(
        "EEP1",
        "EEP2",
        "EEP3",
        "EEP4",
        "EEP5",
        "EEP6",
        "EEP7",
        "EEP8",
        "RRP1",
        "RRP2",
        "RRP3",
        "RRP4",
        "RRP5",
        "RRP6",
        "RRP7",
        "RRP8",
    )
    # Deduplicate
    # We want one row per ['DATETIME', 'REGIONID']
    # Tie-breaker: greatest value of ['LASTCHANGED']
    .sort(["LASTCHANGED"], descending=False)
    .unique(subset=["DATETIME", "REGIONID"], keep="last")
)

Nemosis

This table is not yet available in Nemosis.

Example File

From PUBLIC_ARCHIVE_PREDISPATCHPRICE_FILE01_202609010000.zip

PREDISPATCHSEQNORUNNOREGIONIDPERIODIDINTERVENTIONRRPEEPRRP1EEP1RRP2EEP2RRP3EEP3RRP4EEP4RRP5EEP5RRP6EEP6RRP7EEP7RRP8EEP8LASTCHANGEDDATETIMERAISE6SECRRPRAISE60SECRRPRAISE5MINRRPRAISEREGRRPLOWER6SECRRPLOWER60SECRRPLOWER5MINRRPLOWERREGRRPRAISE1SECRRPLOWER1SECRRP
20260901011NSW101064.9502026/09/01 04:02:002026/09/01 04:30:000.040.030.013.440.010.010.0110.020
20260901011QLD101054.7502026/09/01 04:02:002026/09/01 04:30:000.040.030.013.440.010.010.0110.020
20260901011SA1010-2.5862202026/09/01 04:02:002026/09/01 04:30:000.040.030.013.440.010.010.0110.020
20260901011TAS1010-2.4702502026/09/01 04:02:002026/09/01 04:30:000.380.380.013.530.010.010.0119.220250.020
20260901011VIC1010-2.9902026/09/01 04:02:002026/09/01 04:30:000.040.030.013.440.010.010.0110.020
20260901021NSW101065.5102026/09/01 04:32:002026/09/01 05:00:000.040.030.013.440.010.010.010.70.020
20260901021QLD101054.9125202026/09/01 04:32:002026/09/01 05:00:000.040.030.013.440.010.010.010.70.020
20260901021SA10100.008602026/09/01 04:32:002026/09/01 05:00:000.040.030.013.440.010.010.010.70.020
20260901021TAS10100.7005702026/09/01 04:32:002026/09/01 05:00:000.380.380.013.530.010.010.012.650.020
20260901021VIC10100.0102026/09/01 04:32:002026/09/01 05:00:000.040.030.013.440.010.010.010.70.020
20260901031TAS10100.010502026/09/01 05:02:012026/09/01 05:30:000.380.380.014.530.010.010.012.650.020.01
...

CSETP.WORLDDVD_PREDISPATCHPRICEAEMOPUBLIC2026/10/0916:27:55001791527275952MONTHLY_ARCHIVE001791527275952
IPREDISPATCHREGION_PRICES2PREDISPATCHSEQNORUNNOREGIONIDPERIODIDINTERVENTIONRRPEEPRRP1EEP1RRP2EEP2RRP3EEP3RRP4EEP4RRP5EEP5RRP6EEP6RRP7EEP7RRP8EEP8LASTCHANGEDDATETIMERAISE6SECRRPRAISE60SECRRPRAISE5MINRRPRAISEREGRRPLOWER6SECRRPLOWER60SECRRPLOWER5MINRRPLOWERREGRRPRAISE1SECRRPLOWER1SECRRP
DPREDISPATCHREGION_PRICES220260901011NSW101064.9502026/09/01 04:02:002026/09/01 04:30:000.040.030.013.440.010.010.0110.020
DPREDISPATCHREGION_PRICES220260901011QLD101054.7502026/09/01 04:02:002026/09/01 04:30:000.040.030.013.440.010.010.0110.020
DPREDISPATCHREGION_PRICES220260901011SA1010-2.5862202026/09/01 04:02:002026/09/01 04:30:000.040.030.013.440.010.010.0110.020
DPREDISPATCHREGION_PRICES220260901011TAS1010-2.4702502026/09/01 04:02:002026/09/01 04:30:000.380.380.013.530.010.010.0119.220250.020
DPREDISPATCHREGION_PRICES220260901011VIC1010-2.9902026/09/01 04:02:002026/09/01 04:30:000.040.030.013.440.010.010.0110.020
DPREDISPATCHREGION_PRICES220260901021NSW101065.5102026/09/01 04:32:002026/09/01 05:00:000.040.030.013.440.010.010.010.70.020
DPREDISPATCHREGION_PRICES220260901021QLD101054.9125202026/09/01 04:32:002026/09/01 05:00:000.040.030.013.440.010.010.010.70.020
DPREDISPATCHREGION_PRICES220260901021SA10100.008602026/09/01 04:32:002026/09/01 05:00:000.040.030.013.440.010.010.010.70.020
DPREDISPATCHREGION_PRICES220260901021TAS10100.7005702026/09/01 04:32:002026/09/01 05:00:000.380.380.013.530.010.010.012.650.020
DPREDISPATCHREGION_PRICES220260901021VIC10100.0102026/09/01 04:32:002026/09/01 05:00:000.040.030.013.440.010.010.010.70.020
DPREDISPATCHREGION_PRICES220260901031TAS10100.010502026/09/01 05:02:012026/09/01 05:30:000.380.380.014.530.010.010.012.650.020.01
...
CEND OF REPORT1003

PREDISPATCHSEQNO,RUNNO,REGIONID,PERIODID,INTERVENTION,RRP,EEP,RRP1,EEP1,RRP2,EEP2,RRP3,EEP3,RRP4,EEP4,RRP5,EEP5,RRP6,EEP6,RRP7,EEP7,RRP8,EEP8,LASTCHANGED,DATETIME,RAISE6SECRRP,RAISE60SECRRP,RAISE5MINRRP,RAISEREGRRP,LOWER6SECRRP,LOWER60SECRRP,LOWER5MINRRP,LOWERREGRRP,RAISE1SECRRP,LOWER1SECRRP
2026090101,1,NSW1,01,0,64.95,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,1,0.02,0
2026090101,1,QLD1,01,0,54.75,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,1,0.02,0
2026090101,1,SA1,01,0,-2.58622,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,1,0.02,0
2026090101,1,TAS1,01,0,-2.47025,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.38,0.38,0.01,3.53,0.01,0.01,0.01,19.22025,0.02,0
2026090101,1,VIC1,01,0,-2.99,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,1,0.02,0
2026090102,1,NSW1,01,0,65.51,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,0.7,0.02,0
2026090102,1,QLD1,01,0,54.91252,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,0.7,0.02,0
2026090102,1,SA1,01,0,0.0086,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,0.7,0.02,0
2026090102,1,TAS1,01,0,0.70057,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.38,0.38,0.01,3.53,0.01,0.01,0.01,2.65,0.02,0
2026090102,1,VIC1,01,0,0.01,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,0.7,0.02,0
2026090103,1,TAS1,01,0,0.0105,0,,,,,,,,,,,,,,,,,"2026/09/01 05:02:01","2026/09/01 05:30:00",0.38,0.38,0.01,4.53,0.01,0.01,0.01,2.65,0.02,0.01
...
C,SETP.WORLD,DVD_PREDISPATCHPRICE,AEMO,PUBLIC,2026/10/09,16:27:55,001791527275952,MONTHLY_ARCHIVE,001791527275952
I,PREDISPATCH,REGION_PRICES,2,PREDISPATCHSEQNO,RUNNO,REGIONID,PERIODID,INTERVENTION,RRP,EEP,RRP1,EEP1,RRP2,EEP2,RRP3,EEP3,RRP4,EEP4,RRP5,EEP5,RRP6,EEP6,RRP7,EEP7,RRP8,EEP8,LASTCHANGED,DATETIME,RAISE6SECRRP,RAISE60SECRRP,RAISE5MINRRP,RAISEREGRRP,LOWER6SECRRP,LOWER60SECRRP,LOWER5MINRRP,LOWERREGRRP,RAISE1SECRRP,LOWER1SECRRP
D,PREDISPATCH,REGION_PRICES,2,2026090101,1,NSW1,01,0,64.95,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,1,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090101,1,QLD1,01,0,54.75,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,1,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090101,1,SA1,01,0,-2.58622,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,1,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090101,1,TAS1,01,0,-2.47025,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.38,0.38,0.01,3.53,0.01,0.01,0.01,19.22025,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090101,1,VIC1,01,0,-2.99,0,,,,,,,,,,,,,,,,,"2026/09/01 04:02:00","2026/09/01 04:30:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,1,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090102,1,NSW1,01,0,65.51,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,0.7,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090102,1,QLD1,01,0,54.91252,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,0.7,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090102,1,SA1,01,0,0.0086,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,0.7,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090102,1,TAS1,01,0,0.70057,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.38,0.38,0.01,3.53,0.01,0.01,0.01,2.65,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090102,1,VIC1,01,0,0.01,0,,,,,,,,,,,,,,,,,"2026/09/01 04:32:00","2026/09/01 05:00:00",0.04,0.03,0.01,3.44,0.01,0.01,0.01,0.7,0.02,0
D,PREDISPATCH,REGION_PRICES,2,2026090103,1,TAS1,01,0,0.0105,0,,,,,,,,,,,,,,,,,"2026/09/01 05:02:01","2026/09/01 05:30:00",0.38,0.38,0.01,4.53,0.01,0.01,0.01,2.65,0.02,0.01
...
C,"END OF REPORT",1003

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 1 of 2015. 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 1 MB when zipped, 11 MB as unzipped CSV.

Deduplication and PDR Loader Configuration

The primary keys are:

The transaction type is "UPDATE-INSERT", which means that you will likely see duplicate data with different values.

You should deduplicate by sorting based on LASTCHANGED, within each group of primary keys.

PDR Loader configuration is:

Report Name Report Subtype Version
PREDISPATCH REGION_PRICES 2

This means that the CSV files start with metadata columns:

I,PREDISPATCH,REGION_PRICES,2,...
D,PREDISPATCH,REGION_PRICES,2,...

ROW_FILTER_TYPE is LASTCHANGED

Indexes

There is more than one index.

Index 1:

Index 2:

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: PRE_DISPATCH