Repository navigation
Conversation
Places lucas_prescott_search immediately after lucas_prescott_investment, the lecture on the authors' 1971 paper, whose apparatus this one reuses. Lucas and Prescott (1974) ask where the wage offer distribution of the search literature comes from, and answer that it has to be determined together with the labour supply behaviour that responds to it. Workers live in spatially separate markets with independent, persistent demand shocks; a worker either works at the wage that clears his market or leaves, earning nothing for one period, so unemployment is the act of moving. The value of search is a single number that clears an economy-wide market for workers. The lecture derives the functional equation whose max is the worker's option to leave and whose min is the no-rent condition that competition among searchers imposes, shows that the market's behaviour reduces to two thresholds and hence to the transition law y' = clip(y, ȳ(s), n̄(s)), and computes the equilibrium the way the paper's appendix does: discrete demand states, an integer workforce, value function iteration, and the invariant distribution of the resulting Markov chain. It then closes the model by bisecting on the value of search. The marginal revenue schedule reaches zero at a capacity, as in the paper's Figure 5 and as the paper's own boundedness condition requires; with a schedule that never reaches zero, the hump in unemployment is an artifact of where the workforce grid is truncated. Three exercises with dropdown solutions: the paper's two comparative statics in persistence (unemployment is low at both extremes and peaks in between) and in variability; a lump-sum cost of moving, which cuts measured unemployment by four fifths and output by three percent, so that unemployment is not a welfare index; and the two-state example of the appendix, where the invariant distribution puts all its mass on two values of the workforce and average unemployment has a closed form that the solution verifies exactly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
They modify the 1974 island model "to incorporate undirected search and out-of-the-labor-force participation" and use it to evaluate minimum wages, unions, firing taxes and unemployment insurance. A new subsection sets out their four changes and what the model was then used for. A note explains what the first of those changes costs. Directed search is what makes the value of search a price: raise it and markets hold fewer workers, so the market-clearing condition pins it down. Under undirected search the transition conserves the average workforce, so the aggregate is not cleared by a price and the invariant distribution is one of a family; this is why the participation margin is not an embellishment but the thing that restores a price to pin down the level. Exercise 4, which is analytical, asks the reader to verify this. The solution to the search-cost exercise now reports their firing-tax experiment beside it: a tax worth three to twelve months of wages takes the unemployment rate down from 5.3 to 3.7 percent, pushes average duration up from 2.4 to 5.1 periods, and cuts employment to 86 percent of laissez-faire. The lecture's toy result is not an artifact of a stripped down model. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ure among the search lectures The Overview asks where the search literature's wage offer distribution comes from and the lecture never showed the answer. A new subsection does: identical workers, free to leave at any time, are paid half as much again at the ninetieth percentile as at the tenth, and the flow value of search sits just below the mean wage, as it must when moving costs a period of earnings. The flow rates are now a ladder: lake_model takes both as parameters, endogenous_lake makes the finding rate a McCall outcome against a given wage distribution, and here both are equilibrium objects, with the separation rate printed beside the other statistics at 2.75 percent of the employed per period. A warning states what directed search costs: the job finding rate is one, every spell lasts a single period, and the model is silent about duration. That is the first thing Alvarez and Veracierto give up, and duration averages 2.4 periods once searchers arrive uniformly. Also: exercise 1 notes that it varies the same two parameters as mccall_persist_trans, there for wage offers and here for demand; the absence of a reservation wage is made quantitative, with workers staying at 0.456 while others leave markets paying 0.674, and the claim that a market is "about to be crowded" corrected to crowded now; efficiency is attributed to Lucas and Prescott rather than asserted; and μ is given its units. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Two corrections to the previous commit. The wage distribution section claimed that the flow value of search must sit below the mean wage. No such theorem exists, and the model says something more interesting: two fifths of workers are paid less per period than a searcher's position is worth, and stay, because what a worker holds is not his wage but a position in a market, with a claim on its future and the option to leave later. The passage on the absence of a reservation wage said that the workers who leave a market paying 0.674 are declining it. They are not. That is what the market pays everyone it keeps; employment is rationed at the threshold where the marginal worker is indifferent, and the ones who go are those for whom there is no place at that margin. Unemployment here is not a rejected offer but the absence of a job at a wage the market is willing to pay, which is the sharpest contrast with the McCall lectures. New: the three regions of the transition law are now counted. At the equilibrium 5.6 percent of markets are shedding workers, 5.2 percent are receiving them, and 89.2 percent are still, so all of the economy's unemployment comes from the one market in twenty that is contracting. A further 5.2 percent of markets have no workers at all: in the worst demand states both thresholds are zero, which is what the leading zeros in the printed thresholds mean, and those markets stay closed until they draw a state worth entering. Also drops a note that repeated the lake-model ladder, and says why the value of search used before the equilibrium is computed happens to be 7.1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…en the text Lucas and Prescott devote a section to a question the equilibrium itself does not answer: workers are assumed to know the value of search, and nothing has said how they would come to. Their adaptive answer -- believe too high a value, be disappointed, revise down -- is the algorithm this lecture already runs, since bisection on a decreasing schedule does exactly that. A new subsection says so, with their caveat that this kind of stability says nothing about the response to recurring shocks. Corrections of wording, all of them places where a reader checking the lecture against the paper would stumble: * the McCall lectures derive a reservation wage rather than assuming one, so what fails here is a conclusion, not an assumption * the left side of the employment condition is non-increasing rather than decreasing, flat once the marginal product reaches zero, so employment is the largest threshold that satisfies it * the inequality between the two thresholds is weak, since the marginal revenue schedule reaches zero at capacity, and in the worst demand states both thresholds are zero * the SS locus can slope either way, but in this calibration it slopes up throughout, which the figure shows and the text now admits Also removes a cap on the arrival threshold that can never bind, since R ≥ 0 puts the arrival threshold below the employment threshold automatically; and explains why the Bellman equation evaluates the continuation at the unchanged workforce while the transition law moves it, which is the most likely place to suspect a bug and is not one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Baley, Ljungqvist and Sargent (2023, 2025) organise two papers around one quantity, the returns to labour mobility, and argue that it decides what a layoff tax does to unemployment and whether quit turbulence can reverse the turbulence-unemployment relation. The lecture computes everything needed for it and never named it. A new subsection does. Our two-state economy and Alvarez and Veracierto's calibration face nearly the same shock -- demand doubles here, their productivity ratio is 2.12 -- and employment responds by a factor of 3.7 here against 26 there, where a low-productivity establishment employs 3.81 percent as many workers as a high-productivity one and high-productivity establishments hold 96 percent of employment. The gap is the technology: with output x k^ξ n^ψ the shock is amplified by an exponent that explodes as returns to scale approach one, while a schedule falling linearly to a capacity amplifies almost nothing. That is said where R is introduced, too. Exercise 5 puts the decreasing-returns schedule into the two-state economy. The same doubling of demand moves employment by a factor of 3.3, 6.3 and 23.5 as the labour exponent rises through 0.4, 0.6 and 0.75, and unemployment rises with it from 3.6 to 8.0 percent -- not a cost, since unemployment here is the time workers spend moving and higher returns mean more of them move. The solution to exercise 2 now says what the number it computes is for: it is the minimum layoff tax that shuts down voluntary separations, which Baley, Ljungqvist and Sargent make a diagnostic, and which has to be large to be consistent with the reallocation observed in economies whose layoff costs differ enormously. Also places the lecture in their three-class taxonomy of frictional unemployment models, and cites Alvarez and Veracierto (2001), the paper whose calibration the 3.81 percent comes from. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Note
Copilot was unable to complete this review at the selected tier due to model policy or plan restrictions.
🟡 Changes recommended
Approval is blocked because there is a moderate-severity active issue where market_outcomes calculates and reports a “mean wage” in a misleading way by assigning positive wages when employment is zero and averaging across markets rather than employed workers (noted at lines 371 and 404 in lectures/lucas_prescott_search.md).
1 open issue
What changed in this PR
This pull request adds a new Jupyter Book lecture on the Lucas–Prescott (1974) equilibrium search/unemployment framework, wires it into the book navigation, and extends the shared bibliography for the new citations.
Changes:
- Add new lecture content with narrative, math, executable code, figures, and exercises (
lectures/lucas_prescott_search.md). - Register the new lecture in the book table of contents (
lectures/_toc.yml). - Add required BibTeX references used by the lecture (
lectures/_static/quant-econ.bib).
Outstanding review comment (moderate): In lectures/lucas_prescott_search.md (around lines 371 and 404), market_outcomes computes “mean wage” in a way that (a) assigns a positive wage when employment is zero and (b) averages across markets rather than employed workers, making the reported mean wage misleading/inaccurate.
This pull request requires changes.
| File | Summary |
|---|---|
lectures/lucas_prescott_search.md |
New MyST/Jupytext lecture content with computations, plots, and exercises (includes noted “mean wage” computation issue). |
lectures/_toc.yml |
Adds the new lecture to the Jupyter Book ToC ordering. |
lectures/_static/quant-econ.bib |
Adds bibliographic entries referenced by the new lecture. |
Review effort: Balanced
| employment = np.minimum(y[None, :], n_bar[:, None]) | ||
| unemployment = y[None, :] - employment | ||
| wage = np.take_along_axis(model.R, np.maximum(employment, 1), axis=1) | ||
| return dict(v=v, n_bar=n_bar, y_bar=y_bar, ψ=ψ, | ||
| workforce=(ψ*y).sum(), | ||
| employment=(ψ*employment).sum(), | ||
| unemployment=(ψ*unemployment).sum(), | ||
| wage=(ψ*wage).sum()) |
📖 Netlify Preview Ready!Preview URL: https://pr-1110--sunny-cactus-210e3e.netlify.app Commit: 📚 Changed LecturesBuild Info
|
Corrections that change printed numbers or claims: * The mean wage in market_outcomes now weights markets by employment. It averaged over markets, giving empty markets a phantom wage R(s, 1), and printed 0.755 against the 0.780 shown in the wage figure. * The no-reservation-wage passage quoted 0.456, which is that phantom wage in the lowest demand state, where n̄ = 0 and nobody works. The lowest wage paid in a market nobody leaves is 0.583. The argument still holds, since 0.583 < 0.674. * The SS figure no longer plots a point for states with n̄(s) = 0. * Exercise 2 weights the expected value of a worker by the workers in each market rather than by markets. The conclusion survives: the value still rises at every step, from 7.575 to 7.698. The output loss is now "more than twice" the worker's gain, and a cost of 2 is about 2.6 periods' average wage. * The layoff-tax diagnostic sentence no longer says the exercise computes the minimum tax that shuts down separations; a cost of 2 still leaves 0.5 percent unemployment. * Exercise 3 stated R(s, n) = s(1 + n/n0)^(-1/η), left over from an earlier draft; the lecture uses s(1 - n/N)^+. * The left side of the employment condition is flat at βλ < λ beyond capacity, so the condition cannot hold on an interval there. Style: no embedded matplotlib titles in captioned figures, italic rather than bold for emphasis, American spelling of labor, and no MyST role inside a docstring. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s, undirected search, and source checks - Exercise 5 and "Returns to labor mobility" now report mean employment by state rather than ratios of employment thresholds, compare n + n0 ratios with the static formula (which applies to n + n0), and show how ratios of n alone depend on the shift n0 - The note on undirected search and Exercise 4 are rewritten: inflow equals outflow under both kinds of search; under undirected search lambda needs a consistency condition of its own and the inflow U is a second unknown, so the level of the workforce is not left free; a new part computes that the consistency condition can have two solutions or none - "Rationed" employment reframed: at the employment threshold stayers and leavers alike get lambda, so nobody is turned away at the going wage - Figure 5 references distinguish the schedules from the unemployment panels; Exercise 3 plots against lambda as the paper does - Alvarez-Veracierto claims checked against the papers; the 3.81 and 96 percent figures attributed to Baley, Ljungqvist and Sargent's computation; the firing-tax results qualified - Efficiency and stability wording matched to Lucas and Prescott - Guard the mean-wage division when no market employs anyone Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks for the careful review. All four items are addressed in 7683777.
Also fixed: the new mean-wage line divided by zero at some trial values of λ, which printed a RuntimeWarning in three places. The lecture runs cleanly in about 40 s. 🤖 Generated with Claude Code |

