Skip to content

BIDDAYOFFER_D

BIDDAYOFFER_D shows the public summary of the energy and FCAS offers applicable in the Dispatch for the intervals identified. BIDDAYOFFER_D is the parent table to BIDPEROFFER_D.

BIDDAYOFFER_D data is made public after 4am the next day.

Source

BIDDAYOFFER_D updates as ancillary service bids are processed. BIDDAYOFFER_D shows latest accepted energy and ancillary service bids.

Volume

Summary - approximately 1,000 rows per day

Column Schema

BIDTYPE

Bid Type Identifier

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

  • ENERGY

  • LOWERREG

  • LOWER60SEC

  • RAISE5MIN

  • LOWER5MIN

  • LOWER6SEC

  • RAISE60SEC

  • RAISE6SEC

  • RAISEREG

  • RAISE1SEC

  • LOWER1SEC

This column is mandatory, and a primary key.

DIRECTION

The power flow direction to which this offer applies: GEN, LOAD or BIDIRECTIONAL

Warning

Despite AEMO's documentation saying that this column is mandatory, it is missing from older files. It was added to the schema in version 5.3.-

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

  • GEN

  • LOAD

  • BIDIRECTIONAL

This column is mandatory, and a primary key.

DUID

Dispatchable unit identifier

Warning

This column may contain funny characters such as / (slash) or # (hash). This may break hive-style partitioning.

For more information, see the dedicated documentation page.

SQL Type: VARCHAR2(10) Polars Type: pl.Categorical

This column is mandatory, and a primary key.

Examples:

  • ADPBA1
  • ADPPV1
  • AGLHAL
  • AGLSOM
  • ALDGASF1
  • ANGAST1
  • ARWF1
  • ASACLE01
  • ASDEVI01
  • ASDLBY01

SETTLEMENTDATE

Market date for which the bid applied

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

This column is mandatory, and a primary key.

Example: 2026/09/01 00:00:00

Note that AEMO represents dates as datetimes with a midnight time component.

BIDSETTLEMENTDATE

Market date for which the bid was submitted.

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

This column is not mandatory.

Example: 2020/08/21 00:00:00

Note that AEMO represents dates as datetimes with a midnight time component.

DAILYENERGYCONSTRAINT

Maximum energy available from Energy Constrained Plant. (Energy Bids Only)

