InGRID winter school in ‘Cross country · InGRID winter school in ‘Cross country...

Preview:

Citation preview

InGRID winter school in ‘Cross country microsimulation’

Day 2

Xavier Jara, Katrin Gasior, Mattia Makovec,

Miko Tammik

30 November-2 December 2016 Course based on EUROMOD v. G3.0+

1

Outline: Day 2

• Morning (9:30-12:30 with a break at 11:00)

– Income lists; EUROMOD Functions and Parameters (cont.)

– Hands-on practice: Exercises 3

– EUROMOD Functions and Parameters (cont.)

• Afternoon (14:00-17:00 with a break at 15:30)

– Hands-on practice: Exercises 4 & 5

– Hands-on practice: Exercise 6

2

Incomelists

3

Incomelists

• Aggregates of several variables

• Standardised output (e.g. ils_dispy)

• func_DefIL : special policy (i.e. ILDef_cc) or any other policy

• Once defined it is available for all subsequent functions and policies

• Naming convention: prefix il_ for “normal”, ils_ for “standard”

• No tax unit defined all income lists built at the individual level

• Behave like a monetary variable

4

Function DefIL (1)

5

• Components:

─Variables

─Pre-defined income lists

─Fixed amounts

─Constants

•Operations:

─+, -

─fractions can be used

Function DefIL (2)

6

• If you want to take out a component in a specific policy system replace operation with n/a

Standardized income lists • Defined in every country

• Built in a comparable way to facilitate cross-national analysis

– ils_earns: earnings

– ils_origy: market incomes

– ils_pen: public pensions

– ils_bennt: non-means-tested benefits

– ils_benmt: means-tested benefits

– ils_ben: all benefits and public pensions

– ils_tax: taxes

– ils_sicee: employee SICs

– ils_sicse: self-employed SICs

– ils_sicer: employer SICs

– ils_sicct: contributed SICs

– ils_dispy: disposable income

– ils_bensim: simulated benefits

– ils_taxsim: simulated taxes

7

Incomelists – Matrix view • Summary of income list components

8

Policy functions BenCalc, SchedCalc, Allocate

9

Function BenCalc (1)

• Benefit calculator, used to implement a wide range of policy instruments, in particular benefits

• It combines the functionalities of the functions func_Elig and func_ArithOp

• Calculates a sum of “components”, where the value of a component is only added if a certain condition is fulfilled by at least one member of the assessment unit

10

Function BenCalc (2) • compi_cond = func_Elig |elig_cond

• compi_perTU or compi_perElig = func_ArithOp | formula

– compi_perTU amount is added once

– compi_perElig amount is added once per individual fulfilling the condition is added.

• either perTU OR perElig in one component

• can set upper and lower limits for earch component

– compi_lowlim

– compi_uplim

11

Function BenCalc (3)

• Withdraw parameters- subtract something from the calculated sum of components

– withdraw_base: what is being subtracted (ex: variable, income list)

– withdraw_rate: what percentage of the base is being subtracted

– withdraw_start: set a minimum level of the sum of components before any subtraction begins

– withdraw_end: level of the base where sum of the components-base*rate is 0

• Negative result automatically set to 0

• Result=max(Sum of components-max(BASE-START, 0)*RATE, 0)

• Rate and end cannot be used simultaneously

– If withdraw end is specified:

• RATE=(sum of components)/(END-START)

12

Function BenCalc (4)

13

14

Function SchedCalc (1) • Used (mainly) for progressive taxes

• Tax schedule

– Tax bands: bandi_upLim / bandi_lowlim

– Tax rate: bandi_rate

– Tax base : base

• Instead rates, for fixed amounts use bandi_amount

14

15

Function SchedCalc (2)

• Joint taxation: quotient

• Result= ((Base/Quotient)*Tax schedule)*Quotient

15

Function SchedCalc (3)

• simple_prog: apply highest marginal tax rate reached by base on the whole income

16

17

Function Allocate (1)

• default: result is assigned to the head of the assessment unit.

• Allocate reallocates amounts between members of assessment units (subject to conditions)