Author: @thomassargent30 wrote this lecture and is its primary author. @mmcky opened the PR and is handling the review process.
New lecture
lucas_prescott_searchon Lucas and Prescott (1974), "Equilibrium Search and Unemployment". It is the labor-market companion tolucas_prescott_investment(their 1971 paper), whose apparatus it reuses, and it sits directly after that lecture in the Multiple Agent Models part of the TOC.The lecture asks where the search literature's wage offer distribution comes from. Workers live in spatially separate markets hit by independent, persistent demand shocks. A worker either works at the wage that clears his market or leaves, earning nothing for one period, so unemployment is the act of moving. The lecture derives the worker's functional equation (the max is the worker's option to leave; the min is the no-rent condition that competition among searchers imposes). It reduces a market's behavior to two thresholds and the transition law y' = clip(y, ȳ(s), n̄(s)), and computes the equilibrium the way the paper's appendix does: discrete demand states, an integer workforce, value function iteration, the invariant distribution of the Markov chain, and bisection on the value of search λ.
Later sections cover the following:
lake_modelandendogenous_lakeFive exercises with dropdown solutions:
Adds five bibliography entries:
LucasPrescott1974,AlvarezVeracierto1999,AlvarezVeracierto2001,BaleyLjungqvistSargent2023,BaleyLjungqvistSargent2025.The lecture uses only
quanteconbeyond Anaconda and runs locally in about 40 seconds.🤖 Generated with Claude Code