Nominal NDIS Cash Payments Reached $51.5 Billion

ndis
disability
public-spending
australia
Trailing-12-month nominal cash-basis NDIS payments rose across every quarterly release from September 2024 to June 2026. Participant growth explains some of the scale, but the public aggregates do not provide an exact causal decomposition.
Author

Aydin

Published

May 26, 2026

Modified

October 20, 2026

NoteExecutive summary
  • Trailing-12-month nominal cash-basis payments rose in every quarterly release shown, reaching $51.5 billion in June 2026—12.2% above June 2025.
  • Active participants at 30 June rose 5.8%. The descriptive ratio of 12-month payments to end-June active participants rose 6.1%, but it is not an exact decomposition because it divides a flow by an end-period stock.
  • The separately timed national utilisation measure was 74%, versus 75% a year earlier. Most dollar growth came from categories that were already large.

The first question is whether the latest payment increase was a one-period jump or part of a broader rise. Across the eight public releases from September 2024 to June 2026, the trailing-12-month nominal cash total increased each quarter.

Nominal cash payments rose across every release shown

The payments files report the preceding 12 months at each reporting date. Each bar is therefore a rolling annual total, not a single quarter. Adjacent releases overlap by nine months, so the chart shows the path of annual payments rather than eight independent observations.

Code
payment_trend_plot <- payment_trend |>
  mutate(period_label = format(report_date, "%b\n%Y"))

ggplot(payment_trend_plot, aes(factor(period_label, levels = period_label), total_payments)) +
  geom_col(fill = "#246b8e", width = 0.7) +
  geom_text(
    aes(label = dollar(total_payments, scale = 1e-9, suffix = "b", accuracy = 0.1)),
    vjust = -0.45,
    size = 3.4
  ) +
  scale_y_continuous(
    labels = label_dollar(scale = 1e-9, suffix = "b", accuracy = 1),
    limits = c(0, 56e9),
    expand = expansion(mult = c(0, 0.02))
  ) +
  labs(
    title = "Trailing-12-month nominal cash payments reached $51.5 billion",
    x = NULL,
    y = "Payments in preceding 12 months"
  )

Eight bars rise from the September 2024 release through June 2026, when trailing-12-month nominal cash payments reach 51.5 billion dollars.

Trailing-12-month nominal cash-basis NDIS payments at each quarterly reporting date. Adjacent annual windows overlap by nine months.

The June-to-June comparison remains the cleanest year-on-year reading: payments increased by $5.6 billion—12.2%. The analysis makes no inflation adjustment, so this is not a measure of real service-volume growth.

Participant count and the payment-to-participant ratio both rose

Active participants increased from 739,414 at 30 June 2025 to 782,013 at 30 June 2026. Over the same two reporting dates, trailing-12-month payments divided by the end-June active count rose from $62,000 to $65,800.

That second measure is deliberately labelled as a ratio, not an average payment received by a participant. The numerator covers an entire year while the denominator is the active-participant stock on the final day. Entrants and exits during the year mean these two panels do not provide an exact decomposition of payment growth.

Code
participant_ratio_plot <- bind_rows(
  payment_trend |>
    transmute(
      report_date,
      metric = "Active participants at quarter end (people)",
      value = participants,
      latest_label = if_else(
        report_date == max(report_date),
        comma(participants, accuracy = 1),
        NA_character_
      )
    ),
  payment_trend |>
    transmute(
      report_date,
      metric = "12-month payments / end-quarter active participant ($)",
      value = payment_per_end_active_participant,
      latest_label = if_else(
        report_date == max(report_date),
        dollar(payment_per_end_active_participant, accuracy = 100),
        NA_character_
      )
    )
) |>
  mutate(metric = factor(
    metric,
    levels = c(
      "Active participants at quarter end (people)",
      "12-month payments / end-quarter active participant ($)"
    )
  ))

ggplot(participant_ratio_plot, aes(report_date, value)) +
  geom_line(colour = "#246b8e", linewidth = 1) +
  geom_point(colour = "#246b8e", size = 2.2) +
  geom_text(
    aes(label = latest_label),
    hjust = -0.12,
    size = 3.5,
    na.rm = TRUE
  ) +
  facet_wrap(~metric, scales = "free_y", ncol = 1) +
  scale_x_date(
    breaks = payment_trend$report_date[c(1, 3, 5, 7, 8)],
    labels = label_date("%b\n%Y"),
    expand = expansion(mult = c(0.02, 0.14))
  ) +
  scale_y_continuous(labels = label_number(scale = 1e-3, suffix = "k"), expand = expansion(mult = c(0.12, 0.18))) +
  labs(
    title = "Scheme scale and the descriptive payment ratio both increased",
    x = NULL,
    y = NULL
  )

