Looking at the code, BIC is defined as n * np.log(sq_error / n) + k * np.log(n). I have traditionally seen it defined as -2 * loglik + k * log(n) logLik is only used in your definition of aic and so I am confused as to what the source is for the formulation of BIC you are using.