# F1-conf-03 — Leverage at end of year t and default in year t+1 ## Question The question is how leverage at the end of year t relates to default in year t+1, using only information available at the end of year t. The estimand is b1 in the linear-probability model default_next = a + b1·leverage + b2·cash_ratio + b3·log_sales + e. It is estimated by OLS with standard errors clustered by firm. Data are simulated (synthetic panel). ## Data and exclusions - Input: `data/firm_panel.csv`, 2140 data rows (`n_input_rows`). A balanced panel would have 300 firms × 7 years (2016–2022) = 2100 rows. - Column excluded: `rating_2025` (`variables_excluded`). The codebook says it is a 2025 final-vintage rating. It was built from each firm's realised default history through 2022 and its average leverage over the sample, so it was not known at the end of year t and would leak the outcome. It is not used and does not appear in `out/analytic.csv`. - Row exclusions (`out/exclusions.csv`, see also `data_issues`): 1. Dropped the column `rating_2025`: 2140 → 2140. 2. Removed 40 exact duplicate rows (an assembly error: the same firm-year appeared twice with identical values): 2140 → 2100. No conflicting duplicates remained. 3. Removed 300 firm-years with no observed `default_next`. All are from 2022, whose outcome year (2023) falls after the data cut. Outcomes were not imputed: 2100 → 1800. 4. Removed rows missing any predictor: none, 1800 → 1800. - Estimation sample: `n_analysed` = 1800 firm-years from `n_firms` = 300 firms, covering origin years 2016–2021 (`supp_year_range`). ## Method Baseline: the unconditional default rate in the estimation sample (`default_rate`). Main model: OLS of `default_next` on an intercept, `leverage`, `cash_ratio` and `log_sales` (`predictors_used`), with the covariance clustered by `firm_id` (statsmodels, cluster-robust with small-sample correction). The method uses no randomness (`random_seed` = null). `out/analysis.py` regenerates every output from `data/`. ## Results - Baseline default rate: 0.1211 (`default_rate`). - `beta_leverage` = 0.2638. Holding cash ratio and log sales fixed, a 0.10 higher leverage ratio goes with about 2.6 percentage points higher probability of default the next year. That is large next to the 12.1% baseline. - Clustered SE = 0.0408 (`se_leverage_cluster`). R² = 0.0349 (`r2`). - Other coefficients, for reference: cash_ratio `supp_beta_cash_ratio`, log_sales `supp_beta_log_sales`, intercept `supp_intercept`. ## Uncertainty The firm-clustered 95% confidence interval for the leverage coefficient is [0.184, 0.344] (`supp_ci95_leverage_cluster`). It excludes zero. The heteroskedasticity-robust (HC1) SE without clustering is reported as `supp_se_leverage_hc1` for comparison. Clustering uses 300 firms, enough for the cluster-robust asymptotics to be reasonable. ## Limitations and open issues - This is an association, not a causal effect. With a linear-probability model, fitted values can fall outside [0,1], and the coefficient is an average linear approximation. - The data are synthetic, so the findings do not describe real firms. - I assumed duplicates were pure assembly errors because every duplicate is an exact copy. I kept one copy of each. - The low R² means leverage and the two controls explain little of the firm-year variation in default. - None of the task's requirements was left unmet: `feasibility` = "complete".