Two small-multiple line charts show active participants rising across the eight reporting dates and trailing-12-month payments per end-quarter active participant also rising.

Active participants are a stock at each reporting date. The payment ratio divides the preceding 12 months of nominal cash payments by that end-quarter stock; it is useful context, not an exact average or causal decomposition.

Most payment growth was in core supports

Core supports account for 83% of the national increase. They rose by $4.6 billion, compared with $0.8 billion for capacity building and $0.2 billion for capital supports. Core also began as by far the largest class, so its dollar contribution should be read beside its baseline share and within-class growth.

Code
support_plot <- support_change |>
  filter(support_class != "Missing") |>
  transmute(
    support_class,
    `Baseline payment share` = baseline_share,
    `Share of net increase` = growth_share,
    `Within-class growth` = within_growth
  ) |>
  pivot_longer(-support_class, names_to = "metric", values_to = "value") |>
  mutate(
    support_class = fct_relevel(support_class, "Core", "Capacity Building", "Capital") |> fct_rev(),
    metric = factor(metric, levels = c("Baseline payment share", "Share of net increase", "Within-class growth"))
  )

ggplot(support_plot, aes(value, support_class)) +
  geom_col(fill = "#246b8e", width = 0.64) +
  geom_text(aes(label = percent(value, accuracy = 0.1)), hjust = -0.12, size = 3.3) +
  facet_wrap(~metric, scales = "free_x", ncol = 1) +
  scale_x_continuous(labels = percent_format(accuracy = 1), expand = expansion(mult = c(0, 0.22))) +
  labs(
    title = "Most dollar growth came from an already-large support class",
    x = NULL, y = NULL
  ) +
  theme(panel.spacing.x = grid::unit(2, "lines"))

Three-panel chart shows that Core was already the largest support class, supplied most of the net payment increase, and also grew within category.

Baseline share, share of net payment growth and within-class growth for classified support classes, June 2025 to June 2026. Panel scales differ. Payments are nominal and cash-basis.

The June 2026 “Missing” support-class row is negative $3,000. It is retained in the national reconciliation but excluded from the chart as an apparent rounding or classification adjustment. The build separately checks that every classified support-class amount is non-negative.

Published utilisation was 74%, versus 75%

The published average annualised committed support budget rose from $83,000 to $85,000 between the June reporting dates. That is a point-in-time plan-budget measure, not the average payment made during the preceding year, and the source rounds it to the nearest $1,000.

Utilisation has a third timing definition. The June 2026 figure covers supports delivered from October 2025 to March 2026 and paid by 30 June. It is a lagged six-month measure, not June-quarter utilisation and not the same window as the payment trend.

The source reports 74% versus 75% a year earlier. Because both figures are published as whole percentages, the public data support the reported comparison but not a precise estimate of the underlying change. The separately timed utilisation rate therefore cannot explain the payment increase.

Most dollar growth came from already-large disability groups

Autism and intellectual disability together accounted for 44% of June 2025 payments and 49% of the net national increase. Autism contributed $1.75 billion and intellectual disability $1.01 billion; the five largest positive contributors account for 79% of net growth.

This is an accounting contribution, not a causal finding. Dollar contributions partly reflect category size, so the chart shows baseline share and within-category growth beside share of the net increase. The totals combine changes in participant numbers, support mix, prices, payment timing and average payments.

Code
disability_plot_groups <- disability_change |>
  filter(!disability_group %in% c("Missing", "Suppression/reconciliation residual")) |>
  slice_max(`June 2025`, n = 8, with_ties = FALSE) |>
  pull(disability_group)

disability_plot <- disability_change |>
  filter(disability_group %in% disability_plot_groups) |>
  transmute(
    disability_group,
    `Baseline payment share` = baseline_share,
    `Share of net increase` = growth_share,
    `Within-group growth` = within_growth
  ) |>
  pivot_longer(-disability_group, names_to = "metric", values_to = "value") |>
  mutate(
    disability_group = recode(
      disability_group,
      "ABI" = "Acquired brain injury",
      "Other Neurological" = "Other neurological",
      "Cerebral Palsy" = "Cerebral palsy"
    ),
    disability_group = fct_reorder(disability_group, value),
    metric = factor(metric, levels = c("Baseline payment share", "Share of net increase", "Within-group growth")),
    emphasis = disability_group %in% c("Autism", "Intellectual Disability")
  )

ggplot(disability_plot, aes(value, disability_group, fill = emphasis)) +
  geom_vline(xintercept = 0, colour = "grey60") +
  geom_col(width = 0.72) +
  geom_text(aes(label = percent(value, accuracy = 0.1)), hjust = -0.12, size = 3.0) +
  facet_wrap(~metric, scales = "free_x", nrow = 1) +
  scale_x_continuous(labels = percent_format(accuracy = 1), expand = expansion(mult = c(0.05, 0.24))) +
  scale_fill_manual(values = c(`FALSE` = "#8cb9aa", `TRUE` = "#116b58"), guide = "none") +
  labs(title = "Large disability groups account for much of the dollar growth", x = NULL, y = NULL)

