Next-employer prediction¶
This analysis asks whether the destination-rank scorer places the worker's observed next employer near the top of a sampled candidate set and whether MQ rises at the move.
flowchart LR
ranks[(Training and full-training<br/>destination ranks)]
summarize[[Compute ranking metrics<br/>and clustered MQ gain]]
metrics[(destination_prediction_metrics.csv)]
latex[/destination_prediction.tex/]
ranks --> summarize --> metrics --> latex
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 ranks input
class summarize code
class metrics support
class latex tableOutput
The table compares training out-of-sample, training in-sample, and full-training in-sample destination events. Its main ranking comparison uses the 5,000-candidate prefix at cutoff 10 and reports analytical random baselines alongside model Recall, MRR, and NDCG. The CSV retains all stored candidate prefixes and cutoffs.
The MQ-change row is destination MQ minus incumbent MQ. Its standard error comes from an intercept-only regression clustered by worker.
Input: Destination ranks
Module: analyses/modules/destination_prediction.R
Build both destination-rank modes in the model pipeline before running the R summary:
slurm/submit.sh --task score-destination-ranks \
--mode training --config config_full.yaml
slurm/submit.sh --task score-destination-ranks \
--mode full_training --config config_full.yaml
slurm/submit.sh --task destination-prediction \
--config config_full.yaml
For local analysis after scoring: