McCall Search Model
May 01, 2020
I have been keen to read a bit more about quantitative economics, ever since I encountered the Introductory Quantitative Economics with Python lectures online. Some of the topics are interesting for individuals as well.
So today, I pick a topic of interest, the McCall Search Model. I am more interested in the Cake Eating problem to be honest, but the McCall Search Model is listed as a prerequisit which is also an interesting problem by itself.
I will quickly give problem definition first. (As this is my journey, the whole problem will be dumbed down a little, and we shall lose some mathematical rigor.)
We assume in each time period a “Loyal Immortal Job Seeker” can get a job offer of value , which we assume to be an Independent and Identically distributed discrete random variable (IID) from a finite set where if with probability . If the job seeker accepts the offer he will never quit his job. The job seeker will receive unemployment benifit of value . Of course, with inflation, money worth less in the future, and we assume a discount factor of () per time period.
So for example if Mr Job Seeker decide to accept the job offer at time then the total value will be
Intuitively, if the Job Seeker is operating in an optimal policy, then
- if he reject a salary now, then he will reject the salary of the same value if it is encountered again later.
- if he accepts an salary of , it implies that he also accept any salaries greater than .
Also, as previously defined, the wages are drawn from a finite set, with the maxinum value of . So unless (or maximum salary is less than the unemployment benifit), the Job Seeker will accept the this maximum salary if presented. So the total value (relative to this point in time):
Now lets assume our policy is to only accept salaries or above and reject the rest. We can calculate the total policy value of each threshold by:
This is how it can be visualized:
After rearranging, we have
and we can then compare all vallues and find the best total policy value. (There could be a more effective optimization algorithm out there. Having said that, even with a brutal force search it is fairly fast.)
In the lecture it is solved somewhat differently, using a technique called dynamic programming. My view is that the algorithms of “dynamic programming” for mathematics feel very different than that for computer science, even though they both come from the same philosphy.