SQL Type: NUMBER(12,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0, 148, 31299

ENTRYTYPE

Daily if processed before BidCutOff of previous day, otherwise REBID

Warning

AEMO says this field may take a value of Daily, but it actually is DAILY.

Warning

Despite AEMO's description, this field may occasionally take on a third value, DEFAULT for RERT (e.g. with virtual DUID=RT_NSW1, participant NEMRESTR and explanation "Initial Reserve Trader Default Bid").

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

  • DAILY

  • REBID

  • DEFAULT

This column is not mandatory.

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: 2020/08/19 11:54:38

MINIMUMLOAD

Minimum MW load fast start plant

SQL Type: NUMBER(22,0) Polars Type: pl.Int128

This column is not mandatory.

Examples: 0, 1, 230

MR_FACTOR

Mandatory Restriction Scaling Factor

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

NORMALSTATUS

ON/OFF for loads (Energy Bids Only)

SQL Type: VARCHAR2(3) Polars Type: pl.Boolean

This column is not mandatory.

AEMO's documentation says this is a string type, even though it is logically a binary value. You may want to map letters to a boolean with {'ON': 1, 'OFF': 0}.

OFFERDATE

Offer date and time

Warning

Despite what the name suggests, this is a datetime, not a date.

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

This column is not mandatory.

Example: 2020/08/19 11:54:38

PARTICIPANTID

Unique participant identifier

For more information, see the dedicated documentation page.

SQL Type: VARCHAR2(10) Polars Type: pl.Categorical

This column is not mandatory.

Examples:

  • ACACIRET
  • ACLESGA
  • AGLE
  • AGLES
  • AGLLBESS
  • AGLWBESS
  • ALDOGASF
  • ALNTARES
  • ALNTBHWF
  • AMALMASP

PRICEBAND1

Price for Availability Band 1

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: -3.17, 0.01, 0, 150

PRICEBAND2

Price for Availability Band 2

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.01, 0.01, 0, 22400

PRICEBAND3

Price for Availability Band 3

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.76, 0.02, 0, 22500

PRICEBAND4

Price for Availability Band 4

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: -1.45, 0.01, 0, 22600

PRICEBAND5

Price for Availability Band 5

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.97, 0.01, 0, 22700

PRICEBAND6

Price for Availability Band 6

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: -1.84, 0.02, 0, 22800

PRICEBAND7

Price for Availability Band 7

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.97, 0.35, 0, 22900

PRICEBAND8

Price for Availability Band 8

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.01, 0.01, 0, 23000

PRICEBAND9

Price for Availability Band 9

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: -2.64, 3.24, 0, 23190

PRICEBAND10

Price for Availability Band 10

SQL Type: NUMBER(9,2) Polars Type: pl.Float64

This column is not mandatory.

Examples: 46.46, 2, 24165.12, 23200

REBIDEXPLANATION

Explanation for all rebids and inflexibilities

SQL Type: VARCHAR2(500) Polars Type: str

This column is not mandatory.

Examples:

  • 00 Initial Bid
  • 010 Unexpected/plant limits~trapezium mgmt
  • 01:00~A~Initial Bid
  • 01:01~A~Initial Bid
  • 01:02~A~Initial Bid
  • 01:03~A~Initial Bid
  • 01:04~A~Initial Bid
  • 01:38~P~03:58 FCAS Availability Update
  • 01:39~A~Initial Bid
  • 01:40~A~Initial Bid

T1

Time to synchronise in minutes (Energy Bids Only)

SQL Type: NUMBER(22,0) Polars Type: pl.Int128

This column is not mandatory.

Examples: 0, 1, 22

T2

Time to minimum load in minutes (Energy Bids Only)

SQL Type: NUMBER(22,0) Polars Type: pl.Int128

This column is not mandatory.

Examples: 0, 1, 10

T3

Time at minimum load in minutes (Energy Bids Only)

SQL Type: NUMBER(22,0) Polars Type: pl.Int128

This column is not mandatory.

Examples: 0, 1, 52

T4

Time to shutdown in minutes (Energy Bids Only)

SQL Type: NUMBER(22,0) Polars Type: pl.Int128

This column is not mandatory.

Examples: 0, 1, 11

VERSIONNO

Version No. for given offer date

SQL Type: NUMBER(22,0) Polars Type: pl.UInt128

This column is not mandatory.

Example: 1

New Data Timing

Data is published daily

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"

# Dates are represented as datetimes at midnight

d_fmt = "%Y/%m/%d 00:00:00"

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("NORMALSTATUS").replace({"ON": 1, "OFF": 0}))
    .with_columns(
        pl.col("LASTCHANGED", "OFFERDATE").str.strptime(pl.Datetime, dt_s_fmt),
        pl.col("SETTLEMENTDATE", "BIDSETTLEMENTDATE").str.strptime(pl.Date, d_fmt),
    )
    # Polars can't cast string straight to bool. Need to go via something else.
    .cast({"NORMALSTATUS": pl.UInt8})
    .cast(
        {
            "BIDTYPE": pl.Enum(
                [
                    "ENERGY",
                    "LOWERREG",
                    "LOWER60SEC",
                    "RAISE5MIN",
                    "LOWER5MIN",
                    "LOWER6SEC",
                    "RAISE60SEC",
                    "RAISE6SEC",
                    "RAISEREG",
                    "RAISE1SEC",
                    "LOWER1SEC",
                ]
            ),
            "DIRECTION": pl.Enum(["GEN", "LOAD", "BIDIRECTIONAL"]),
            "DUID": pl.Categorical,
            "SETTLEMENTDATE": pl.Date(),
            "BIDSETTLEMENTDATE": pl.Date(),
            "DAILYENERGYCONSTRAINT": pl.Float64,
            "ENTRYTYPE": pl.Enum(["DAILY", "REBID", "DEFAULT"]),
            "MINIMUMLOAD": int,  # or pl.Int128
            "MR_FACTOR": pl.Float64,
            "NORMALSTATUS": pl.Boolean,
            "PARTICIPANTID": pl.Categorical,
            "PRICEBAND1": pl.Float64,
            "PRICEBAND2": pl.Float64,
            "PRICEBAND3": pl.Float64,
            "PRICEBAND4": pl.Float64,
            "PRICEBAND5": pl.Float64,
            "PRICEBAND6": pl.Float64,
            "PRICEBAND7": pl.Float64,
            "PRICEBAND8": pl.Float64,
            "PRICEBAND9": pl.Float64,
            "PRICEBAND10": pl.Float64,
            "REBIDEXPLANATION": str,
            "T1": int,  # or pl.Int128
            "T2": int,  # or pl.Int128
            "T3": int,  # or pl.Int128
            "T4": int,  # or pl.Int128
            "VERSIONNO": int,  # or pl.UInt128
        }
    )
    # Deduplicate
    # We want one row per ['BIDTYPE', 'DIRECTION', 'DUID', 'SETTLEMENTDATE']
    # Tie-breaker: greatest value of ['LASTCHANGED']
    .sort(["LASTCHANGED"], descending=False)
    .unique(subset=["BIDTYPE", "DIRECTION", "DUID", "SETTLEMENTDATE"], keep="last")
)

