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.