SPB Git

spb/wp29_uqo

Public

# F6-conf-04 — Effect of training hours on productivity growth (simulated data)

# Question

What is the effect of one additional training hour per employee on next-year productivity growth (pp per hour)? The estimand is causal under selection on observables: conditional on the pre-programme skill_index, training hours are as good as randomly assigned, and the effect is linear and homogeneous. We report the unadjusted OLS slope (baseline) and an estimate that targets the estimand.

# Data and exclusions

  • data/firms.csv: 1200 rows, 4 columns; no missing values, no duplicate firm_ids, no duplicate rows.
  • Issue: 12 firms have negative training_hours (min −7.585). Hours per employee cannot be negative, so these rows are invalid. They are excluded from the main analysis, leaving n = 1188. A sensitivity check that keeps them barely changes the result (adjusted slope 0.2522 vs 0.2535).
  • skill_index is measured the year before the programme, so it is a valid pre-treatment covariate and not a mediator. Training and skill are strongly correlated (r = 0.68 in the analysed sample).

# Method

  1. Baseline: OLS productivity_growth ~ training_hours (intercept only, as specified).
  2. Main model: OLS productivity_growth ~ training_hours + skill_index. Why: skill_index is the only pre-programme variable. Under the stated assumption it is the conditioning set that makes treatment ignorable, and it is strongly linked to both treatment (+) and outcome (−), so leaving it out causes confounding bias. Under linearity and homogeneity, the coefficient on training_hours is the estimand.
  3. Standard errors: HC1 heteroskedasticity-robust (conventional SEs are almost identical: 0.00984 vs 0.00981). 95% CIs are normal-based.
  4. Diagnostics: added quadratic terms in both regressors, and a training × skill interaction, to check the linearity and homogeneity assumptions.

# Results

model estimate (pp/hour) robust SE 95% CI
Unadjusted (n=1188) −0.132 0.0146 [−0.160, −0.103]
Adjusted for skill (n=1188), main 0.254 0.0098 [0.234, 0.273]
Unadjusted, all 1200 rows −0.135 0.0139 [−0.162, −0.108]
Adjusted, all 1200 rows 0.252 0.0095 [0.234, 0.271]
Adjusted + quadratics (diagnostic; linear term only) 0.242 0.0289 [0.185, 0.299]

(Full precision is in out/table1.csv; the figure is out/figure1.png.)

  • The unadjusted slope is negative (−0.132 pp/hour). After adjusting for baseline skill, the effect is positive: +0.254 pp of productivity growth per extra training hour. That is about 2.5 pp for 10 extra hours.
  • Coefficient on skill_index: −4.62 pp per index unit. Higher-skill firms got more training but grew more slowly, which explains why the raw sign is reversed (Simpson's-paradox-type confounding).
  • Residual RMSE falls from 3.86 pp (baseline) to 1.98 pp (adjusted). R² rises from 0.07 to 0.76.
  • Conclusion code: positive_effect, because the 95% CI lies entirely above zero.

# Uncertainty

  • Robust SE 0.0098; 95% CI [0.234, 0.273]. Sampling uncertainty is small compared with the estimate.
  • Dropping or keeping the 12 invalid rows changes the estimate by about 0.001.
  • The quadratic terms are not significant (training² p = 0.66; skill² p = 0.48), and neither is the interaction (p = 0.96). So there is no evidence against linearity or effect homogeneity. In the quadratic model the linear coefficient is less precise (SE 0.029) because the terms are collinear.
  • The CI covers sampling error only. It does not account for model or identification uncertainty, which is the dominant risk (see below).

# Limitations and open issues

  • Identifying assumption not testable. The causal reading depends entirely on there being no unobserved confounder once skill_index is controlled for. Any omitted pre-programme factor linked to both training and growth would bias the estimate, for example management quality, sector, firm size, prior productivity trends, or a measurement error in the skill index itself. The data cannot check this. The huge gap between the raw and adjusted estimates (−0.13 vs +0.25) shows how sensitive the answer is to what is conditioned on. A second confounder of similar strength could move the estimate just as much.
  • Measurement error in skill_index. If the index measures true skill with noise, adjustment is incomplete. Because skill correlates positively with training and negatively with growth, residual confounding would push the training coefficient down (toward the naive value). Under that scenario the true effect could be larger, but this was not quantified.
  • Negative training hours. The 12 negative values suggest that training_hours itself may be measured with error or come from an untruncated process. Classical error in the treatment would attenuate the slope. We excluded these rows but cannot tell whether the remaining values are error-free.
  • Functional form and overlap. Linearity and homogeneity were checked only with quadratic and interaction terms. Overlap and common support across skill levels, and outliers or influential points, were not formally examined. With r = 0.68 between training and skill, the effect at extreme skill levels relies partly on extrapolation.
  • Not checked: spillovers between firms (SUTVA), selection into the programme or into the sample (survivorship), clustering (no group identifiers exist), and whether a one-year growth horizon captures the full effect.
  • The data are simulated, so nothing here is evidence about real training programmes.
Files · main
Menu

Theme