Nemosis

from nemosis import dynamic_data_compiler

df = dynamic_data_compiler(
    '2024/01/01 00:00:00',
    '2024/01/31 00:00:00',
    "BIDDAYOFFER_D",
    "data/"
)

Nemosis only includes a subset of columns by default, as an optimisation. (i.e. the commonly used columns.) To include others:

from nemosis import defaults

defaults.table_columns["BIDDAYOFFER_D"] += ["BIDSETTLEMENTDATE", "DAILYENERGYCONSTRAINT", "ENTRYTYPE", "LASTCHANGED", "MR_FACTOR", "NORMALSTATUS", "PARTICIPANTID", "REBIDEXPLANATION"]
df = dynamic_data_compiler(...)

Example File

From PUBLIC_ARCHIVE_BIDDAYOFFER_D_FILE01_202609010000.zip

SETTLEMENTDATEDUIDBIDTYPEDIRECTIONBIDSETTLEMENTDATEOFFERDATEVERSIONNOPARTICIPANTIDDAILYENERGYCONSTRAINTREBIDEXPLANATIONPRICEBAND1PRICEBAND2PRICEBAND3PRICEBAND4PRICEBAND5PRICEBAND6PRICEBAND7PRICEBAND8PRICEBAND9PRICEBAND10MINIMUMLOADT1T2T3T4NORMALSTATUSLASTCHANGEDMR_FACTORENTRYTYPE
2026/09/01 00:00:00ADPBA1ENERGYGEN2026/09/01 00:00:002026/09/01 03:56:411SAWCMLChange in forecast SOC-979054961682743749983999100002026/09/01 03:56:41REBID
2026/09/01 00:00:00ADPBA1ENERGYLOAD2026/09/01 00:00:002026/09/01 03:56:411SAWCMLChange in forecast SOC-980-450-174-8919541342243495002026/09/01 03:56:41REBID
2026/09/01 00:00:00ADPPV1ENERGYGEN2026/09/01 00:00:002026/08/15 10:58:181SAWCMLINITIAL OFFER SL-1034.61-517.3-70.35-60.01-16.55-6.210310.383103.8124002.792026/08/15 10:58:18DAILY
2026/09/01 00:00:00AGLSOMENERGYGEN2026/09/01 00:00:002026/08/31 10:19:261SOUTHHYD00 Initial Bid-980.060109.75145235364.83454.75981.032160022737.25121523522026/08/31 10:19:26DAILY
2026/09/01 00:00:00BANN1ENERGYGEN2026/09/01 00:00:002026/08/12 14:37:471ALNTARESInitial offer-891.11-845.87-396.36-195.1-133.66-109.86-79.11-0.0997.6420673.682026/08/12 14:37:47DAILY
2026/09/01 00:00:00BARKIPS1ENERGYGEN2026/09/01 00:00:002026/08/31 16:16:311TIPSCO020 Reduction in avail cap~203 plant failure-10000101.02138170.1229.98349.98560.982275023200000002026/08/31 16:16:31REBID
2026/09/01 00:00:00BARRON-1ENERGYGEN2026/09/01 00:00:002026/08/31 09:39:071CLEANCO-948.6051.6563.6775.8987.7596.76255.6511383.222007.5225771072026/08/31 09:39:07DAILY
2026/09/01 00:00:00BBTHREE1ENERGYGEN2026/09/01 00:00:002026/08/31 09:01:551HYDROTASInitial Offer-997.3-9.580.415.3625.3450.2888.2100.17319.6623146.641784112026/08/31 09:01:55DAILY
2026/09/01 00:00:00AGLHALENERGYGEN2026/09/01 00:00:002026/08/31 12:15:391HALLETT3627Adj pasa, recall - GT1-3 outage postponed. SL-962.8174.16276.22365.85569.87964.623833.769531.616848.9422336.9622031022026/08/31 12:15:39DAILY
2026/09/01 00:00:00ALDGASF1ENERGYGEN2026/09/01 00:00:002026/07/01 10:32:381ALDOGASFInitial Bid-894.8-313.18-178.96-57.62-43-34.41-22.41-6.67-2.6420759.362026/07/01 10:32:38DAILY
2026/09/01 00:00:00ANGAST1ENERGYGEN2026/09/01 00:00:002026/08/31 11:41:331SNOWY984INITIAL BID-1004.190201.04256.27301.25351.43487.04589.4712976.5623297.14000002026/08/31 11:41:33DAILY
...

