PolicyEngine Australia is a free, open-source microsimulation model of Australia's tax and benefit system. It enables users to calculate taxes and benefits for individual households and analyze the distributional impacts of policy reforms.
- Personal income tax with progressive brackets
- Medicare levy and surcharge
- HECS-HELP student loan repayments
- Superannuation contributions and tax treatment
- Capital gains tax (coming soon)
- GST modeling (coming soon)
- Age Pension with means testing
- JobSeeker Payment
- Disability Support Pension
- Family Tax Benefit (Parts A & B)
- Child Care Subsidy
- Youth Allowance (coming soon)
- Parenting Payment (coming soon)
- Up-to-date parameters: Latest tax rates and benefit amounts
- Government sources: All parameters referenced to official sources
- Test-driven development: Comprehensive test coverage
- Reform analysis: Model policy changes and impacts
- Open source: Transparent and auditable
- Python 3.10 or higher (3.13 recommended)
- pip or uv package manager
# Clone the repository
git clone https://github.com/PolicyEngine/policyengine-au.git
cd policyengine-au
# Install with uv (recommended)
uv pip install --system -e .
# Or with pip
pip install -e .
pip install policyengine-au
from policyengine_au import AustralianTaxBenefitSystem
from policyengine_core.simulations import Simulation
# Create the tax-benefit system
system = AustralianTaxBenefitSystem()
# Define a household
situation = {
"people": {
"person1": {
"age": {"2024": 35},
"employment_income": {"2024": 80000}
}
},
"households": {
"household": {
"members": ["person1"]
}
}
}
# Run simulation
simulation = Simulation(
tax_benefit_system=system,
situation=situation
)
# Calculate values
income_tax = simulation.calculate("income_tax", "2024")
medicare_levy = simulation.calculate("medicare_levy", "2024")
print(f"Income tax: ${income_tax[0]:,.2f}")
print(f"Medicare levy: ${medicare_levy[0]:,.2f}")
Full documentation is available at: https://policyengine.github.io/policyengine-au
- Tax Programs - Detailed tax calculations
- Benefit Programs - Social security programs
- Developer Guide - Contributing guide
- API Reference - Technical documentation
# Install development dependencies
uv pip install --system -e .[dev]
# Run tests
uv run pytest
# Format code
make format
# Build documentation
myst build docs
# Run all tests with coverage
uv run pytest --cov=policyengine_au
# Run specific test file
uv run pytest policyengine_au/tests/policy/baseline/test_income_tax.yaml
# Run only unit tests
uv run pytest policyengine_au/tests -k "not yaml"
We welcome contributions! Please see our Developer Guide for:
- Setting up your development environment
- Adding new parameters and variables
- Writing tests
- Submitting pull requests
- Test-driven development: Write tests first
- Government sources: Reference all parameters
- Code quality: Format with Black (79 chars)
- Documentation: Update docs with changes
PolicyEngine Australia is validated against:
- Australian Taxation Office calculators
- Services Australia payment calculators
- Published government rate tables
- Academic microsimulation models (STINMOD+, MITTS)
PolicyEngine Australia is licensed under the GNU Affero General Public License v3.0.
If you use PolicyEngine Australia in your research, please cite:
@software{policyengine_australia,
title = {PolicyEngine Australia},
author = {PolicyEngine},
year = {2024},
url = {https://github.com/PolicyEngine/policyengine-au}
}
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
- Website: policyengine.org
PolicyEngine Australia builds on:
- OpenFisca framework via PolicyEngine Core
- Australian government data and documentation
- Open source tax-benefit modeling community
- Complete Youth Allowance implementation
- Add Parenting Payment
- Implement Rent Assistance
- Add state payroll taxes
- GST modeling with consumption data
- Capital gains tax
- State stamp duties
- Integration with PolicyEngine web app
- Full state and territory tax systems
- Local government rates
- Behavioral responses
- Dynamic scoring capabilities
Note: This model is under active development. Parameters are updated regularly to reflect policy changes. Always verify calculations against official sources for critical applications.