model_new_caps_and_div293: Modelling superannuation changes

View source: R/ModellingSuperannuationChanges.R

model_new_caps_and_div293R Documentation

Modelling superannuation changes

Description

Model changes to the contributions cap, Division 293 threshold and related modelling. Note: defaults are relevant to pre-2017 for compatibility.

Usage

model_new_caps_and_div293(
  .sample.file,
  fy.year,
  new_cap = 30000,
  new_cap2 = 35000,
  new_age_based_cap = TRUE,
  new_cap2_age = 49,
  new_ecc = FALSE,
  new_contr_tax = "15%",
  new_div293_threshold = 3e+05,
  use_other_contr = FALSE,
  scale_contr_match_ato = FALSE,
  .lambda = 0,
  reweight_late_lodgers = TRUE,
  .mu = 1.05,
  impute_zero_concess_contr = TRUE,
  .min.Sw.for.SG = 450 * 12,
  .SG_rate = 0.0925,
  prv_cap = 30000,
  prv_cap2 = 35000,
  prv_age_based_cap = TRUE,
  prv_cap2_age = 49,
  prv_ecc = FALSE,
  prv_div293_threshold = 3e+05
)

n_affected_from_new_cap_and_div293(..., adverse_only = TRUE)

revenue_from_new_cap_and_div293(...)

Arguments

.sample.file

A data.table whose variables include those in taxstats::sample_file_1314.

fy.year

The financial year tax scales.

new_cap

The proposed cap on concessional contributions for all taxpayers if age_based_cap is FALSE, or for those below the age threshold otherwise.

new_cap2

The proposed cap on concessional contributions for those above the age threshold. No effect if age_based_cap is FALSE.

new_age_based_cap

Is the proposed cap on concessional contributions age-based?

new_cap2_age

The age above which new_cap2 applies.

new_ecc

(logical) Should an excess concessional contributions charge be calculated? (Not implemented.)

new_contr_tax

A string to determine the contributions tax.

new_div293_threshold

The proposed Division 293 threshold.

use_other_contr

Should MCS_Othr_Contr be used to calculate Division 293 liabilities?

scale_contr_match_ato

(logical) Should concessional contributions be inflated to match aggregates in 2013-14? That is, should the concessional contributions by multiplied by the internal constant grattan:::super_contribution_inflator_1314, which was defined to be:

\frac{\textrm{Total assessable contributions in SMSF and funds}}{\textrm{Total contributions in 2013-14 sample file}}

.

.lambda

Scalar weight applied to concessional contributions. \lambda = 0 means no (extra) weight. \lambda = 1 means contributions are inflated by the ratio of aggregates to the sample file's total. For R = \textrm{actual} / \textrm{apparent} then the contributions are scaled by 1 + \lambda(R - 1).

reweight_late_lodgers

(logical) Should WEIGHT be inflated to account for late lodgers?

.mu

Scalar weight for WEIGHT. (w' = \mu w) No effect if reweight_late_lodgers is FALSE.

impute_zero_concess_contr

Should zero concessional contributions be imputed using salary?

.min.Sw.for.SG

The minimum salary required for super guarantee to be imputed.

.SG_rate

The super guarantee rate for imputation.

prv_cap

The comparator cap on concessional contributions for all taxpayers if age_based_cap is FALSE, or for those below the age threshold otherwise.

prv_cap2

The comparator cap on concessional contributions for those above the age threshold. No effect if age_based_cap is FALSE.

prv_age_based_cap

Is the comparator cap on concessional contributions age-based?

prv_cap2_age

The age above which new_cap2 applies.

prv_ecc

(logical) Should an excess concessional contributions charge be calculated? (Not implemented.)

prv_div293_threshold

The comparator Division 293 threshold.

...

Passed to model_new_caps_and_div293.

adverse_only

Count only individuals who are adversely affected by the change.

Value

For model_new_caps_and_div293, a data.frame, comprising the variables in .sample.file, the superannuation variables generated by apply_super_caps_and_div293, and two variables, prv_revenue and new_revenue, which give the tax (income tax, super tax, and division 293 tax) payable by that taxpayer in the comparator scenario and the proposed scenario, respectively.

For n_affected_from_new_cap_and_div293, the number of individuals affected by the proposed changes.

For revenue_from_new_cap_and_div293, the extra revenue expected from the proposed changes.

Examples


# if (requireNamespace("taxstats", quietly = TRUE)) {
#   library(data.table)
#   s1314 <- taxstats::sample_file_1314
#   s1314[, WEIGHT := 50L]
#   revenue_from_new_cap_and_div293(s1314, new_cap = 12e3, "2016-17")
#   revenue_from_new_cap_and_div293(s1314, new_contr_tax = "mr - 15%", "2016-17")
# }



HughParsonage/grattan documentation built on April 1, 2024, 4:10 a.m.