CSETP.WORLDDVD_BIDDAYOFFER_DAEMOPUBLIC2026/10/0915:24:39001791523479020MONTHLY_ARCHIVE001791523479020
IBIDBIDDAYOFFER_D3SETTLEMENTDATEDUIDBIDTYPEDIRECTIONBIDSETTLEMENTDATEOFFERDATEVERSIONNOPARTICIPANTIDDAILYENERGYCONSTRAINTREBIDEXPLANATIONPRICEBAND1PRICEBAND2PRICEBAND3PRICEBAND4PRICEBAND5PRICEBAND6PRICEBAND7PRICEBAND8PRICEBAND9PRICEBAND10MINIMUMLOADT1T2T3T4NORMALSTATUSLASTCHANGEDMR_FACTORENTRYTYPE
DBIDBIDDAYOFFER_D32026/09/01 00:00:00ADPBA1ENERGYGEN2026/09/01 00:00:002026/09/01 03:56:411SAWCMLChange in forecast SOC-979054961682743749983999100002026/09/01 03:56:41REBID
DBIDBIDDAYOFFER_D32026/09/01 00:00:00ADPBA1ENERGYLOAD2026/09/01 00:00:002026/09/01 03:56:411SAWCMLChange in forecast SOC-980-450-174-8919541342243495002026/09/01 03:56:41REBID
DBIDBIDDAYOFFER_D32026/09/01 00:00:00ADPPV1ENERGYGEN2026/09/01 00:00:002026/08/15 10:58:181SAWCMLINITIAL OFFER SL-1034.61-517.3-70.35-60.01-16.55-6.210310.383103.8124002.792026/08/15 10:58:18DAILY
DBIDBIDDAYOFFER_D32026/09/01 00:00:00AGLSOMENERGYGEN2026/09/01 00:00:002026/08/31 10:19:261SOUTHHYD00 Initial Bid-980.060109.75145235364.83454.75981.032160022737.25121523522026/08/31 10:19:26DAILY
DBIDBIDDAYOFFER_D32026/09/01 00:00:00BANN1ENERGYGEN2026/09/01 00:00:002026/08/12 14:37:471ALNTARESInitial offer-891.11-845.87-396.36-195.1-133.66-109.86-79.11-0.0997.6420673.682026/08/12 14:37:47DAILY
DBIDBIDDAYOFFER_D32026/09/01 00:00:00BARKIPS1ENERGYGEN2026/09/01 00:00:002026/08/31 16:16:311TIPSCO020 Reduction in avail cap~203 plant failure-10000101.02138170.1229.98349.98560.982275023200000002026/08/31 16:16:31REBID
DBIDBIDDAYOFFER_D32026/09/01 00:00:00BARRON-1ENERGYGEN2026/09/01 00:00:002026/08/31 09:39:071CLEANCO-948.6051.6563.6775.8987.7596.76255.6511383.222007.5225771072026/08/31 09:39:07DAILY
DBIDBIDDAYOFFER_D32026/09/01 00:00:00BBTHREE1ENERGYGEN2026/09/01 00:00:002026/08/31 09:01:551HYDROTASInitial Offer-997.3-9.580.415.3625.3450.2888.2100.17319.6623146.641784112026/08/31 09:01:55DAILY
DBIDBIDDAYOFFER_D32026/09/01 00:00:00AGLHALENERGYGEN2026/09/01 00:00:002026/08/31 12:15:391HALLETT3627Adj pasa, recall - GT1-3 outage postponed. SL-962.8174.16276.22365.85569.87964.623833.769531.616848.9422336.9622031022026/08/31 12:15:39DAILY
DBIDBIDDAYOFFER_D32026/09/01 00:00:00ALDGASF1ENERGYGEN2026/09/01 00:00:002026/07/01 10:32:381ALDOGASFInitial Bid-894.8-313.18-178.96-57.62-43-34.41-22.41-6.67-2.6420759.362026/07/01 10:32:38DAILY
DBIDBIDDAYOFFER_D32026/09/01 00:00:00ANGAST1ENERGYGEN2026/09/01 00:00:002026/08/31 11:41:331SNOWY984INITIAL BID-1004.190201.04256.27301.25351.43487.04589.4712976.5623297.14000002026/08/31 11:41:33DAILY
...
CEND OF REPORT1003