Three-panel chart shows baseline payment share, share of net payment increase and within-group growth for the eight largest primary-disability payment groups. Autism and intellectual disability are large both at baseline and in dollar growth.

Baseline payment share, share of net payment growth and within-group growth for the eight largest classified primary-disability groups by June 2025 payments. Panel scales differ. Payments are nominal and cash-basis.

What this changes about the story

The strongest public-data conclusion is descriptive and fairly narrow. Trailing-12-month nominal cash-basis payments rose across all eight quarterly releases shown and reached $51.5 billion in June 2026. The end-quarter active-participant stock and the descriptive payment-to-active-participant ratio both rose, but their different windows prevent a causal decomposition. The separately timed utilisation rate was published as 74%, versus 75% a year earlier, while most dollar growth occurred in already-large categories.

The companion analysis asks a different question: where reported participant outcomes changed after entry to the Scheme.

Three-line takeaway

  • Trailing-12-month nominal cash payments rose in every release shown and were 12.2% higher in June 2026 than a year earlier.
  • Active participant numbers and payments divided by the end-period active count both rose; the latter is a stock/flow ratio, not an exact average or causal decomposition.
  • The separately timed published utilisation rate was 74%, versus 75%, while most dollar growth occurred in categories that were already large.

Appendix

The analysis does not identify why need, plan values or payments changed. The public extracts are rounded and suppress small cells, and their reporting windows differ. Primary-disability groups are administrative classifications, not fixed cohorts: composition can change as participants enter, leave, age and are reclassified. A participant-level causal model would require data these files do not contain.

Payments are nominal and cash-basis. This analysis does not adjust for inflation or estimate real service volume. Payment totals cover trailing-12-month windows; participant numbers and average annualised budgets are point-in-time measures; utilisation is a lagged six-month rate. The payment-to-end-active-participant measure divides a flow by a stock and is only a descriptive ratio. Entrants and exits during the year mean it is not the average payment received by a participant and cannot be used as a causal decomposition.

The earlier random-forest models and regional joins were removed because cross-sectional prediction cannot explain national payment growth from these aggregate files.

Code
support_change |>
  transmute(
    `Support class` = support_class,
    `June 2025 payments` = dollar(`June 2025`, scale = 1e-9, suffix = "b", accuracy = 0.001),
    `June 2026 payments` = dollar(`June 2026`, scale = 1e-9, suffix = "b", accuracy = 0.001),
    `Baseline share` = percent(baseline_share, accuracy = 0.1),
    `Share of net increase` = percent(growth_share, accuracy = 0.1),
    `Within-class growth` = percent(within_growth, accuracy = 0.1)
  ) |>
  kable(align = c("l", "r", "r", "r", "r", "r"))
Support class June 2025 payments June 2026 payments Baseline share Share of net increase Within-class growth
Capacity Building $8.648b $9.400b 18.9% 13.4% 8.7%
Capital $1.284b $1.518b 2.8% 4.2% 18.2%
Core $35.914b $40.533b 78.3% 82.5% 12.9%
Missing $0.007b $0.000b 0.0% -0.1% -100.0%
Code
disability_change |>
  filter(!disability_group %in% c("Missing", "Suppression/reconciliation residual")) |>
  arrange(desc(`June 2025`)) |>
  transmute(
    `Primary disability group` = disability_group,
    `June 2025 payments` = dollar(`June 2025`, scale = 1e-9, suffix = "b", accuracy = 0.01),
    `June 2026 payments` = dollar(`June 2026`, scale = 1e-9, suffix = "b", accuracy = 0.01),
    `Baseline share` = percent(baseline_share, accuracy = 0.1),
    `Share of net increase` = percent(growth_share, accuracy = 0.1),
    `Within-group growth` = percent(within_growth, accuracy = 0.1)
  ) |>
  kable(align = c("l", "r", "r", "r", "r", "r"))
