|
1 | | -# Elasticities |
| 1 | +# Labor Supply Response Elasticities |
| 2 | + |
| 3 | +This directory contains parameters for labor supply response elasticities used in behavioral microsimulation analysis. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +Labor supply elasticities measure how individuals adjust their work behavior in response to changes in economic incentives: |
| 8 | + |
| 9 | +- **Substitution elasticity**: How labor supply responds to changes in the effective marginal wage rate (after-tax wage) |
| 10 | +- **Income elasticity**: How labor supply responds to changes in disposable income |
| 11 | + |
| 12 | +## Age Heterogeneity: The Multiplier Approach |
| 13 | + |
| 14 | +Both elasticity types support age-based heterogeneity through an **age multiplier** that scales base elasticities for individuals aged 65 and over. This approach is based on empirical research showing that older workers have higher labor supply elasticities than working-age adults. |
| 15 | + |
| 16 | +### Research Findings |
| 17 | + |
| 18 | +- **French (2005)**: Elasticities 3.0x-3.25x higher for age 60 vs age 40 workers |
| 19 | +- **CBO Working Papers (2012-12, 2012-13)**: Frisch elasticity ranges from 0.27 to 0.53 (central: 0.40) for working-age adults |
| 20 | +- **General pattern**: Retirement-age individuals (62-70) have particularly high elasticities, especially on the extensive margin (whether to work at all) |
| 21 | + |
| 22 | +### Why a Multiplier Approach? |
| 23 | + |
| 24 | +The multiplier approach was chosen over separate age-specific parameters because: |
| 25 | +1. **Evidence-based**: Literature consistently shows older workers are more elastic, but doesn't provide income-decile-specific multipliers |
| 26 | +2. **Parsimony**: 13 total parameters instead of 44 (11 base elasticities + 2 age multipliers) |
| 27 | +3. **Transparency**: Users can easily understand and adjust one multiplier value |
| 28 | +4. **Flexibility**: Multiplier can range from 1.0 (no age effect) to 3.0+ (French 2005 finding) |
| 29 | + |
| 30 | +## Substitution Elasticity Structure |
| 31 | + |
| 32 | +The substitution elasticity uses a two-step calculation: |
| 33 | + |
| 34 | +### Step 1: Base Elasticity (by position and decile) |
| 35 | + |
| 36 | +Base elasticities vary by: |
| 37 | +1. **Position**: primary earner vs secondary earner within tax unit |
| 38 | +2. **Decile**: 10 income deciles (for primary earners only) |
| 39 | + |
| 40 | +This creates 11 base elasticity parameters: |
| 41 | +- 10 for primary earners by decile |
| 42 | +- 1 for secondary earners (all deciles) |
| 43 | + |
| 44 | +### Step 2: Age Multiplier |
| 45 | + |
| 46 | +For individuals aged 65 and over, the base elasticity is multiplied by `age_multiplier_65_and_over`. |
| 47 | + |
| 48 | +**Formula**: |
| 49 | +- If age < 65: `elasticity = base_elasticity` |
| 50 | +- If age >= 65: `elasticity = base_elasticity × age_multiplier_65_and_over` |
| 51 | + |
| 52 | +### Global Override |
| 53 | + |
| 54 | +The `all` parameter overrides all base elasticities and age multipliers if set to non-zero. |
| 55 | + |
| 56 | +## Income Elasticity Structure |
| 57 | + |
| 58 | +The income elasticity uses a simpler two-parameter structure: |
| 59 | + |
| 60 | +1. **Base elasticity**: Applied to all working-age individuals (under 65) |
| 61 | +2. **Age multiplier**: Applied to individuals 65 and over |
| 62 | + |
| 63 | +**Formula**: |
| 64 | +- If age < 65: `elasticity = base` |
| 65 | +- If age >= 65: `elasticity = base × age_multiplier_65_and_over` |
| 66 | + |
| 67 | +The `all` parameter overrides base and multiplier if set to non-zero. |
| 68 | + |
| 69 | +## Default Values |
| 70 | + |
| 71 | +- All base elasticities default to 0 (no behavioral response) |
| 72 | +- Age multipliers default to 2.0 (conservative estimate based on literature) |
| 73 | +- Users must explicitly set base elasticity values to enable behavioral responses |
| 74 | + |
| 75 | +## Usage Examples |
| 76 | + |
| 77 | +### Example 1: No behavioral response (default) |
| 78 | +```yaml |
| 79 | +substitution: |
| 80 | + by_position_and_decile: |
| 81 | + primary: |
| 82 | + 1: 0 |
| 83 | + 2: 0 |
| 84 | + # ... all zeros |
| 85 | + secondary: 0 |
| 86 | + age_multiplier_65_and_over: 2.0 # Doesn't matter since base is 0 |
| 87 | + |
| 88 | +income: |
| 89 | + base: 0 |
| 90 | + age_multiplier_65_and_over: 2.0 # Doesn't matter since base is 0 |
| 91 | +``` |
| 92 | +
|
| 93 | +Result: Everyone has zero elasticity regardless of age. |
| 94 | +
|
| 95 | +### Example 2: Same elasticity for all ages |
| 96 | +```yaml |
| 97 | +substitution: |
| 98 | + by_position_and_decile: |
| 99 | + primary: |
| 100 | + 1: 0.31 # CBO-style values |
| 101 | + 2: 0.27 |
| 102 | + # ... other deciles |
| 103 | + secondary: 0.40 |
| 104 | + age_multiplier_65_and_over: 1.0 # No age effect |
| 105 | + |
| 106 | +income: |
| 107 | + base: -0.04 |
| 108 | + age_multiplier_65_and_over: 1.0 # No age effect |
| 109 | +``` |
| 110 | +
|
| 111 | +Result: Same elasticity for everyone regardless of age. |
| 112 | +
|
| 113 | +### Example 3: Higher elasticity for elderly (RECOMMENDED) |
| 114 | +```yaml |
| 115 | +substitution: |
| 116 | + by_position_and_decile: |
| 117 | + primary: |
| 118 | + 1: 0.31 |
| 119 | + 2: 0.27 |
| 120 | + # ... other deciles |
| 121 | + secondary: 0.40 |
| 122 | + age_multiplier_65_and_over: 2.0 # Conservative estimate |
| 123 | + |
| 124 | +income: |
| 125 | + base: -0.04 |
| 126 | + age_multiplier_65_and_over: 2.0 |
| 127 | +``` |
| 128 | +
|
| 129 | +Result: |
| 130 | +- Age 40, primary earner, decile 1: elasticity = 0.31 |
| 131 | +- Age 70, primary earner, decile 1: elasticity = 0.31 × 2.0 = 0.62 |
| 132 | +- Age 40: income elasticity = -0.04 |
| 133 | +- Age 70: income elasticity = -0.04 × 2.0 = -0.08 |
| 134 | +
|
| 135 | +### Example 4: Aggressive multiplier based on French (2005) |
| 136 | +```yaml |
| 137 | +substitution: |
| 138 | + age_multiplier_65_and_over: 3.0 # Upper end of literature |
| 139 | + |
| 140 | +income: |
| 141 | + base: -0.04 |
| 142 | + age_multiplier_65_and_over: 3.0 |
| 143 | +``` |
| 144 | +
|
| 145 | +Result: |
| 146 | +- Age 70, primary earner, decile 1 (base 0.31): elasticity = 0.31 × 3.0 = 0.93 |
| 147 | +- Age 70: income elasticity = -0.04 × 3.0 = -0.12 |
| 148 | +
|
| 149 | +## Multiplier Value Guidance |
| 150 | +
|
| 151 | +Based on literature review (see `age_heterogeneity_analysis.md`): |
| 152 | + |
| 153 | +| Multiplier | Interpretation | Source | |
| 154 | +|------------|----------------|--------| |
| 155 | +| 1.0 | No age difference | Ignores evidence | |
| 156 | +| 1.5 | Conservative | Lower end of estimates | |
| 157 | +| 2.0 | **Recommended default** | Conservative but evidence-based | |
| 158 | +| 2.5 | Moderate | Midpoint of French (2005) range | |
| 159 | +| 3.0 | Aggressive | French (2005) finding for age 60 vs 40 | |
| 160 | +| 3.25 | Upper bound | Upper end of French (2005) range | |
| 161 | + |
| 162 | +**Note**: The exact multiplier value has uncertainty. We recommend starting with 2.0 and conducting sensitivity analysis with values in the 1.5-3.0 range. |
| 163 | + |
| 164 | +## References |
| 165 | + |
| 166 | +- [French (2005): "The Effects of Health, Wealth, and Wages on Labour Supply and Retirement Behaviour"](https://academic.oup.com/restud/article-abstract/72/2/395/1558553) - Review of Economic Studies 72(2): 395-427 |
| 167 | +- [CBO Working Paper 2012-12: "A Review of Recent Research on Labor Supply Elasticities"](https://www.cbo.gov/publication/43675) - McClelland & Mok |
| 168 | +- [CBO Working Paper 2012-13: "Review of Estimates of the Frisch Elasticity of Labor Supply"](https://www.cbo.gov/publication/43676) - Reichling & Whalen |
| 169 | + |
| 170 | +## Implementation Notes |
| 171 | + |
| 172 | +- Age is determined from the `age` variable for the year (`period.this_year`) |
| 173 | +- Age 65 is the cutoff: age < 65 uses base elasticity, age >= 65 applies multiplier |
| 174 | +- Primary earner is defined as the highest earner within the tax unit |
| 175 | +- Earnings deciles are determined using hardcoded markers (TODO: parametrize) |
| 176 | +- Negative total earnings result in zero elasticity (using `max_(earnings, 0)`) |
| 177 | +- Zero base elasticity remains zero even with multiplier (0 × multiplier = 0) |
| 178 | + |
| 179 | +## Technical Details |
| 180 | + |
| 181 | +### How Primary/Secondary Earner is Determined |
| 182 | + |
| 183 | +Within each tax unit, the person with the highest total earnings (employment + self-employment) is designated as the primary earner. All other earners in the unit are secondary earners. This means: |
| 184 | +- Single-person tax units: That person is always primary |
| 185 | +- Multi-person tax units: Only the highest earner gets primary elasticity; others get zero (since secondary earner base elasticities default to 0) |
| 186 | + |
| 187 | +### Earnings Decile Markers |
| 188 | + |
| 189 | +Current hardcoded decile boundaries (TODO: parametrize): |
| 190 | +- Decile 1: $0 - $14,000 |
| 191 | +- Decile 2: $14,000 - $28,000 |
| 192 | +- Decile 3: $28,000 - $39,000 |
| 193 | +- Decile 4: $39,000 - $50,000 |
| 194 | +- Decile 5: $50,000 - $61,000 |
| 195 | +- Decile 6: $61,000 - $76,000 |
| 196 | +- Decile 7: $76,000 - $97,000 |
| 197 | +- Decile 8: $97,000 - $138,000 |
| 198 | +- Decile 9: $138,000 - $1,726,000 |
| 199 | +- Decile 10: $1,726,000+ |
| 200 | + |
| 201 | +### Negative Earnings Handling |
| 202 | + |
| 203 | +To prevent negative earnings from causing sign flips in economic responses, the code applies `max_(earnings, 0)` before calculating elasticities. This means: |
| 204 | +- Positive net earnings: Normal elasticity calculation |
| 205 | +- Negative net earnings: Treated as zero earnings, resulting in zero substitution elasticity |
| 206 | +- Income elasticity still applies to individuals with negative earnings |
0 commit comments