9.4 Percentages: the return to schooling

Why is almost every wage regression in economics run in logs?

Because wages are discussed in percentages. Nobody asks how many rupees a year of schooling is worth without immediately wanting to know rupees compared to what.

wages <- read.csv("data/wages-india-synthetic.csv")

wages$male  <- as.integer(wages$sex == "Male")
wages$urban <- as.integer(wages$residence == "Urban")

log_simple <- lm(log(annual_earnings) ~ education, data = wages)
log_full   <- lm(log(annual_earnings) ~ education + age + male + urban,
                 data = wages)

round(coef(summary(log_full))[, 1:2], 5)
#>             Estimate Std. Error
#> (Intercept)  8.46020    0.02950
#> education    0.07617    0.00152
#> age          0.01173    0.00065
#> male         0.77016    0.01629
#> urban        0.80452    0.01713
round(c(education_alone         = coef(log_simple)["education"],
        education_with_controls = coef(log_full)["education"]), 5)
#>         education_alone.education education_with_controls.education 
#>                           0.09416                           0.07617

The simple regression gives 0.0942: one more year of schooling is associated with about 9.4% higher annual earnings. Multiply by 100 and read as a percentage; that is the whole rule.

With the controls of Unit 8 in place it falls to 0.0762, or about 7.6%. The same lesson as Section 8.1, now in percentage terms: part of the apparent return to education was the fact that the educated in this population are disproportionately urban and male.

Notice what the log form did to the other coefficients as well.

The coefficient on urban is 0.80, so urban workers earn roughly 80% more than otherwise comparable rural workers — or, exactly, \(124\)% more, since 0.80 is well above the range where the approximation is safe.

In levels that same gap was ₹51,287, a number that means nothing until you also know what rural workers earn.