17

Function Allocate (2)

• Split the amount of a variable

– share: which variable to split

– Amount to split first summed up across assessment unit members

– share_between: condition parameter; who are the members ‘participating’ in the split

– Default is all members of the assessment unit

– share_prop: in what proportion to split between the various qualifying members (i.e. those satisfying the share_between condition)

– Default is sharing in equal proportions

18

Parameter values

19

Amount parameters • Monetary (numbers; use . for decimal) followed by their period:

– #m for monthly (no conversion)

– #y for yearly

– #q for quarterly

– #w for weekly

– #d for daily

– #l for labour day

– #s for six day labour week

• Default is #m (monthly)

20

Query parameters (1) • frequently used ready made calculations

• The results of a query is either yes/no or some (monetary or non monetary) value.

• Well-documented in Help

21

Query parameters (2)

• Use IntelliSense to enter values

22

query symbol

Formula parameters

• Operations: ^, <min>, <max>, <abs>, (), !(), %, , /, *, \, +, -,

• Operands :

– variables (monetary and non monetary),

– incomelists

– queries

23

Condition parameters

• logical and comparison operations to evaluate a condition with a yes/no result.

• Conditions in by curly brackets {}, can be grouped by parenthesis ()

• Negative condition (i.e. !) can be used with a single condition only

24

Footnote parameters

• They serve the further specification of other parameters. They are identified by #i (i=number from 1 to....)

– Limits

– Amounts

– Assessment units

– Specification of queries

25

Parameter values and the assessment unit

level of interpretation condition parameters other parameters

monetary variables and

incomelists assessment unit assessment unit

non-monetary variables

and individual level

queries

individual head of assessment unit

non individual level

queries check manual check manual

26

Exercise 3

• Introducing a benefit cap in Denmark

27

System functions Uprate, SetDefault,DefOutput,

DefVar

28

29

Function Uprate (I)

• Indices to uprate monetary variables to price level of policy year

29

name of

variable to

be uprated

value of

uprating factor

define factor to be

used later on

Uprating indices (I)

• Datasets -> used with more than 1 system

– May be needed for various exercises (ex: Policy Effects)

– Fewer datasets than systems

• Discrepancy between the year the dataset refers to and the policy year

• Use uprating indices to index the incomes in the dataset to the policy year (i.e. the year you want to simulate)

– Ex: index the income data referring to 2011 to the 2014 level

• Uprating indices- based on raw series

• EM calculates implicit updating factors

30

Uprating indices (II)

31

the index

name the index-

reference

(handle) ($f_)

policy years

source of

information

Uprating indices (III)

32

• You can see the implicit updating factors applied

• Select the dataset you want to view

• Example:

• Dataset BG_2010_b5 income referring to 2009

• CPI increased between 2009 & 2012 by approx. 9%

Function Uprate (I)

• Uprating Indices used by the function Uprate

33

Dataset(s) to which the

function applies

Name of income

variable to be

uprated

Reference of

index to be

used for

uprating

Function Uprate (II)

34

Aggregate variables Using different values for different groups

35

Function SetDefault

• sets alternative values or variables if a dataset variable is missing

35

36

Function DefOutput • Determines the content of the output file

• TAX_UNIT: level of aggregation

36

37

Function DefVar

• To set intermediate (temporary) variables not included in VarConfig.xml

Special functions

38

Special functions (advanced)

• func_AddOn_xxx (implement extended functionalities not part of the standard tax-benefit calculations, such Effective Marginal Tax Rates, different budget sets)

• func_Loop and func_UnitLoop (repeat part (or all) of the tax-benefit calculations)

• func_Store and func_Restore (set a variable to the initial (or other previous) value

• func_ChangeParam (modify parameters during the model run)

• func_Totals (calculates aggregates over groups of persons/households)

• func_DropUnit and func_KeepUnit (drops certain persons/households from the calculations)

• func_ILVarOp (performs operations on variables that are part of an income list)

• func_RandSeed (generates random numbers)

• func_CallProgramme (calls another programme, e.g., Stata)

39

End of session

40