Labor Economics & Econometrics
Roy-Borjas Migration Self-Selection Skill Sorting Formula
Classify Positive Selection, Negative Selection, and Refugee Sorting using Borjas’s (1987) Roy-model conditional log-wage selection terms Q_0 and Q_1.
Why relative return-to-skill dispersion sigma_1 / sigma_0 — not mean wage! — drives skill selection
Applying Andrew Roy’s (1951) comparative-advantage model to international and occupational mobility, George Borjas (1987) proved that whether high-skill or low-skill workers migrate depends NOT on mean wages mu_1 vs mu_0, but on return-to-skill dispersion sigma_1 vs sigma_0 and skill transferability correlation rho! With net skill differential SD sigma_v = SQRT(sigma_0^2 + sigma_1^2 - 2*rho*sigma_0*sigma_1), standardized hurdle z = -(mu_1 - mu_0 - pi_mig) / sigma_v, and inverse Mills ratio lambda(z) = phi(z) / (1 - Phi(z)), conditional migrant skill differentials are Q_0 = ((rho*sigma_0*sigma_1 - sigma_0^2) / sigma_v) * lambda(z) in origin and Q_1 = ((sigma_1^2 - rho*sigma_0*sigma_1) / sigma_v) * lambda(z) in destination!
Verify at benchmark z = 0 (mu_0 = 2.50 in B5, mu_1 = 3.00 in B6, migration cost pi_mig = 0.50 in B7 -> lambda(0) = SQRT(2 / PI()) = 0.7979) with origin SD sigma_0 = 0.30 (B2), destination SD sigma_1 = 0.60 (B3), and skill correlation rho = 0.80 (B4): sigma_v = SQRT(0.162) = 0.4025, Q_0 = +0.1070 > 0, and Q_1 = +0.4282 > 0 (Positive Selection — high-skill workers migrate toward higher skill dispersion!). Flip dispersions (sigma_0 = 0.60, sigma_1 = 0.30) and BOTH turn negative (Negative Selection!); lower transferability to rho = 0.20 and Q_0 < 0 while Q_1 > 0 (Refugee / Comparative-Advantage Sorting!).
| Borjas Selection Regime (z = 0) | Variance & Correlation Condition | Sign of (Q_0, Q_1) |
|---|---|---|
| Positive Selection (0.30, 0.60, rho=0.80) | sigma_1 / sigma_0 > 1/rho & rho > sigma_0/sigma_1 | Q_0 = +0.1070, Q_1 = +0.4282 |
| Negative Selection (0.60, 0.30, rho=0.80) | sigma_0 / sigma_1 > 1/rho & rho > sigma_1/sigma_0 | Q_0 = -0.4282, Q_1 = -0.1070 |
| Refugee Sorting (0.30, 0.60, rho=0.20) | rho < MIN(sigma_0/sigma_1, sigma_1/sigma_0) | Q_0 < 0 and Q_1 > 0 |
Borjas Destination Skill Selection Differential Q_1 Formula
Evaluatesigma_v, standardized hurdle z, Abramowitz-Stegun 7.1.26 normal tail 1 - Phi(z), and inverse Mills ratio phi(z) / (1 - Phi(z)).
=LET(s_0, B2, s_1, B3, rho_s, B4, mu_0, B5, mu_1, B6, c_mg, B7, IF(OR(s_0 <= 0, s_1 <= 0, rho_s <= -1, rho_s >= 1), "Invalid Roy-Borjas Input", LET(v_df, (s_0^2) + (s_1^2) - 2 * rho_s * s_0 * s_1, IF(v_df <= 0, "Invalid Roy-Borjas Input", LET(sd_v, SQRT(v_df), z_cut, -(mu_1 - mu_0 - c_mg) / sd_v, az_r, ABS(z_cut) / SQRT(2), t_er, 1 / (1 + 0.3275911 * az_r), erf_m, 1 - (((((1.061405429 * t_er - 1.453152027) * t_er + 1.421413741) * t_er - 0.284496736) * t_er + 0.254829592) * t_er) * EXP(-(az_r^2)), tail_p, 0.5 * (1 - IF(z_cut >= 0, erf_m, -erf_m)), pdf_z, EXP(-0.5 * (z_cut^2)) / SQRT(2 * PI()), imr_l, pdf_z / tail_p, ROUND(((s_1^2 - rho_s * s_0 * s_1) / sd_v) * imr_l, 4))))))Exact Roy-Borjas Sorting Regime Classification Formula
Because lambda(z) / sigma_v > 0 for all finite z, the sorting regime depends strictly on the signs of (rho*sigma_0*sigma_1 - sigma_0^2) and (sigma_1^2 - rho*sigma_0*sigma_1)!
=LET(s_0, B2, s_1, B3, rho_s, B4, IF(OR(s_0 <= 0, s_1 <= 0, rho_s <= -1, rho_s >= 1), "Invalid Roy-Borjas Input", LET(sg_0, rho_s * s_0 * s_1 - (s_0^2), sg_1, (s_1^2) - rho_s * s_0 * s_1, IF(AND(sg_0 > 0, sg_1 > 0), "Positive Selection", IF(AND(sg_0 < 0, sg_1 < 0), "Negative Selection", "Refugee Sorting")))))Try the example
Use the original values or change them to test your understanding.