{
  "slug": "nem-bess-capture-index",
  "title": "The TBx Capture Index: Every NEM Battery Against Perfect Foresight",
  "url": "https://solaranalytica.com/nem-bess-capture-index",
  "summary": "Battery offtake contracts settle on perfect-foresight spread indices, and the gap between the index and reality has been a modelled claim until now. Computed from primary AEMO data across all 60 NEM bidirectional batteries in Q1 2026: the median full-quarter asset captured 46% of its duration-matched TBx index, the index ran 2.7x to 3.8x actual fleet energy revenue in every region, and one asset beat it.",
  "license": "Free to use with attribution to Solar Analytica (solaranalytica.com). Underlying figures are named to their public sources below.",
  "csv": "https://solaranalytica.com/reports/nem-bess-capture-index/data.csv",
  "datePublished": "2026-07-08",
  "lastReviewed": "2026-07-22",
  "sources": [
    {
      "title": "AEMO NEMWEB: MMSDM data archive (DISPATCH_UNIT_SCADA, DUDETAILSUMMARY, DUDETAIL)",
      "url": "https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/"
    },
    {
      "title": "AEMO: aggregated price and demand data (5-minute regional reference prices)",
      "url": "https://aemo.com.au/energy-systems/electricity/national-electricity-market-nem/data-nem/aggregated-data"
    },
    {
      "title": "AEMO: NEM registration and exemption list (fleet enumeration)",
      "url": "https://aemo.com.au/energy-systems/electricity/national-electricity-market-nem/participate-in-the-market/registration"
    },
    {
      "title": "AEMO: Integrating Energy Storage Systems (bidirectional unit framework)",
      "url": "https://aemo.com.au/initiatives/major-programs/integrating-energy-storage-systems-project"
    },
    {
      "title": "Solar Analytica: Methodology and standards",
      "url": "https://solaranalytica.com/methodology"
    }
  ],
  "figures": [
    {
      "id": "duration-matched-capture",
      "title": "Duration-matched capture per asset, Q1 2026, full-quarter units >= 25 MW",
      "unit": "capture ratio (actual energy-only revenue / duration-matched TBx index)",
      "caption": "The foresight gap, asset by asset: actual energy-only revenue as a share of the duration-matched perfect-foresight TBx index, Q1 2026, selected full-quarter units. One battery beat its index. The median across all 40 full-quarter units is 0.46. Full table below; per-asset dataset public.",
      "series": [
        {
          "label": "WDBESS1 (QLD)",
          "value": 1.034
        },
        {
          "label": "BRNDBES1 (QLD)",
          "value": 0.683
        },
        {
          "label": "BLYTHB1 (SA)",
          "value": 0.665
        },
        {
          "label": "MREHA3 (VIC)",
          "value": 0.624
        },
        {
          "label": "TEMPB1 (SA)",
          "value": 0.596
        },
        {
          "label": "TIB1 (SA)",
          "value": 0.544
        },
        {
          "label": "ERB01 (NSW)",
          "value": 0.46
        },
        {
          "label": "HPR1 (SA)",
          "value": 0.435
        },
        {
          "label": "TB2B1 (SA)",
          "value": 0.388
        },
        {
          "label": "TARBESS1 (QLD)",
          "value": 0.369
        },
        {
          "label": "VBB1 (VIC)",
          "value": 0.233
        },
        {
          "label": "DALNTH1 (SA)",
          "value": 0.137
        }
      ]
    },
    {
      "id": "index-vs-fleet-by-region",
      "title": "The index vs reality by region, thousand AUD per MW, Q1 2026",
      "unit": "thousand AUD per MW, Q1 2026, full-quarter fleet",
      "valueLabel": "TB4 index (perfect foresight)",
      "valueBLabel": "Fleet actual (energy-only)",
      "caption": "What the contracts settle on vs what the fleet earned: the TB4 index against actual energy-only revenue per MW, by region, Q1 2026. South Australia's spread is 3.7x Queensland's, and in every region the index ran 2.7x to 3.8x the real fleet's wholesale energy revenue.",
      "series": [
        {
          "label": "SA",
          "value": 133.7,
          "valueB": 34
        },
        {
          "label": "NSW",
          "value": 47.8,
          "valueB": 17.7
        },
        {
          "label": "VIC",
          "value": 36.6,
          "valueB": 9.6
        },
        {
          "label": "QLD",
          "value": 36,
          "valueB": 9.6
        }
      ]
    }
  ]
}