Primary disability group June 2025 payments June 2026 payments Baseline share Share of net increase Within-group growth
Intellectual Disability $10.45b $11.46b 22.8% 18.1% 9.7%
Autism $9.69b $11.43b 21.1% 31.2% 18.0%
Psychosocial disability $5.71b $6.30b 12.5% 10.6% 10.4%
Other Neurological $3.75b $4.43b 8.2% 12.1% 18.0%
ABI $3.19b $3.60b 6.9% 7.5% 13.1%
Cerebral Palsy $3.02b $3.29b 6.6% 4.9% 9.1%
Stroke $1.56b $1.86b 3.4% 5.3% 19.0%
Down Syndrome $1.55b $1.65b 3.4% 1.9% 6.7%
Other Physical $1.47b $1.58b 3.2% 1.9% 7.4%
Multiple Sclerosis $1.18b $1.31b 2.6% 2.5% 11.9%
Other $1.10b $1.38b 2.4% 5.1% 25.9%
Spinal Cord Injury $1.07b $1.19b 2.3% 2.1% 11.1%
Developmental delay $0.94b $0.77b 2.0% -3.0% -17.9%
Visual Impairment $0.48b $0.53b 1.0% 0.9% 10.8%
Global developmental delay $0.36b $0.32b 0.8% -0.6% -9.5%
Hearing Impairment $0.28b $0.29b 0.6% 0.3% 6.7%
Other Sensory/Speech $0.02b $0.02b 0.1% 0.0% -5.5%

The analysis uses the NDIA’s participant plan budget and utilisation datasets, payments datasets, and their data-rules documents. The payment and participant trend uses quarterly releases from September 2024 to June 2026; the category and utilisation comparisons use the June 2025 and June 2026 releases. Each file is pinned by size and SHA-256 checksum in sources.csv; set BLOG_REFRESH_DATA=true to force a fresh download and checksum validation. In the registry, release_date records the downloadable asset’s Last-Modified date.

Code
source_manifest |>
  transmute(
    source = dataset,
    source_revision_date = release_date,
    coverage_end,
    file = local_file,
    bytes = comma(bytes),
    sha256_prefix = substr(sha256, 1, 12)
  ) |>
  kable(col.names = c("Source", "Source/revision date", "Coverage end", "Cached file", "Bytes", "SHA-256 prefix"))
Source Source/revision date Coverage end Cached file Bytes SHA-256 prefix
Participant numbers and plan budgets data September 2024 2024-11-27 2024-09-30 participant-plan-budgets-september-2024.csv 7,137,290 4a39534b90b0
Participant numbers and plan budgets data December 2024 2025-11-06 2024-12-31 participant-plan-budgets-december-2024.csv 7,268,253 8ee96e14606d
Participant numbers and plan budgets data March 2025 2025-11-06 2025-03-31 participant-plan-budgets-march-2025.csv 7,294,158 ff7de51f0ade
Participant numbers and plan budgets data June 2025 2025-11-07 2025-06-30 participant-plan-budgets-june-2025.csv 7,320,918 c6ebe817dcea
Participant numbers and plan budgets data September 2025 2025-11-12 2025-09-30 participant-plan-budgets-september-2025.csv 7,170,286 938f5be664f3
Participant numbers and plan budgets data December 2025 2026-02-10 2025-12-31 participant-plan-budgets-december-2025.csv 7,180,434 2ce100485b6c
Participant numbers and plan budgets data March 2026 2026-05-14 2026-03-31 participant-plan-budgets-march-2026.csv 7,172,167 666113a70519
Participant numbers and plan budgets data June 2026 2026-08-13 2026-06-30 participant-plan-budgets-june-2026.csv 7,084,569 460eb3e7d73a
Utilisation of plan budgets data June 2025 2025-11-06 2025-06-30 plan-utilisation-june-2025.csv 9,615,251 a0b7334c148d
Utilisation of plan budgets data June 2026 2026-08-13 2026-06-30 plan-utilisation-june-2026.csv 9,536,906 4717035f29cf
Payments data September 2024 2025-12-22 2024-09-30 payments-september-2024.csv 13,668,626 ae39e85647f2
Payments data December 2024 2025-12-22 2024-12-31 payments-december-2024.csv 13,620,759 681a6fb18517
Payments data March 2025 2025-12-22 2025-03-31 payments-march-2025.csv 13,498,614 a45c43a8584c
Payments data June 2025 2025-12-22 2025-06-30 payments-june-2025.csv 13,435,384 38b9bcc5a481
Payments data September 2025 2025-12-22 2025-09-30 payments-september-2025.csv 14,892,418 5a01468862c7
Payments data December 2025 2026-02-10 2025-12-31 payments-december-2025.csv 14,614,255 6c769e594ce9
Payments data March 2026 2026-05-14 2026-03-31 payments-march-2026.csv 14,367,046 7cdcddd32179
Payments data June 2026 2026-08-13 2026-06-30 payments-june-2026.csv 14,188,180 cc724d048067
Participant numbers and plan budgets data rules 2026-08-14 2026-06-30 participant-plan-budgets-rules.docx 96,837 f2bc85b19b82
Utilisation of plan budgets data rules 2026-08-14 2026-06-30 plan-utilisation-rules.docx 97,403 e109bc814901
Payments data rules 2026-08-14 2026-06-30 payments-rules.docx 94,006 f00448313a4b