Two major changes to the Solow model are needed in order to make it useful for making sense of the pre-industrial past. The first is to make labor efficiency depend on the scarcity of resources. The second is to make the rate of population and labor force growth depend on the economy's prosperity. We call the changed model that results from these changes the "Solow-Malthus" model.
Thus we first need to make efficiency of labor a function of available natural resources per worker. We do this by setting the rate of efficiency of labor growth $ g $ equal to the difference between the rate $ h $ at which economically useful ideas are generated, and the rate of population and labor force growth $ n $ divided by an effect-of-resource scarcity parameter $ \gamma $, because a higher population makes natural resources per capita increasingly scarce. Therefore:
(5.1) $ \frac{dE/dt}{E} = \frac{d\ln(E)}{dt} = g = h - \frac{n}{\gamma} $
Thus:
(5.2) $ \frac{d}{dt} \left(\frac{Y}{L}\right)^* = 0 $ whenever $ h - \frac{n}{\gamma} = 0 $
(5.3) $ n^{*mal} = \gamma h $
is the population growth rate at which $ \frac{d}{dt} \left(\frac{Y}{L}\right)^* = 0 $
When population is growing at the rate $ n^{*mal} $, the efficiency of labor—and thus the steady-state growth-path level of production per worker $ Y/L $—is constant. This captures the idea that even though human technology was advancing over the ten millennia before the Industrial Revolution, living standards were not because the potential benefits from technology and organization for productivity were offset by the productivity-diminishing effects of smaller farm sizes and more costly other natural resources to feed and provide for the growing population.
We also need to make the rate of growth of the population and labor force depend on the level of prosperity $ y = Y/L $; on the "subsistence" standard of living for necessities $y^{sub} $; and also on the fraction $ 1/\phi $ of production that is devoted to necessities, not conveniences and luxuries, and thus enters into reproductive and survival fitness. The higher the resources devoted to fueling reproductive and survival fitness, the faster will be the rate of population growth:
(5.4) $ \frac{dL/dt}{L} = \frac{d\ln(L)}{dt} = n = \beta \left( \frac{y}{\phi y^{sub}}-1 \right) $
Then for population to be growing at its Malthusian rate:
(5.5) $ \gamma h = \beta \left(\frac{1}{\phi}\right) \left( \frac{y}{y^{sub}}- \phi \right) $
(5.6) $ y^{*mal} = \phi y^{sub} \left( 1 + \frac{ n^{*mal}}{\beta}\right) = \phi y^{sub} \left( 1 + \frac{ \gamma h}{\beta}\right) $
Note that (5.4) only holds for poor populations. When populations grow rich and literate enough—and when women acquire enough social power—human societies undergo the demographic transition: women limit their pregnancies to the number of children they desire, confident that they will pretty much all survive to outlive them. Beyond a certain income level, equation (5.4) no longer holds. But it did hold up until well after the start of the Industrial Revolution.
Then with (5.1) and (5.4) added to our Solow growth model to turn it into the Solow-Malthus model, we can calculate the full Malthusian equilibrium for a pre-industrial economy. We can determine the log level $ E $ of the efficiency of labor:
(5.7) $ \ln(E) = \ln(H) - \frac{\ln(L)}{\gamma} $
Then since:
(5.8) $ y^{*mal} = \left( \frac{s}{\gamma h +\delta} \right)^\theta E $
(5.9) $ \ln(\phi) + \ln\left( y^{sub} \right) + \ln\left(1 + \frac{\gamma h}{\beta} \right) = \theta \ln(s) - \theta \ln(\gamma h +\delta) + \ln(E) $
The population and labor force in the full Malthusian equilibrium will be:
(5.10) $ \ln(L_t^{*mal}) = \gamma \left[ \ln(H_t) - \ln( y^{sub}) \right] + \gamma \theta \left( \ln(s) - \ln(\delta) \right) - \gamma \ln(\phi) + \left( - \gamma \theta \ln(1 + \gamma h/\delta) -\gamma ln\left(1 + \frac{\gamma h}{\beta} \right) \right) $
Or:
(5.11) $ L_t^{*mal} = \left[ \left( \frac{H_t}{y^{sub}} \right) \left( \frac{s}{\delta} \right)^\theta \left( \frac{1}{\phi} \right) \left[ \frac{1}{(1+\gamma h/\delta)^\theta} \frac{1}{(1+\gamma h/\beta)} \right] \right]^\gamma $
Thus to analyze the pre-industrial Malthusian economy, at least in its equilibrium configuration:
Start with the rate $ h $ at which new economically-useful ideas are being generated and with the responsiveness $ \beta $ of population growth to increased prosperity.
From those derive the Malthusian rate of population growth: $ n^{*mal} = \gamma h $
Then the Malthusian standard of living is: $ y^{*mal} = \phi y^{sub} \left( 1 + \frac{ \gamma h}{\beta}\right) $
And the Malthusian population is:$ L_t^{*mal} = \left[ \left( \frac{H_t}{y^{sub}} \right) \left( \frac{s}{\delta} \right)^\theta \left( \frac{1}{\phi} \right) \left[ \frac{1}{(1+\gamma h/\delta)^\theta} \frac{1}{(1+\gamma h/\beta)} \right] \right]^\gamma $
Thus at any date t, the Malthusian-equilibrium population is:
the current level $ H_t $ of the valuable ideas stock divided by the (sociologically determined, by, for example western European delayed female marriage patterns, or lineage-family control of reproduction by clan heads) Malthusian-subsistence income level $ y^{sub} $ consistent with a stable population on average, times
the ratio between the savings-investment rate $ s $ and the depreciation rate $ \delta $, raised to the parameter $ \theta $ which governs how much an increase in the capital-output ratio raises income—with a higher $ \theta $ the rule of law, imperial peace, and a culture of thrift and invetment matter more, and can generate "efflorescences"—times
one over the conveniences-and-luxuries parameter $ \phi $—it drives a wedge between prosperity and subsistence as spending is diverted categories that do not affect reproduction, such as middle-class luxuries, upper-class luxuries, but also the "luxury" of having an upper class, and the additional conveniences of living in cities and having trade networks that can spread plagues—times
two nuisance terms near zero, which depend on how much the level of population must fall below the true subsistence level at which population growth averages zero to generate the (small) average population growth rate that produces growing resource scarcity that offsets the (small) rate of growth of useful ideas. all this
all raised to the power $ \gamma $ that describes how much more important ideas are than resources in generating human income and production.
(1) is the level of the stock of useful ideas relative to the requirements for subsistence. (2) depends on how the rule of law and the rewards to thrift and entrepeneurship drive savings and investment, and thus the divisio of labor. (3) depends on how society diverts itself from nutrition and related activities that aim at boosting reproductive fitness and, instead, devotes itself to conveniences and luxuries—including the "luxury" of having an upper class, and all the conveniences of urban life. (4) are constant, and are small. And (5) governs how productive potential is translated into resource scarcity-generating population under Malthusian conditions.
And recall the full Malthusian equilibrium standard of living:
(5.12) $ y^{*mal} = \phi y^{sub} \left( 1 + \frac{ \gamma h}{\beta}\right) $
The level of income is:
Production per worker and thus prosperity are thus primarily determined by (a) true subsistence, (b) the wedge between prosperity and reproductive fitness produced by spending on conveniences and luxuries that do not impact reproductive success, plus a minor contribution by (c) the wedge above subsistence needed to generate population growth consonant with the advance of knowledge and population pressure's generation of resource scarcity.
With this model, we can investigate broader questions about the Malthusian Economy—or at least about the Malthusian model, with respect to its equilibrium:
The fall of an empire, for example, would see a sharp decline in the savings-investment share $ s $, as the imperial peace collapsed, a fall in the "luxuries" parameter $ \phi $, as the taste for urbanization and the ability to maintain gross inequality declined, and possibly a rise in $ y^{sub} $, if barbarian invasions and wars significantly raised mortality from violent death.
This model provides an adequate framework—or I at least, think it is an adequate framework—for thinking about the post-Neolithic Revolution pre-Industrial Revolution economy.
And, with respect to its dynamics, in Python:
delong_classes.malthusian
at:
https://github/braddelong/LS2019/blob/master/2019-09-06-210a-ancient-intro.ipynb
we can examine how the simulated model behaves dynamically.
A Solow Malthus Model for Ancient Economies will be maintained at: https://github.com/braddelong/LS2019/blob/master/2019-08-17-Ancient_Economies.ipynb>¶
Digression on Malthusian Convergence will be maintained at: https://github.com/braddelong/long-form-drafts/blob/master/malthusian_convergence.ipynb¶
# DEFINING CLASS MALTHUSIAN
#
# kept in delong_classes
#
# in general use:
# import delong_classes
#
# m = delong_classes.malthusian
#
# .__init__ :: initialize
# .update :: calculate the next year's values
# .gen_seq :: return time series of selected variable
# .steady_state ::calculate the steady state
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
class malthusian:
"""
Implements the Malthusian Model with:
1. population growth
n = β*(y/(ϕ ysub)-1)
2. growth of efficiency-of-labor
g = h-n/γ
"""
def __init__(self,
L = 1, # initial labor force
E = 1/3, # initial efficiency of labor
K = 3.0, # initial capital stock
# determinants of n (population growth):
β = 0.025, # responsiveness of population growth to increased prosperity.
ϕ = 1, # luxuries parameter
ysub = 1, # subsistence level
# determinants of g(efficiency-of-labor growth):
h = 0, # rate at which useful ideas are generated
γ = 2.0, # effect-of-resource scarcity parameter
s = 0.15, # savings-investment rate
α = 0.5, # orientation-of-growth-toward-capital parameter
δ = 0.05, # deprecation rate on capital parameter
):
self.L, self.E, self.K, self.h, self.γ, self.s, self.α, self.δ = L, E, K, h, γ, s, α, δ
self.β, self.ϕ, self.ysub = β, ϕ, ysub
# production (or output)
self.Y = self.K**self.α*(self.E*self.L)**(1-self.α)
self.y = self.Y/self.L
# capital-output ratio
self.κ = self.K/self.Y
# population growth
self.n = self.β*((self.y/(self.ϕ*self.ysub)) - 1)
# growth rate of efficiency-of-labor
self.g = self.h-self.n/self.γ
# store initial data
self.initdata = vars(self).copy()
def update(self):
# unpack parameters
K, s, Y, δ, L, n, E, g, α =self.K, self.s, self.Y, self.δ, self.L, self.n, self.E, self.g, self.α
β, ϕ, ysub, h, γ = self.β, self.ϕ, self.ysub, self.h, self.γ
#update variables
K = s*Y + (1-δ)*K
L = L*np.exp(n)
E = E*np.exp(g)
Y = K**α*(E*L)**(1-α)
y = Y/L
κ = K/Y
n = β*(y/(ϕ*ysub)-1)
g = h-n/γ
#store variables
self.K, self.s, self.Y, self.δ, self.L, self.n, self.E, self.g, self.α = K, s, Y, δ, L, n, E, g, α
self.κ, self.y = κ, y
def gen_seq(self, t, var = 'κ', init = True, log = False):
"Generate and return time series of selected variable. Variable is κ by default."
path = []
# initialize data
if init == True:
for para in self.initdata:
setattr(self, para, self.initdata[para])
for i in range(t):
path.append(vars(self)[var])
self.update()
if log == False:
return path
else:
return np.log(np.asarray(path))
def steady_state(self, disp = True):
"Calculate variable values in the steady state"
#unpack parameters
s, γ, h, δ, ϕ, ysub, β, α= self.s, self.γ, self.h, self.δ, self.ϕ, self.ysub, self.β, self.α
self.mal_κ = s/(γ*h+δ)
# malthusian rate of population growth
self.mal_n = γ*h
# malthusian standard of living
self.mal_y = ϕ*(ysub+γ*h/β)
self.mal_E = self.mal_y*((γ*h+δ)/s)**(α/(1-α))
if display == True:
return(f'steady-state capital-output ratio κ: {self.mal_κ:.2f}')
return(f'Malthusian rate of population growth n: {self.mal_n: .2f}')
return(f'Malthusian standard of living y: {self.mal_y:.2f}')
return(f'steady-state efficiency-of-labor E: {self.mal_E:.2f}')
else:
return(self.mal_κ,self.mal_n,self.mal_y,self.mal_E)
weblog support: https://github.com/braddelong/long-form-drafts/blob/master/solow-model-5-pre-industrial.ipynb
nbViewer: https://nbviewer.jupyter.org/github/braddelong/long-form-drafts/blob/master/solow-model-5-pre-industrial.ipynb
datahub: http://datahub.berkeley.edu/user-redirect/interact?account=braddelong&repo=long-form-drafts&branch=master&path=solow-model-5-pre-industrial.ipynb