step,rule,n_before,n_after,n_removed,rationale 0_read,rows read from firm_panel.csv,2140,2140,0,starting point 1_drop_rating_2025,exclude column rating_2025 (known 2025),2140,2140,0,final-vintage field built from realised defaults through 2022 and sample-average leverage; not known at end of year t (look-ahead leakage) 2_drop_exact_duplicates,remove exact duplicate firm-year rows,2140,2100,40,assembly error: identical rows repeated; one copy kept 3_drop_unobserved_outcome,remove firm-years with default_next empty,2100,1800,300,outcome year not observed by data cut (origin years [2022]); outcomes not imputed 4_drop_missing_predictors,remove rows with missing leverage/cash_ratio/log_sales,1800,1800,0,complete-case requirement for OLS (none found)