# Data loading
df <- read.dta("C:/Users/larak/Downloads/fi.dta")
df <- df[, 1:134]        
df <- as_tibble(df)

# Standardizing names and creating key variables
df <- df %>%
  mutate(
    dur104 = pmin(dur, 104),
    event = uncc,
    After89 = after,
    eRR  = tr,
    eP39 = t39,
    eP52 = t52,
    ePBD = as.numeric(t39 == 1 | t52 == 1),
    all  = tr * (t39 + t52) 
  )

# Standardizing group names (for graphs and tables)
df <- df %>%
  mutate(type_clean = str_to_lower(as.character(type)),
         group = case_when(
           str_detect(type_clean, "control") ~ "Control",
           str_detect(type_clean, "\\brr\\b") & !str_detect(type_clean, "pbd") ~ "eRR",
           str_detect(type_clean, "pbd") & str_detect(type_clean, "rr") ~ "ePBD-RR",
           str_detect(type_clean, "pbd") ~ "ePBD",
           TRUE ~ as.character(type)
         )) %>%
  select(-type_clean) %>%
  mutate(group_letter = case_when(
    group == "Control"  ~ "A: Control",
    group == "eRR"      ~ "B: eRR",
    group == "ePBD"     ~ "C: ePBD",
    group == "ePBD-RR"  ~ "D: ePBD-RR",
    TRUE ~ as.character(group)
  ))

# Quick checks
table(df$group)
## 
## Control    ePBD ePBD-RR     eRR 
##   72773   99404   21174   32470
glimpse(df[, c("dur104", "event", "After89", "eRR", "ePBD", "group", "group_letter")])
## Rows: 225,821
## Columns: 7
## $ dur104       <dbl> 0.1428571, 0.1428571, 0.1428571, 0.1428571, 0.1428571, 0.…
## $ event        <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ After89      <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ eRR          <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ ePBD         <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ group        <chr> "ePBD-RR", "ePBD-RR", "ePBD-RR", "ePBD-RR", "ePBD-RR", "e…
## $ group_letter <chr> "D: ePBD-RR", "D: ePBD-RR", "D: ePBD-RR", "D: ePBD-RR", "…

Q1. What are the contributions of this study ?

Lalive, van Ours, and Zweimüller (2006) examine the causal effect of unemployment insurance generosity on unemployment duration in Austria. The paper builds on job search theory: more generous benefits reduce the opportunity cost of unemployment, lower search intensity, and raise the reservation wage, thereby lengthening unemployment spells.

The central contribution is to distinguish empirically between two dimensions of generosity: the replacement rate (RR), which measures benefits relative to previous wages, and the potential benefit duration (PBD), which sets the maximum entitlement length. This distinction matters because the two channels have different theoretical effects: RR affects search intensity throughout the spell, while PBD generates a “spike” effect as benefit exhaustion approaches.

To identify these effects causally, the authors exploit an Austrian reform implemented in August 1989. The reform both increased the RR (from 41% to 47%) and extended PBD for specific age groups (from 30 to 39 weeks for workers aged 40–49, and from 30 to 52 weeks for those aged 50 and above). This quasi-natural experiment supports a Difference-in-Differences strategy: eligible groups serve as treated units, while non-eligible groups form the control. Identification relies on the parallel trends assumption, which the authors assess graphically.

The results show that PBD has a much stronger effect than RR. Extending benefits from 30 to 52 weeks for older workers increases average unemployment duration by more than three weeks, with behavioral responses accounting for nearly 50% of the total cost increase. By contrast, the increase in RR generates mostly direct fiscal costs (about 90%), with little impact on search behavior.

Methodologically, the paper uses a piecewise constant hazard model (piecewise exponential, PWE), estimated by maximum likelihood through a Poisson regression on split duration data with an offset. This approach allows for a flexible baseline hazard and treatment effects that vary across duration intervals. A key limitation is that identification assumes no endogenous selection into eligibility groups, an assumption that is difficult to test directly.

Q2.Difference-in-Differences

  1. Group means (step-by-step):
df %>%
  mutate(period = ifelse(after == 1, "after", "before")) %>%
  group_by(type, period) %>%
  summarise(
    m  = mean(dur104),
    N  = n(),
    se = sd(dur104) / sqrt(n()),
    .groups = "drop"
  ) %>%
  arrange(type, period)
## # A tibble: 8 × 5
##   type       period     m     N     se
##   <fct>      <chr>  <dbl> <int>  <dbl>
## 1 PBD and RR after   22.7  9182 0.233 
## 2 PBD and RR before  18.5 11992 0.162 
## 3 PBD        after   18.1 51110 0.0912
## 4 PBD        before  15.8 48294 0.0757
## 5 RR         after   19.1 15310 0.152 
## 6 RR         before  17.1 17160 0.118 
## 7 control    after   15.6 38958 0.0870
## 8 control    before  14.5 33815 0.0782

The table reports average unemployment duration (in weeks) by treatment group and period (before vs. after the reform). A first observation is that mean durations increase in all groups after 1989, including the control group (from 14.46 to 15.63 weeks). This suggests the presence of common time effects, which justifies the use of a Difference-in-Differences framework.

Looking at treated groups, the increase is largest for individuals exposed to both PBD and RR (from 18.49 to 22.74 weeks), followed by the PBD-only group (from 15.83 to 18.08 weeks). The RR-only group shows a more modest rise (from 17.11 to 19.10 weeks). These raw differences are consistent with the hypothesis that extending benefit duration has a stronger impact on unemployment spells than increasing the replacement rate.

However, these comparisons remain descriptive. The upward trend in the control group indicates that simple before–after differences would overstate treatment effects. A proper identification of causal impacts requires differencing out these common trends, which motivates the DiD approach used in the paper.

  1. Pivot table (Table 4 format):
tab_means <- df %>%
  mutate(period = ifelse(After89 == 1, "after", "before")) %>%
  group_by(group, period) %>%
  summarise(
    mean_dur104 = mean(dur104, na.rm = TRUE),
    N = n(),
    se = sd(dur104, na.rm = TRUE) / sqrt(n()),
    .groups = "drop"
  ) %>%
  arrange(group, period)

tab_means
## # A tibble: 8 × 5
##   group   period mean_dur104     N     se
##   <chr>   <chr>        <dbl> <int>  <dbl>
## 1 Control after         15.6 38958 0.0870
## 2 Control before        14.5 33815 0.0782
## 3 ePBD    after         18.1 51110 0.0912
## 4 ePBD    before        15.8 48294 0.0757
## 5 ePBD-RR after         22.7  9182 0.233 
## 6 ePBD-RR before        18.5 11992 0.162 
## 7 eRR     after         19.1 15310 0.152 
## 8 eRR     before        17.1 17160 0.118

The pivot table presents mean unemployment duration by group and period in a format that facilitates direct comparison across treatments. The ordering highlights both within-group changes over time and differences across groups.

Consistent with the previous step, all groups exhibit an increase in mean duration after the reform. However, the magnitude of this increase varies substantially. The control group shows a modest rise (+1.17 weeks), which captures aggregate time effects unrelated to treatment.

Among treated groups, the largest increase is observed for the ePBD-RR group (+4.25 weeks), followed by the ePBD group (+2.25 weeks) and the eRR group (+1.99 weeks). Comparing these changes to the control group suggests sizable net effects for PBD extensions, especially when combined with RR.

The standard errors are small relative to the means, reflecting large sample sizes and precise estimates. This strengthens confidence in the observed differences, although statistical significance should be formally assessed.

Overall, the table provides preliminary evidence that extending benefit duration has a stronger impact on unemployment duration than increasing the replacement rate alone. However, causal interpretation still requires a Difference-in-Differences adjustment to remove common trends captured by the control group.

  1. Difference-in-Differences (DiD) estimates:
tab_wide <- df %>%
  mutate(period = ifelse(After89 == 1, "after", "before")) %>%
  group_by(group, period) %>%
  summarise(mean_dur104 = mean(dur104, na.rm = TRUE), .groups = "drop") %>%
  pivot_wider(names_from = period, values_from = mean_dur104)

# récupérer les moyennes du contrôle
ctrl_before <- tab_wide %>% filter(group == "Control") %>% pull(before)
ctrl_after  <- tab_wide %>% filter(group == "Control") %>% pull(after)

tab_wide <- tab_wide %>%
  mutate(DiD = (after - before) - (ctrl_after - ctrl_before))

tab_wide
## # A tibble: 4 × 4
##   group   after before   DiD
##   <chr>   <dbl>  <dbl> <dbl>
## 1 Control  15.6   14.5 0    
## 2 ePBD     18.1   15.8 1.08 
## 3 ePBD-RR  22.7   18.5 3.08 
## 4 eRR      19.1   17.1 0.818

The DiD estimates isolate the causal effect of each treatment by netting out the common time trend observed in the control group (+1.17 weeks). This adjustment is essential, as all groups experienced longer unemployment durations after the reform.

The results show substantial heterogeneity across treatments. The largest effect is found for the ePBD-RR group, with an increase of about 3.08 weeks. This reflects the combined impact of extended benefit duration and a higher replacement rate. The ePBD-only group exhibits a sizeable effect of 1.08 weeks, confirming that longer entitlement periods significantly prolong unemployment spells.

By contrast, the eRR-only group shows a more modest effect (0.82 weeks). This suggests that increasing the replacement rate has a weaker behavioral impact than extending benefit duration. The ranking of effects—ePBD-RR > ePBD > eRR—is consistent with the theoretical prediction that PBD primarily drives duration through incentives near benefit exhaustion.

Overall, these DiD estimates provide credible evidence that benefit duration is the dominant margin affecting unemployment duration. However, their validity still depends on the parallel trends assumption and the absence of differential composition changes across groups.

df <- df %>% mutate(group = factor(group))
df$group <- relevel(df$group, ref = "Control")

reg_did <- lm(dur104 ~ group * After89, data = df)
summary(reg_did)
## 
## Call:
## lm(formula = dur104 ~ group * After89, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -22.669  -9.933  -4.864   2.860  89.538 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          14.46226    0.09673 149.518  < 2e-16 ***
## groupePBD             1.37176    0.12612  10.876  < 2e-16 ***
## groupePBD-RR          4.02607    0.18904  21.297  < 2e-16 ***
## groupeRR              2.64590    0.16671  15.871  < 2e-16 ***
## After89               1.16942    0.13220   8.846  < 2e-16 ***
## groupePBD:After89     1.07954    0.17383   6.210  5.3e-10 ***
## groupePBD-RR:After89  3.08199    0.27985  11.013  < 2e-16 ***
## groupeRR:After89      0.81838    0.23786   3.441  0.00058 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 17.79 on 225813 degrees of freedom
## Multiple R-squared:  0.01117,    Adjusted R-squared:  0.01114 
## F-statistic: 364.5 on 7 and 225813 DF,  p-value: < 2.2e-16

The linear model examining dur104 as a function of group, After89, and their interaction shows that all predictors are highly significant, with After89 increasing dur104 across all groups. The baseline reference group has a mean of 14.46 pre-1989, while PBD, PBD-RR, and RR show additional increases of 1.37, 4.03, and 2.65 units, respectively. Interaction terms indicate that the post-1989 effect is stronger in PBD-RR (total ~8.28), followed by RR (~4.64) and PBD (~3.62), reflecting that the temporal effect varies by group. Despite these significant effects, the model explains only about 1.1% of the variance (R² = 0.01117), and the residuals exhibit a large spread, suggesting substantial unexplained variability and potential outliers. Overall, the results indicate meaningful group and temporal differences, but additional predictors may be needed to better account for variation in dur104.

groups <- c("Control", "eRR", "ePBD", "ePBD-RR")