SETTLEMENTDATE,DUID,BIDTYPE,DIRECTION,BIDSETTLEMENTDATE,OFFERDATE,VERSIONNO,PARTICIPANTID,DAILYENERGYCONSTRAINT,REBIDEXPLANATION,PRICEBAND1,PRICEBAND2,PRICEBAND3,PRICEBAND4,PRICEBAND5,PRICEBAND6,PRICEBAND7,PRICEBAND8,PRICEBAND9,PRICEBAND10,MINIMUMLOAD,T1,T2,T3,T4,NORMALSTATUS,LASTCHANGED,MR_FACTOR,ENTRYTYPE
"2026/09/01 00:00:00",ADPBA1,ENERGY,GEN,"2026/09/01 00:00:00","2026/09/01 03:56:41",1,SAWCML,,"Change in forecast SOC",-979,0,54,96,168,274,374,998,3999,10000,,,,,,,"2026/09/01 03:56:41",,REBID
"2026/09/01 00:00:00",ADPBA1,ENERGY,LOAD,"2026/09/01 00:00:00","2026/09/01 03:56:41",1,SAWCML,,"Change in forecast SOC",-980,-450,-174,-89,19,54,134,224,349,500,,,,,,,"2026/09/01 03:56:41",,REBID
"2026/09/01 00:00:00",ADPPV1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/15 10:58:18",1,SAWCML,,"INITIAL OFFER SL",-1034.61,-517.3,-70.35,-60.01,-16.55,-6.21,0,310.38,3103.81,24002.79,,,,,,,"2026/08/15 10:58:18",,DAILY
"2026/09/01 00:00:00",AGLSOM,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 10:19:26",1,SOUTHHYD,,"00 Initial Bid",-980.06,0,109.75,145,235,364.83,454.75,981.03,21600,22737.25,12,15,2,35,2,,"2026/08/31 10:19:26",,DAILY
"2026/09/01 00:00:00",BANN1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/12 14:37:47",1,ALNTARES,,"Initial offer",-891.11,-845.87,-396.36,-195.1,-133.66,-109.86,-79.11,-0.09,97.64,20673.68,,,,,,,"2026/08/12 14:37:47",,DAILY
"2026/09/01 00:00:00",BARKIPS1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 16:16:31",1,TIPSCO,,"020 Reduction in avail cap~203 plant failure",-1000,0,101.02,138,170.1,229.98,349.98,560.98,22750,23200,0,0,0,0,0,,"2026/08/31 16:16:31",,REBID
"2026/09/01 00:00:00",BARRON-1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 09:39:07",1,CLEANCO,,,-948.6,0,51.65,63.67,75.89,87.75,96.76,255.65,11383.2,22007.52,25,7,7,10,7,,"2026/08/31 09:39:07",,DAILY
"2026/09/01 00:00:00",BBTHREE1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 09:01:55",1,HYDROTAS,,"Initial Offer",-997.3,-9.58,0.4,15.36,25.34,50.28,88.2,100.17,319.66,23146.64,17,8,4,1,1,,"2026/08/31 09:01:55",,DAILY
"2026/09/01 00:00:00",AGLHAL,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 12:15:39",1,HALLETT,3627,"Adj pasa, recall - GT1-3 outage postponed. SL",-962.8,174.16,276.22,365.85,569.87,964.62,3833.76,9531.6,16848.94,22336.96,2,20,3,10,2,,"2026/08/31 12:15:39",,DAILY
"2026/09/01 00:00:00",ALDGASF1,ENERGY,GEN,"2026/09/01 00:00:00","2026/07/01 10:32:38",1,ALDOGASF,,"Initial Bid",-894.8,-313.18,-178.96,-57.62,-43,-34.41,-22.41,-6.67,-2.64,20759.36,,,,,,,"2026/07/01 10:32:38",,DAILY
"2026/09/01 00:00:00",ANGAST1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 11:41:33",1,SNOWY,984,"INITIAL BID",-1004.19,0,201.04,256.27,301.25,351.43,487.04,589.47,12976.56,23297.14,0,0,0,0,0,,"2026/08/31 11:41:33",,DAILY
...
C,SETP.WORLD,DVD_BIDDAYOFFER_D,AEMO,PUBLIC,2026/10/09,15:24:39,001791523479020,MONTHLY_ARCHIVE,001791523479020
I,BID,BIDDAYOFFER_D,3,SETTLEMENTDATE,DUID,BIDTYPE,DIRECTION,BIDSETTLEMENTDATE,OFFERDATE,VERSIONNO,PARTICIPANTID,DAILYENERGYCONSTRAINT,REBIDEXPLANATION,PRICEBAND1,PRICEBAND2,PRICEBAND3,PRICEBAND4,PRICEBAND5,PRICEBAND6,PRICEBAND7,PRICEBAND8,PRICEBAND9,PRICEBAND10,MINIMUMLOAD,T1,T2,T3,T4,NORMALSTATUS,LASTCHANGED,MR_FACTOR,ENTRYTYPE
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",ADPBA1,ENERGY,GEN,"2026/09/01 00:00:00","2026/09/01 03:56:41",1,SAWCML,,"Change in forecast SOC",-979,0,54,96,168,274,374,998,3999,10000,,,,,,,"2026/09/01 03:56:41",,REBID
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",ADPBA1,ENERGY,LOAD,"2026/09/01 00:00:00","2026/09/01 03:56:41",1,SAWCML,,"Change in forecast SOC",-980,-450,-174,-89,19,54,134,224,349,500,,,,,,,"2026/09/01 03:56:41",,REBID
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",ADPPV1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/15 10:58:18",1,SAWCML,,"INITIAL OFFER SL",-1034.61,-517.3,-70.35,-60.01,-16.55,-6.21,0,310.38,3103.81,24002.79,,,,,,,"2026/08/15 10:58:18",,DAILY
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",AGLSOM,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 10:19:26",1,SOUTHHYD,,"00 Initial Bid",-980.06,0,109.75,145,235,364.83,454.75,981.03,21600,22737.25,12,15,2,35,2,,"2026/08/31 10:19:26",,DAILY
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",BANN1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/12 14:37:47",1,ALNTARES,,"Initial offer",-891.11,-845.87,-396.36,-195.1,-133.66,-109.86,-79.11,-0.09,97.64,20673.68,,,,,,,"2026/08/12 14:37:47",,DAILY
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",BARKIPS1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 16:16:31",1,TIPSCO,,"020 Reduction in avail cap~203 plant failure",-1000,0,101.02,138,170.1,229.98,349.98,560.98,22750,23200,0,0,0,0,0,,"2026/08/31 16:16:31",,REBID
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",BARRON-1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 09:39:07",1,CLEANCO,,,-948.6,0,51.65,63.67,75.89,87.75,96.76,255.65,11383.2,22007.52,25,7,7,10,7,,"2026/08/31 09:39:07",,DAILY
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",BBTHREE1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 09:01:55",1,HYDROTAS,,"Initial Offer",-997.3,-9.58,0.4,15.36,25.34,50.28,88.2,100.17,319.66,23146.64,17,8,4,1,1,,"2026/08/31 09:01:55",,DAILY
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",AGLHAL,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 12:15:39",1,HALLETT,3627,"Adj pasa, recall - GT1-3 outage postponed. SL",-962.8,174.16,276.22,365.85,569.87,964.62,3833.76,9531.6,16848.94,22336.96,2,20,3,10,2,,"2026/08/31 12:15:39",,DAILY
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",ALDGASF1,ENERGY,GEN,"2026/09/01 00:00:00","2026/07/01 10:32:38",1,ALDOGASF,,"Initial Bid",-894.8,-313.18,-178.96,-57.62,-43,-34.41,-22.41,-6.67,-2.64,20759.36,,,,,,,"2026/07/01 10:32:38",,DAILY
D,BID,BIDDAYOFFER_D,3,"2026/09/01 00:00:00",ANGAST1,ENERGY,GEN,"2026/09/01 00:00:00","2026/08/31 11:41:33",1,SNOWY,984,"INITIAL BID",-1004.19,0,201.04,256.27,301.25,351.43,487.04,589.47,12976.56,23297.14,0,0,0,0,0,,"2026/08/31 11:41:33",,DAILY
...
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.

Warning

There are some months with no files.

Data Size

Each year of data is approximately 28 MB when zipped, 278 MB as unzipped CSV.

Deduplication and PDR Loader Configuration

The primary keys are:

Tip

Bid deduplication is particularly tricky. See the guide.

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
BID BIDDAYOFFER_D 3

This means that the CSV files start with metadata columns:

I,BID,BIDDAYOFFER_D,3,...
D,BID,BIDDAYOFFER_D,3,...

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