Skip to contents

The 19 March 2026 DIL represents STP as two products: pmp-stp-standard and pmp-stp-extended. The raw tables are monthly pay-event tables plus financial-year jobs and ETP tables. The employment behaviour model uses person-level employer spells, annual earnings, allowances, superannuation and ETP records. Job histories include a large mass of direct job-to-job moves, positive payroll gaps of varying length, and overlapping jobs where the next employer starts before the previous job has ended. Pay-event rows are mostly fortnightly, with smaller monthly, weekly and chaotic cadence profiles. The chaotic profiles create overlapping pay periods, occasional financial-year-anchored long periods, highly variable pay and end-of-financial-year irregular gross-payment concentration. A rare subset of pay events are overpaid and then followed by negative corrective payment rows. Phase 1 bonuses and commissions are included only in gross payment fields; lump-sum fields are reserved for final pay, leave, redundancy and backpay concepts.

Usage

generate_stp(
  spine = NULL,
  seed = 42L,
  years = 2020L:2025L,
  output_dir = NULL,
  format = c("parquet", "csv"),
  return_data = FALSE,
  chunk_size = 100000L
)

Arguments

spine

Data.frame or NULL.

seed

Integer. Random seed.

years

Integer vector. Calendar years to emit. The current DIL has monthly pay events from 2020-01 through 2025-10.

output_dir

Character or NULL.

format

Character. "parquet" only.

return_data

Logical. If TRUE, reads generated products back. Intended only for small test builds.

chunk_size

Integer. Max participants per output chunk.

Dataset and variable information

The ATO Single Touch Payroll website gives information about this dataset. Use dataset_info("STP") for dataset information. Use variable_info("STP") for variables, sources, value support, and topic tags.