km_plots <- map(groups, function(grp) {
  sub <- df %>% filter(group == grp)
  if(nrow(sub) == 0) return(NULL)

  fit_sub <- tryCatch(
    survfit(Surv(dur104, event) ~ After89, data = sub),
    error = function(e) return(NULL)
  )
  if(is.null(fit_sub)) return(NULL)

  km_df <- broom::tidy(fit_sub) %>%
    
    mutate(period = case_when(
      is.na(strata) ~ "All",
      str_detect(strata, "=0") ~ "Before",
      str_detect(strata, "=1") ~ "After",
      TRUE ~ as.character(strata)
    ))

  titre_avec_lettre <- unique(sub$group_letter)

  ggplot(km_df, aes(x = time, y = estimate, color = period)) +
    geom_step(size = 0.8) +
    coord_cartesian(xlim = c(0, 104), ylim = c(0, 1)) +
    theme_minimal() +
    labs(title = titre_avec_lettre, x = "Weeks", y = "Survival", color = "Period")
})
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
km_plots <- compact(km_plots)
(km_plots[[1]] | km_plots[[2]]) / (km_plots[[3]] | km_plots[[4]]) +
  plot_annotation(title = "Figure 3: Kaplan-Meier survival curves")

For this third step, we performed a descriptive and non-parametric analysis to visualize the direct impact of the 1989 reform on unemployment duration before moving to complex modeling. First, we reproduced Table 4 by calculating the average unemployment duration (censored at 104 weeks) for each group to observe the raw increase in duration, particularly for the group benefiting from both the extension of duration (PBD) and the increase in the rate (RR), which shows the strongest effect. Second, we generated Kaplan-Meier survival curves (Figure 3), allowing a graphical view of how the probability of remaining unemployed evolves over time. This step confirms theoretical predictions: the control group (A) shows nearly overlapping Before/After curves, validating the parallel trends assumption central to the DiD design. Treated groups show increasing divergence: moderate for eRR (B), more pronounced for ePBD (C), and maximal for ePBD-RR (D), reflecting the cumulative effect of the two dimensions of the reform.

get_smoothed_hazard <- function(data, grp, after_value, bw = 2) {
  sub <- data %>%
    filter(group == grp, After89 == after_value)

  fit_sub <- survfit(Surv(dur104, event) ~ 1, data = sub)

  km <- data.frame(
    time = fit_sub$time,
    surv = fit_sub$surv
  ) %>%
    arrange(time) %>%
    mutate(
      surv_lag = lag(surv, default = 1),
      hazard = (surv_lag - surv) / surv_lag
    ) %>%
    filter(is.finite(hazard), hazard >= 0) %>%
    filter(time < 100)

  if (nrow(km) < 5) return(NULL)

  sm <- locpoly(km$time, km$hazard, bandwidth = bw)

  data.frame(
    time = sm$x,
    hazard = sm$y,
    group = grp,
    period = ifelse(after_value == 1, "After", "Before")
  )
}


haz_all <- bind_rows(
  get_smoothed_hazard(df, "Control", 0),
  get_smoothed_hazard(df, "Control", 1),
  get_smoothed_hazard(df, "eRR", 0),
  get_smoothed_hazard(df, "eRR", 1),
  get_smoothed_hazard(df, "ePBD", 0),
  get_smoothed_hazard(df, "ePBD", 1),
  get_smoothed_hazard(df, "ePBD-RR", 0),
  get_smoothed_hazard(df, "ePBD-RR", 1)
)

# Prepare the data for the hazard plots with letters
haz_all <- haz_all %>%
  mutate(group_letter = case_when(
    group == "Control" ~ "A: Control",
    group == "eRR"     ~ "B: eRR",
    group == "ePBD"    ~ "C: ePBD",
    group == "ePBD-RR" ~ "D: ePBD-RR"
  ))

# Optional: compute a common y-axis limit to avoid clipped facets
ymax_h <- max(haz_all$hazard, na.rm = TRUE) * 1.05

# Plot with faceted letters (fixed Y-scale)
ggplot(haz_all, aes(x = time, y = hazard, color = period)) +
  geom_line(linewidth = 1) +
  facet_wrap(~ group_letter, scales = "fixed", ncol = 2) +
  scale_y_continuous(limits = c(0, ymax_h)) +
  coord_cartesian(xlim = c(0, 104)) +
  theme_minimal() +
  labs(
    title = "Figure 4: Smoothed unemployment exit hazards",
    x = "Weeks of unemployment",
    y = "Exit hazard",
    color = "Period"
  )

The smoothed exit hazards reinforce the findings from the DiD analysis. In the control group (A), the Before and After curves remain closely aligned, supporting the parallel trends assumption. In the eRR group (B), the After hazard is consistently lower than Before from the outset, highlighting the immediate disincentive effect of the increased replacement rate. In the ePBD (C) and ePBD-RR (D) groups, exit peaks shift noticeably to the right—around weeks 39 and 52—precisely matching the revised benefit expiration dates. This temporal shift provides a clear empirical signature of the behavioral impact of the PBD extension, consistent with predictions from job-search theory.

Modèle PH Piecewise Constant

breaks <- seq(from = 3, to = 59, by = 4)
labels <- paste0("(", c(0, breaks), ",", c(breaks, 104), "]")

gux <- survSplit(Surv(dur104, uncc) ~., data = df, cut = breaks,
                 end = "time", event = "death", start = "start", episode = "interval")

gux <- gux %>%
  mutate(
    exposure = time - start,
    interval = factor(interval + 1, labels = labels)
  ) %>%
  filter(exposure > 0)

# Lightweight diagnostic model (quick): baseline by interval + offset
pwe <- glm(death ~ interval + After89 + tr + t39 + t52 +
           age + married + single + divorced +
           sfrau + f_marr + f_single + f_divor +
           lehre + med_educ + hi_educ +
           bc + lwage + ten72 + pnon_10 +
           seasonal + manuf + ein_zus +
           y1988 + y1989 + y1990 + y1991 +
           q2 + q3 + q4 +
           offset(log(exposure)),
           family = poisson, data = gux)


