Suppose that there are two types of workers: type H and type L. Type H workers are more productive than type L workers and type H workers find it less costly to obtain a given level of education e. Specifically, the marginal products of labor for each type of worker is: $$m_H(e) = m_H e$$ $$m_L(e) = m_L e,$$ where \(m_L < m_H\) are constants. And the costs to each type of obtaining a given level of education \(e\) is: $$c_H(e) = c_H e^2$$ $$c_L(e) = c_L e^2,$$ where \(c_L > c_H\). A worker's type is only observable by the worker but the amount of education a worker obtains is observed by a potential employer. So while a worker's wage cannot depend directly on that worker's type, the wage can be a function of that worker's chosen level of education. We consider two classes of equilibria: Pooling and separating.
A pooling equilibrium in ths model is a threshold value of education \(\bar{e}\) such that:
A separating equilibrium in ths model is a threshold value of education \(\bar{e}\) such that:
For the animated figures above, I used the following parameter values: \(m_L = 4\), \(m_H = 8\), \(c_L = 0.5\), \(c_H = 0.25\), and \(p = 0.25\). For the pooling equilibrium animation, I computed equilibria for \(e \in[0,19]\). And for the separating equilibrium animation, I computed equilibria for \(e \in[0,34]\). The Python code that I used to create these animations is available in this Github repository.