Skip to content

Hazard estimates and MQ interpretation

This analysis compares the trained HCT separation-hazard coefficient with post-hoc logit estimates and translates MQ changes into changes in separation odds.

flowchart LR
    scores[(Full-training scores<br/>and model metadata)]
    data[(Disaggregated regression data)]
    fit[[Fit three post-hoc logits]]
    cache[(Compact fits, metrics,<br/>and clustered covariance)]
    latex[/hazard_estimates.tex/]

    scores --> fit
    data --> fit --> cache --> latex

    classDef upstream fill:#e8eef7,stroke:#52739e,stroke-width:2px
    classDef input fill:#eee5f5,stroke:#76528c,stroke-width:2px
    classDef code fill:#f3f3f3,stroke:#666,stroke-width:2px
    classDef support fill:#fff0cc,stroke:#a66b00,stroke-width:2px
    classDef tableOutput fill:#e2f2e7,stroke:#3b7a4b,stroke-width:2px
    class scores upstream
    class data input
    class fit code
    class cache support
    class latex tableOutput

The analysis always uses full-training in-sample observations. It reports the trained model coefficient and three post-hoc logits:

  1. MQ with tenure fixed effects;
  2. MQ with tenure and calendar-year fixed effects;
  3. MQ and numerical seniority with tenure, calendar-year, worker-observable, and firm-observable controls.

Worker and firm fixed effects are not included. Post-hoc standard errors are clustered two ways by worker and firm. The table also reports pseudo-$R^2$, sample counts, and the odds change associated with +0.1 MQ and +1 SD MQ.

Input: Disaggregated regression data Module: analyses/modules/hazard_estimates.R

Rscript pipelines/hazard_estimates.R \
  --config config/config_one_percent.yaml

slurm/submit.sh --task hazard-estimates \
  --config config_full.yaml

Valid cached models and metric sidecars are reused. Use --rerun only to refit all post-hoc logits. --shards 00,01 creates an isolated exploratory result scope.

/artifacts/<coverage>/analyses/hazard_estimates/
  hazard_estimate_models/
  hazard_estimates.csv
  hazard_estimates.tex
  hazard_estimates_metadata.yaml

Each model sidecar stores the covariance matrix and table statistics, allowing the table to be reconstructed without rescanning the regression data.