summary(pwe)
## 
## Call:
## glm(formula = death ~ interval + After89 + tr + t39 + t52 + age + 
##     married + single + divorced + sfrau + f_marr + f_single + 
##     f_divor + lehre + med_educ + hi_educ + bc + lwage + ten72 + 
##     pnon_10 + seasonal + manuf + ein_zus + y1988 + y1989 + y1990 + 
##     y1991 + q2 + q3 + q4 + offset(log(exposure)), family = poisson, 
##     data = gux)
## 
## Coefficients:
##                    Estimate Std. Error z value Pr(>|z|)    
## (Intercept)      -4.0586414  0.0653279 -62.127  < 2e-16 ***
## interval(3,7]     0.5965937  0.0089519  66.645  < 2e-16 ***
## interval(7,11]    1.0801367  0.0087363 123.638  < 2e-16 ***
## interval(11,15]   1.3115137  0.0090880 144.312  < 2e-16 ***
## interval(15,19]   1.2545439  0.0100859 124.386  < 2e-16 ***
## interval(19,23]   1.3556587  0.0108757 124.651  < 2e-16 ***
## interval(23,27]   1.1179458  0.0128838  86.771  < 2e-16 ***
## interval(27,31]   1.1970399  0.0137331  87.165  < 2e-16 ***
## interval(31,35]   0.9716384  0.0165552  58.691  < 2e-16 ***
## interval(35,39]   0.8227734  0.0191033  43.070  < 2e-16 ***
## interval(39,43]   0.7203152  0.0217029  33.190  < 2e-16 ***
## interval(43,47]   0.5346722  0.0251926  21.223  < 2e-16 ***
## interval(47,51]   0.3637253  0.0288224  12.620  < 2e-16 ***
## interval(51,55]   0.8464004  0.0246610  34.321  < 2e-16 ***
## interval(55,59]   0.4060853  0.0321349  12.637  < 2e-16 ***
## interval(59,104]  0.3728019  0.0145739  25.580  < 2e-16 ***
## After89          -0.0389338  0.0103645  -3.756 0.000172 ***
## tr               -0.0715232  0.0079859  -8.956  < 2e-16 ***
## t39               0.0338098  0.0067180   5.033 4.84e-07 ***
## t52              -0.0192887  0.0112975  -1.707 0.087759 .  
## age              -0.0133704  0.0006242 -21.421  < 2e-16 ***
## married           0.1513658  0.0177449   8.530  < 2e-16 ***
## single            0.0122353  0.0188598   0.649 0.516501    
## divorced         -0.1014924  0.0195336  -5.196 2.04e-07 ***
## sfrau            -0.0422971  0.0242165  -1.747 0.080703 .  
## f_marr           -0.0792152  0.0246494  -3.214 0.001310 ** 
## f_single          0.1383868  0.0267951   5.165 2.41e-07 ***
## f_divor           0.0600459  0.0270101   2.223 0.026210 *  
## lehre            -0.0489748  0.0049242  -9.946  < 2e-16 ***
## med_educ         -0.1504219  0.0109415 -13.748  < 2e-16 ***
## hi_educ          -0.2308587  0.0124885 -18.486  < 2e-16 ***
## bc                0.3799164  0.0065200  58.269  < 2e-16 ***
## lwage             0.0996137  0.0083508  11.929  < 2e-16 ***
## ten72            -0.0061575  0.0005218 -11.801  < 2e-16 ***
## pnon_10          -0.0674957  0.0125349  -5.385 7.26e-08 ***
## seasonal          0.3362929  0.0053381  62.999  < 2e-16 ***
## manuf            -0.0880187  0.0064514 -13.643  < 2e-16 ***
## ein_zus           0.3455235  0.0050286  68.711  < 2e-16 ***
## y1988             0.0110846  0.0077539   1.430 0.152847    
## y1989            -0.0635576  0.0103665  -6.131 8.73e-10 ***
## y1990            -0.1126490  0.0139542  -8.073 6.87e-16 ***
## y1991            -0.1766747  0.0163882 -10.781  < 2e-16 ***
## q2               -0.0022050  0.0067866  -0.325 0.745248    
## q3               -0.2125998  0.0078618 -27.042  < 2e-16 ***
## q4               -0.2349911  0.0068993 -34.060  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1016945  on 1057905  degrees of freedom
## Residual deviance:  946894  on 1057861  degrees of freedom
## AIC: 1379670
## 
## Number of Fisher Scoring iterations: 6

This Poisson model estimates unemployment exit hazards using interval dummies, treatment indicators, policy timing, and individual controls, with an exposure offset. Baseline hazards rise until weeks 23–27, then decline. Post-1989 (After89) and treatment (tr) reduce exit hazards, while exit peaks at week 39 reflect behavioral responses to benefit expiration. Older age and higher education lower exit probability; blue-collar status, prior wages, and seasonal employment increase it. Marital status shows moderate effects, and year/quarter dummies capture labor market fluctuations. Covariate signs align with prior literature, but the model does not yet incorporate interval-specific treatment effects, which are central to causal identification.

Full PWE model (RAM-intensive):

