m_ols <- feols(dpd30 ~ raised, data = d, cluster = ~SK_ID_PREV)1 The naive regression
One line of code, and an answer with the wrong sign
Term Estimate (pp) SE (pp) t Observations
<char> <char> <char> <char> <char>
1: raised -1.585 0.047 -34.0 3,423,521
Read literally: running on a raised credit limit lowers the chance of being 30+ days past due by 1.585 percentage points, at t = -34.
That is a t-statistic nobody argues with. It is also an answer that cannot be right. If handing customers more credit made them repay better, a lender could lend its way out of losses.
Precision and correctness are different properties. t = -34 says the 1.585 pp gap between the two groups is measured tightly. It is. The gap is real. It just is not an effect of anything we did.
Where that number comes from is the next chapter.
Everything above runs from 01-naive.qmd. Shared setup R/_common.R. The panel itself is built by R/01-build.R.