ingrid winter school in ‘cross country · ingrid winter school in ‘cross country...
TRANSCRIPT
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