pwe_full <- glm(
  death ~ factor(interval) +
    factor(interval):tr + factor(interval):t39 + factor(interval):t52 +
    factor(interval):all + factor(interval):After89 +
    factor(interval):tr_a0 + factor(interval):t39_a0 + factor(interval):t52_a0 +
    factor(interval):t39tra0 + factor(interval):t52tra0 +
    age + sfrau + married + single + divorced +
    f_marr + f_single + f_divor +
    lehre + med_educ + hi_educ +
    bc + lwage + ten72 + pnon_10 +
    seasonal + manuf + ein_zus +
    y1988 + y1989 + y1990 + y1991 +
    q2 + q3 + q4 +
    offset(log(exposure)),
  family = poisson, data = gux
)
summary(pwe_full)
## 
## Call:
## glm(formula = death ~ factor(interval) + factor(interval):tr + 
##     factor(interval):t39 + factor(interval):t52 + factor(interval):all + 
##     factor(interval):After89 + factor(interval):tr_a0 + factor(interval):t39_a0 + 
##     factor(interval):t52_a0 + factor(interval):t39tra0 + factor(interval):t52tra0 + 
##     age + sfrau + married + single + divorced + f_marr + f_single + 
##     f_divor + lehre + med_educ + hi_educ + bc + lwage + ten72 + 
##     pnon_10 + seasonal + manuf + ein_zus + y1988 + y1989 + y1990 + 
##     y1991 + q2 + q3 + q4 + offset(log(exposure)), family = poisson, 
##     data = gux)
## 
## Coefficients:
##                                    Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                      -4.2019127  0.0674457 -62.301  < 2e-16 ***
## factor(interval)(3,7]             0.6464800  0.0224288  28.824  < 2e-16 ***
## factor(interval)(7,11]            1.1071133  0.0220179  50.282  < 2e-16 ***
## factor(interval)(11,15]           1.3504385  0.0228895  58.998  < 2e-16 ***
## factor(interval)(15,19]           1.4000380  0.0251156  55.744  < 2e-16 ***
## factor(interval)(19,23]           1.5310067  0.0274714  55.731  < 2e-16 ***
## factor(interval)(23,27]           1.2362803  0.0341303  36.222  < 2e-16 ***
## factor(interval)(27,31]           1.3636355  0.0366977  37.159  < 2e-16 ***
## factor(interval)(31,35]           1.2342621  0.0446758  27.627  < 2e-16 ***
## factor(interval)(35,39]           0.8589167  0.0591077  14.531  < 2e-16 ***
## factor(interval)(39,43]           0.7250909  0.0690935  10.494  < 2e-16 ***
## factor(interval)(43,47]           0.6125787  0.0793796   7.717 1.19e-14 ***
## factor(interval)(47,51]           0.4781303  0.0910238   5.253 1.50e-07 ***
## factor(interval)(51,55]           0.3495838  0.1032447   3.386 0.000709 ***
## factor(interval)(55,59]           0.2603978  0.1140589   2.283 0.022430 *  
## factor(interval)(59,104]          0.3474712  0.0470460   7.386 1.52e-13 ***
## age                              -0.0131484  0.0006251 -21.035  < 2e-16 ***
## sfrau                            -0.0298940  0.0242284  -1.234 0.217264    
## married                           0.1470555  0.0177481   8.286  < 2e-16 ***
## single                            0.0146474  0.0188632   0.777 0.437450    
## divorced                         -0.0990584  0.0195374  -5.070 3.97e-07 ***
## f_marr                           -0.0782606  0.0246551  -3.174 0.001502 ** 
## f_single                          0.1280531  0.0268055   4.777 1.78e-06 ***
## f_divor                           0.0447519  0.0270238   1.656 0.097718 .  
## lehre                            -0.0497434  0.0049253 -10.100  < 2e-16 ***
## med_educ                         -0.1522513  0.0109449 -13.911  < 2e-16 ***
## hi_educ                          -0.2328151  0.0124912 -18.638  < 2e-16 ***
## bc                                0.3757425  0.0065301  57.540  < 2e-16 ***
## lwage                             0.1095161  0.0083719  13.081  < 2e-16 ***
## ten72                            -0.0060161  0.0005228 -11.508  < 2e-16 ***
## pnon_10                          -0.0857573  0.0127609  -6.720 1.81e-11 ***
## seasonal                          0.3322806  0.0053475  62.138  < 2e-16 ***
## manuf                            -0.0862365  0.0064548 -13.360  < 2e-16 ***
## ein_zus                           0.3390115  0.0050479  67.159  < 2e-16 ***
## y1988                             0.0074992  0.0077670   0.966 0.334289    
## y1989                            -0.0724709  0.0103821  -6.980 2.94e-12 ***
## y1990                            -0.1110619  0.0139474  -7.963 1.68e-15 ***
## y1991                            -0.1632786  0.0163975  -9.958  < 2e-16 ***
## q2                               -0.0008413  0.0067954  -0.124 0.901468    
## q3                               -0.2118961  0.0078690 -26.928  < 2e-16 ***
## q4                               -0.2352627  0.0069066 -34.063  < 2e-16 ***
## factor(interval)(0,3]:tr          0.0976526  0.0340252   2.870 0.004105 ** 
## factor(interval)(3,7]:tr         -0.0878318  0.0249161  -3.525 0.000423 ***
## factor(interval)(7,11]:tr        -0.1436427  0.0231901  -6.194 5.86e-10 ***
## factor(interval)(11,15]:tr       -0.2916156  0.0256665 -11.362  < 2e-16 ***
## factor(interval)(15,19]:tr       -0.3350317  0.0300611 -11.145  < 2e-16 ***
## factor(interval)(19,23]:tr        0.3195483  0.0291891  10.948  < 2e-16 ***
## factor(interval)(23,27]:tr        0.3097211  0.0417665   7.416 1.21e-13 ***
## factor(interval)(27,31]:tr        0.2944903  0.0468232   6.289 3.19e-10 ***
## factor(interval)(31,35]:tr        0.2922937  0.0613466   4.765 1.89e-06 ***
## factor(interval)(35,39]:tr        0.2434727  0.0867921   2.805 0.005028 ** 
## factor(interval)(39,43]:tr       -0.1070622  0.1143910  -0.936 0.349308    
## factor(interval)(43,47]:tr        0.0806458  0.1238387   0.651 0.514906    
## factor(interval)(47,51]:tr       -0.2311614  0.1578741  -1.464 0.143136    
## factor(interval)(51,55]:tr        0.0908184  0.1611687   0.563 0.573095    
## factor(interval)(55,59]:tr        0.1428344  0.1766958   0.808 0.418881    
## factor(interval)(59,104]:tr      -0.0353163  0.0705249  -0.501 0.616538    
## factor(interval)(0,3]:t39         0.0672163  0.0257568   2.610 0.009063 ** 
## factor(interval)(3,7]:t39         0.0591498  0.0180083   3.285 0.001021 ** 
## factor(interval)(7,11]:t39        0.0461899  0.0170128   2.715 0.006627 ** 
## factor(interval)(11,15]:t39       0.0800681  0.0188018   4.259 2.06e-05 ***
## factor(interval)(15,19]:t39       0.1259699  0.0232620   5.415 6.12e-08 ***
## factor(interval)(19,23]:t39      -0.2666851  0.0297712  -8.958  < 2e-16 ***
## factor(interval)(23,27]:t39      -0.1713891  0.0398709  -4.299 1.72e-05 ***
## factor(interval)(27,31]:t39       0.1143928  0.0410100   2.789 0.005281 ** 
## factor(interval)(31,35]:t39       0.0559234  0.0532241   1.051 0.293390    
## factor(interval)(35,39]:t39       0.1892705  0.0713335   2.653 0.007970 ** 
## factor(interval)(39,43]:t39       0.2284056  0.0845769   2.701 0.006922 ** 
## factor(interval)(43,47]:t39       0.1676269  0.0990065   1.693 0.090438 .  
## factor(interval)(47,51]:t39       0.1804611  0.1139518   1.584 0.113271    
## factor(interval)(51,55]:t39       0.2087066  0.1277663   1.634 0.102363    
## factor(interval)(55,59]:t39       0.0250088  0.1471860   0.170 0.865079    
## factor(interval)(59,104]:t39      0.0641581  0.0562409   1.141 0.253964    
## factor(interval)(0,3]:t52        -0.0776634  0.0376641  -2.062 0.039208 *  
## factor(interval)(3,7]:t52        -0.0092366  0.0261832  -0.353 0.724261    
## factor(interval)(7,11]:t52        0.0012898  0.0245556   0.053 0.958110    
## factor(interval)(11,15]:t52       0.1706379  0.0256772   6.645 3.02e-11 ***
## factor(interval)(15,19]:t52       0.2595681  0.0309693   8.381  < 2e-16 ***
## factor(interval)(19,23]:t52      -0.1021865  0.0396960  -2.574 0.010046 *  
## factor(interval)(23,27]:t52      -0.0944536  0.0533320  -1.771 0.076552 .  
## factor(interval)(27,31]:t52       0.0419884  0.0542790   0.774 0.439188    
## factor(interval)(31,35]:t52      -0.3813926  0.0762990  -4.999 5.77e-07 ***
## factor(interval)(35,39]:t52      -0.2318244  0.0977678  -2.371 0.017732 *  
## factor(interval)(39,43]:t52      -0.5418584  0.1262885  -4.291 1.78e-05 ***
## factor(interval)(43,47]:t52      -0.4471663  0.1371198  -3.261 0.001110 ** 
## factor(interval)(47,51]:t52      -0.3363704  0.1502139  -2.239 0.025138 *  
## factor(interval)(51,55]:t52       0.6572016  0.1340818   4.901 9.51e-07 ***
## factor(interval)(55,59]:t52       0.1925022  0.1647814   1.168 0.242715    
## factor(interval)(59,104]:t52      0.2270760  0.0610880   3.717 0.000201 ***
## factor(interval)(0,3]:all         0.2194342  0.0479942   4.572 4.83e-06 ***
## factor(interval)(3,7]:all         0.0932985  0.0357151   2.612 0.008994 ** 
## factor(interval)(7,11]:all       -0.0126576  0.0339044  -0.373 0.708901    
## factor(interval)(11,15]:all      -0.0570763  0.0371135  -1.538 0.124076    
## factor(interval)(15,19]:all      -0.0480434  0.0429490  -1.119 0.263304    
## factor(interval)(19,23]:all      -0.2733158  0.0457854  -5.969 2.38e-09 ***
## factor(interval)(23,27]:all      -0.2162738  0.0616453  -3.508 0.000451 ***
## factor(interval)(27,31]:all      -0.0966939  0.0625732  -1.545 0.122275    
## factor(interval)(31,35]:all       0.0507662  0.0828754   0.613 0.540167    
## factor(interval)(35,39]:all       0.0012373  0.1150257   0.011 0.991418    
## factor(interval)(39,43]:all       0.1888928  0.1509600   1.251 0.210833    
## factor(interval)(43,47]:all       0.0796097  0.1670957   0.476 0.633767    
## factor(interval)(47,51]:all       0.3576357  0.2038787   1.754 0.079403 .  
## factor(interval)(51,55]:all       0.1123960  0.2009290   0.559 0.575901    
## factor(interval)(55,59]:all       0.1390283  0.2335255   0.595 0.551613    
## factor(interval)(59,104]:all      0.0079131  0.0933045   0.085 0.932413    
## factor(interval)(0,3]:After89     0.0093629  0.0271428   0.345 0.730132    
## factor(interval)(3,7]:After89     0.0058006  0.0198050   0.293 0.769610    
## factor(interval)(7,11]:After89    0.1039307  0.0186721   5.566 2.60e-08 ***
## factor(interval)(11,15]:After89   0.0866153  0.0207399   4.176 2.96e-05 ***
## factor(interval)(15,19]:After89  -0.1418669  0.0260853  -5.439 5.37e-08 ***
## factor(interval)(19,23]:After89  -0.1223112  0.0298101  -4.103 4.08e-05 ***
## factor(interval)(23,27]:After89  -0.0511104  0.0400351  -1.277 0.201730    
## factor(interval)(27,31]:After89  -0.1954039  0.0449070  -4.351 1.35e-05 ***
## factor(interval)(31,35]:After89  -0.2526495  0.0565633  -4.467 7.94e-06 ***
## factor(interval)(35,39]:After89  -0.1136446  0.0742874  -1.530 0.126067    
## factor(interval)(39,43]:After89  -0.1628497  0.0882413  -1.846 0.064964 .  
## factor(interval)(43,47]:After89  -0.2861828  0.1038436  -2.756 0.005853 ** 
## factor(interval)(47,51]:After89  -0.3775467  0.1208593  -3.124 0.001785 ** 
## factor(interval)(51,55]:After89  -0.2035022  0.1313463  -1.549 0.121296    
## factor(interval)(55,59]:After89  -0.2089107  0.1452101  -1.439 0.150242    
## factor(interval)(59,104]:After89 -0.0859964  0.0544105  -1.581 0.113990    
## factor(interval)(0,3]:tr_a0      -0.0191825  0.0484921  -0.396 0.692414    
## factor(interval)(3,7]:tr_a0      -0.0404933  0.0351151  -1.153 0.248846    
## factor(interval)(7,11]:tr_a0     -0.0678917  0.0318033  -2.135 0.032783 *  
## factor(interval)(11,15]:tr_a0    -0.0694014  0.0357893  -1.939 0.052481 .  
## factor(interval)(15,19]:tr_a0    -0.0066064  0.0439291  -0.150 0.880459    
## factor(interval)(19,23]:tr_a0    -0.0546731  0.0413020  -1.324 0.185589    
## factor(interval)(23,27]:tr_a0     0.0609667  0.0572314   1.065 0.286755    
## factor(interval)(27,31]:tr_a0    -0.0457687  0.0669161  -0.684 0.493993    
## factor(interval)(31,35]:tr_a0    -0.1218520  0.0875514  -1.392 0.163990    
## factor(interval)(35,39]:tr_a0    -0.1233646  0.1178317  -1.047 0.295120    
## factor(interval)(39,43]:tr_a0     0.1760149  0.1499365   1.174 0.240423    
## factor(interval)(43,47]:tr_a0     0.0743774  0.1680073   0.443 0.657980    
## factor(interval)(47,51]:tr_a0     0.3323579  0.2085811   1.593 0.111065    
## factor(interval)(51,55]:tr_a0    -0.0520923  0.2151553  -0.242 0.808691    
## factor(interval)(55,59]:tr_a0    -0.0810452  0.2353337  -0.344 0.730557    
## factor(interval)(59,104]:tr_a0    0.1347868  0.0883521   1.526 0.127118    
## factor(interval)(0,3]:t39_a0      0.0106129  0.0355368   0.299 0.765212    
## factor(interval)(3,7]:t39_a0      0.0034808  0.0243920   0.143 0.886525    
## factor(interval)(7,11]:t39_a0    -0.0051813  0.0225304  -0.230 0.818117    
## factor(interval)(11,15]:t39_a0    0.0185476  0.0254347   0.729 0.465865    
## factor(interval)(15,19]:t39_a0   -0.0245268  0.0336429  -0.729 0.465980    
## factor(interval)(19,23]:t39_a0   -0.0710335  0.0428720  -1.657 0.097545 .  
## factor(interval)(23,27]:t39_a0   -0.1375433  0.0562301  -2.446 0.014442 *  
## factor(interval)(27,31]:t39_a0   -0.5583454  0.0620790  -8.994  < 2e-16 ***
## factor(interval)(31,35]:t39_a0   -0.4324623  0.0771595  -5.605 2.09e-08 ***
## factor(interval)(35,39]:t39_a0    0.0622042  0.0931244   0.668 0.504153    
## factor(interval)(39,43]:t39_a0    0.2951279  0.1093658   2.699 0.006964 ** 
## factor(interval)(43,47]:t39_a0    0.3762089  0.1298169   2.898 0.003756 ** 
## factor(interval)(47,51]:t39_a0    0.2667643  0.1524762   1.750 0.080197 .  
## factor(interval)(51,55]:t39_a0    0.1343231  0.1660914   0.809 0.418671    
## factor(interval)(55,59]:t39_a0    0.2551534  0.1891567   1.349 0.177369    
## factor(interval)(59,104]:t39_a0   0.0472736  0.0706883   0.669 0.503648    
## factor(interval)(0,3]:t52_a0      0.0747218  0.0511519   1.461 0.144075    
## factor(interval)(3,7]:t52_a0      0.0115471  0.0344610   0.335 0.737566    
## factor(interval)(7,11]:t52_a0    -0.0029361  0.0313414  -0.094 0.925362    
## factor(interval)(11,15]:t52_a0   -0.0933112  0.0338391  -2.757 0.005825 ** 
## factor(interval)(15,19]:t52_a0   -0.2298169  0.0445441  -5.159 2.48e-07 ***
## factor(interval)(19,23]:t52_a0   -0.3752053  0.0583678  -6.428 1.29e-10 ***
## factor(interval)(23,27]:t52_a0   -0.4931262  0.0775568  -6.358 2.04e-10 ***
## factor(interval)(27,31]:t52_a0   -0.7623640  0.0846579  -9.005  < 2e-16 ***
## factor(interval)(31,35]:t52_a0   -0.3744462  0.1088950  -3.439 0.000585 ***
## factor(interval)(35,39]:t52_a0   -0.4644905  0.1334317  -3.481 0.000499 ***
## factor(interval)(39,43]:t52_a0    0.0217312  0.1603149   0.136 0.892175    
## factor(interval)(43,47]:t52_a0    0.1765471  0.1743266   1.013 0.311186    
## factor(interval)(47,51]:t52_a0    0.5546411  0.1866170   2.972 0.002958 ** 
## factor(interval)(51,55]:t52_a0    0.9410644  0.1627538   5.782 7.38e-09 ***
## factor(interval)(55,59]:t52_a0    0.7128597  0.2005523   3.554 0.000379 ***
## factor(interval)(59,104]:t52_a0   0.0893226  0.0751037   1.189 0.234312    
## factor(interval)(0,3]:t39tra0    -0.1139227  0.0754798  -1.509 0.131219    
## factor(interval)(3,7]:t39tra0    -0.0390581  0.0562313  -0.695 0.487307    
## factor(interval)(7,11]:t39tra0    0.0042089  0.0521703   0.081 0.935700    
## factor(interval)(11,15]:t39tra0  -0.0029141  0.0579724  -0.050 0.959910    
## factor(interval)(15,19]:t39tra0   0.1069562  0.0694090   1.541 0.123328    
## factor(interval)(19,23]:t39tra0   0.0734170  0.0744224   0.986 0.323893    
## factor(interval)(23,27]:t39tra0   0.0971095  0.0942290   1.031 0.302743    
## factor(interval)(27,31]:t39tra0   0.0409700  0.1073803   0.382 0.702802    
## factor(interval)(31,35]:t39tra0  -0.0605738  0.1349605  -0.449 0.653557    
## factor(interval)(35,39]:t39tra0   0.0693399  0.1591852   0.436 0.663132    
## factor(interval)(39,43]:t39tra0   0.1945574  0.1952367   0.997 0.318997    
## factor(interval)(43,47]:t39tra0  -0.1145302  0.2295880  -0.499 0.617884    
## factor(interval)(47,51]:t39tra0  -0.2364121  0.2792599  -0.847 0.397237    
## factor(interval)(51,55]:t39tra0   0.2046022  0.2838237   0.721 0.470985    
## factor(interval)(55,59]:t39tra0   0.0305490  0.3291767   0.093 0.926059    
## factor(interval)(59,104]:t39tra0 -0.0522091  0.1291336  -0.404 0.685990    
## factor(interval)(0,3]:t52tra0    -0.2918342  0.1074463  -2.716 0.006606 ** 
## factor(interval)(3,7]:t52tra0    -0.1973756  0.0786038  -2.511 0.012038 *  
## factor(interval)(7,11]:t52tra0   -0.1555191  0.0708002  -2.197 0.028050 *  
## factor(interval)(11,15]:t52tra0  -0.1162405  0.0756361  -1.537 0.124333    
## factor(interval)(15,19]:t52tra0  -0.0994104  0.0921668  -1.079 0.280769    
## factor(interval)(19,23]:t52tra0  -0.0601932  0.0996039  -0.604 0.545627    
## factor(interval)(23,27]:t52tra0   0.1850604  0.1184716   1.562 0.118273    
## factor(interval)(27,31]:t52tra0  -0.0934949  0.1435860  -0.651 0.514954    
## factor(interval)(31,35]:t52tra0  -0.4692936  0.1894431  -2.477 0.013241 *  
## factor(interval)(35,39]:t52tra0  -0.0214218  0.2102352  -0.102 0.918840    
## factor(interval)(39,43]:t52tra0  -0.2096237  0.2451070  -0.855 0.392422    
## factor(interval)(43,47]:t52tra0  -0.2185720  0.2665498  -0.820 0.412214    
## factor(interval)(47,51]:t52tra0  -0.6173299  0.2978153  -2.073 0.038185 *  
## factor(interval)(51,55]:t52tra0   0.2217708  0.2585241   0.858 0.390984    
## factor(interval)(55,59]:t52tra0   0.1515380  0.3112882   0.487 0.626393    
## factor(interval)(59,104]:t52tra0  0.0284194  0.1279810   0.222 0.824268    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 1016945  on 1057905  degrees of freedom
## Residual deviance:  939448  on 1057705  degrees of freedom
## AIC: 1372536
## 
## Number of Fisher Scoring iterations: 6

This simplified PWE model confirms that control variables exhibit the expected signs. Age significantly reduces the unemployment exit hazard, while blue-collar status (bc), prior wages (lwage), and seasonal employment increase it. These results are consistent with Table A1 in Lalive et al. (2006). However, this specification remains incomplete, as it does not capture interval-specific treatment effects, which are central to the study’s causal identification strategy.

  1. Estimation of the PWE model baseline hazard:
stargazer(pwe,
          dep.var.caption = "", dep.var.labels = "",
          keep = 1:15,
          omit.table.layout = "n", star.cutoffs = NA,
          keep.stat = c("n", "ll"), no.space = TRUE,
          header = FALSE,
          title = "The PWE model", type = "text")
## 
## The PWE model
## =============================
##                              
## -----------------------------
## interval(3,7]       0.597    
##                    (0.009)   
## interval(7,11]      1.080    
##                    (0.009)   
## interval(11,15]     1.312    
##                    (0.009)   
## interval(15,19]     1.255    
##                    (0.010)   
## interval(19,23]     1.356    
##                    (0.011)   
## interval(23,27]     1.118    
##                    (0.013)   
## interval(27,31]     1.197    
##                    (0.014)   
## interval(31,35]     0.972    
##                    (0.017)   
## interval(35,39]     0.823    
##                    (0.019)   
## interval(39,43]     0.720    
##                    (0.022)   
## interval(43,47]     0.535    
##                    (0.025)   
## interval(47,51]     0.364    
##                    (0.029)   
## interval(51,55]     0.846    
##                    (0.025)   
## interval(55,59]     0.406    
##                    (0.032)   
## interval(59,104]    0.373    
##                    (0.015)   
## -----------------------------
## Observations      1,057,906  
## Log Likelihood   -689,790.000
## =============================

The full PWE model incorporates interactions between each duration interval and the treatment variables, following the specification in Lalive et al. (2006). The interactions factor(interval):tr_a0, factor(interval):t39_a0, and factor(interval):t52_a0 estimate the effect of each treatment on the exit hazard for every 4-week interval. Coefficients for the control variables remain stable compared to the simplified model. The decomposition of direct and behavioral costs (Table 8 in the paper) would require numerical integration of counterfactual survival functions, which we do not reproduce here due to the absence of precise financial data on the Austrian system.

In line with the replication’s scope, the detailed decomposition of costs (direct vs. behavioral) presented in Table 8 of Lalive et al. (2006) is omitted. Performing this step would require individual-level compensation data and numerical integration of counterfactual survival functions, exceeding the scope of this empirical replication focused on unemployment durations.