More on the Micro-Foundations for Stabilizing a Population

Freisinnige Zeitung
11 min readJun 1, 2018

--

[This is part of my series on Thomas Malthus’ “Essay on the Principle of Population,” first published in 1798. You can find an overview of all my posts here that I will keep updated: “Synopsis: What’s Wrong with the Malthusian Argument?”]

In my previous post, I presented a model for how a population can stabilize its size. The inputs are very simple:

  • People have to know how many surviving siblings they have. I assume that they evaluate this at age 16 before they marry. But the specifics are inessential. The goal here is to find out what the desired family size of their parents was, hence the input is surviving siblings plus one for the respective person themselves.
  • And then people have to be able to estimate the population density around them. I have argued in another post that many species are able to do this, and humans should be able to do it, too. My assumption in the model is that people the population density around them when they grow up, in a simplification at age 8 and age 16. The specifics are inessential, and find it more plausible that this happens on a continual basis. And then people also have to estimate the current population denstity when they think about having children.

All these quantities are handled on a logarithmic scale. As for the density estimates at age 8 and at age 16, those are used to estimate the population density at age zero, ie. when someone was born, because the value is not directly accessible. This is the population density their parents faced when they had them as a child. On a logarithmic scale, the formula is simple. All you have to do is subtract the difference between the estimates at ages 16 and 8 from the estimate at age 8.

The desired family size, “actual fertility_children,” is then calculated according to the formula:

ln(actual fertility_children)
= ln(actual fertility_parents)
— (ln(actual density_children) — ln(actual density_parents))/0.3

The desired family size for the previous generation, “actual fertility_parents,” is the number of surviving siblings plus one. The current population density, “actual density_children,” is estimated on the spot when people think about having another child. And “actual density_parents,” the population density the previous generation faced, stems from the above calculation with the estimates at age 8 and 16.

I assume that couples pool their information for the inputs by averaging out. But that is not essential. I assume that even more information is intregrated from the larger family, peers, and neighbors. When someone moves to a different location — in my model women when they marry because they move in with their husbands — the estimate “actual density_parents” is adjusted for the different population densities. On a logarithmic scale that someone adds the difference of the logarithms of population densities at the destination and where they previously lived.

The desired family size results from exponentiation of ln(actual fertility_children). It is pursued by a couple after marriage in this way:

I exclude children out of wedlock in my model, which is inessential. When the couple is still farther away than one child from their desired family size, they will have a child two years after the last child if that survives. If it does not, then they have a child already in the year afterwards. Once they get closer to the desired family size than one, they randomly have a child or not, where the probability is so that the expected value yields the desired family size. Afterwards the couple end their family planning and don’t have any further children.

I assume that women marry when they are at least 18 years old. That depends on finding a mate, where I exclude close relatives, especially brothers, men who live too far away, and those who fall outside a range for their age that goes from the age of the woman to an upper bound which is her age minus seven and then times two.

— — —

What is fascinating now is that these simple rules can stabilize a population for millennia on end. There are some fluctuations, but those are marginal if you break them down to an annual basis. The population hits the replacement level with extreme precision although it has no knowledge what it is. It does not have to know about the current level of mortality either, which determines the replacement level.

In my previous post, I assumed mortality somewhat like in modern times. This raises the question whether the results are sensitive to this assumption. In addition, it is not clear whether changes in mortality might thwart the stabilization of a population. In earlier times, there could be slow variations, and sometimes even fast ones for a population. The astonishing answer is: It does not matter at all. The mechanism is extremely robust as I will demonstrate now.

The first example is for a population that faces mortality as in earlier times. I take the German life table for the decade from 1871 to 1881. Although the country was already on its way to a modern society, mortality was still as high as in pre-industrial times. Here is how many born in a cohort survive to a certain age (100% at birth, age zero lands at one, sorry):

Mortality was brutal for children in 19th century Germany. About a quarter died before age five, most of them in the first year. Until age 40 half of a cohort were dead although mortality later on was not as bad as for children. This implied a replacement level of around 3.5 versus a replacement level of 2.1 in our times.

I now run my simulation with this mortality. Note that there is an artifact at the start because I have to get the population going. I begin with 500 people who are all born in the same year, which leads to a very strong momentum effect. This leads to a drastic reaction where the population size implodes at first. But that is unrealistic and you should ignore this. The interesting part comes afterwards when this bizarre episode is over. With a small population size at the beginning, it often happens that the population dies out. I pick a realization here where this does not happen over 10000 years:

The size of the population falls from 500 to less than 50 over the first two centuries. However, the population does not die out in this case. My observation from lots of simulations by now is that a population never dies out over the next almost ten millennia once it has made it through the initial onslaught. That even holds for extremly small populations of about a dozen people at the low. After the implosion, there is regularly a slight recovery, with an increase of the population size that seems to be linear. But from some time on, amlost nothing happens, and the population practically stabilizes for millennia.

My casual impression from the simulations so far is that stabilization works even better with higher mortality, but that is only preliminary. It certainly works similarly well as with low mortaltiy. There is slight increase in this example here. But if you break it down to average growth from the year 2000 to the year 10000, that amounts to only 0.0054727% annually. Growth of just 0.1% would lead to an increase by a factor of almost 3,000. But in the example, the change is just from 142 to 220 people over eight millennia.

— — —

Let me now supply some structural data for this population. The first is for realized fertility where I use a different graphics function than in the previous post:

Note that because of the very small population size, there are many years where there are no childen and hence no cohort with realized fertility. That is not visible here. Many observations are also for only one woman, which leads to a discretization effect. You can clearly see the integer levels.

Sometimes values can go as high as 15 or 16. At first I was baffled because I assume women only have children from when they marry, at least an age of 18, until 45 years. That would make at most 14 children possible with a birth spacing of two years. However, since there is high child mortality, it often happens that a couple has a child already after one year, and that makes higher values possible. But that happens very rarely.

Despite the extreme noisiness, this population pins the replacement level down with a deviation of only about 0.1% between the years 2000 and 10000. If I set the replacement level to 3.5, then this means average fertility over eight millennia is about 3.505. I am still baffled how exact all this is.

— — —

Here is a histogram for realized fertility per cohort for the last seven millennia. Note that a cohort may consist of several women, but mostly it is only one with such a small population.

The main weight for cohorts lies below four for average realized fertility. But there are also quite a few cohorts above four, though the very large values are rather rare. Note that this is for births, not for children who survive to fertile age. Actual family sizes should be smaller at a point in time because of high child and especially infant mortality.

Next a look at the share of those age 18 or older in the population who are married and who are widowed:

With such a small population, there is a lot of noise. Since I chose the parameters so that it is rather easy to find a spouse, a large share of the population are married. The blue line is for women, the green line for men. The latter more often tend to be unmarried. The red and the light blue line are for those who are widowed, women and men, respectively. Since men get married later, there are more widows than widowers in the population. Note that I work with equal mortality for both sexes and also a sex ratio at birth of 50/50, so that is not the explanation.

— — —

Initially, I also had charts in my previous post for average age at marriage over time. As I then discovered, something was wrong there, so I retracted the charts. Instead of calculating average age at marriage for those who are alive, my program calculated it for all people including those who were already dead. Since there were more on more of the latter and those swamped the living, values stabilized over time. But that’s not what I wanted although the calculation in and of itself was correct. I promised to supply adequate values in another post, and here goes:

Of course, with so much noise average age at marriage should be quite variable. The blue line is for women, and the green line for men. Since women search for husbands from their own age and upwards to a bound, men are at least as old at marriage as they are, and so you have a higher average value.

Don’t try you hand at a Malthusian explanation for what you see here. This is an outcome that results from the availability of potential spouses. It is not how the population stabilizes. Families aim for a desired size whether they marry somewhat earlier or later. The chart also illustrates once more why there are more widows than widowers in the population. Husbands will die earlier than wives because they are older on average.

— — —

Now, this analysis for a population with high mortality as in Germany in the 1870s shows that my results do not depend on my assumption of low mortality as in the previous post. It is still not clear whether changes in mortality could derail the stabilization of a population. Amazingly enough, the mechanism is very robust against changes in mortality.

What I do now is run the simulation until the year 5000 with low mortality, and then I suddenly switch high mortality on as in Germany in the 19th century. Here is a simulation where the population stabilizes at an even lower size of only about 100 people. If I had not told you about how I ramp up mortality in the year 5000, you would not know it:

The population goes on as if nothing had happened. But when you look at realized fertility, you can see that there was a massive reaction:

Within no time, the population has a lot more children to counteract higher mortality. The adjustment is so swift that the population size remains stable despite this massive deterioration. Think about that: There are only like 100 people in this population. Any failure to adapt fertility fast enough could drive the population into extinction. But as noted above, apart from the absurd situation at the start, it never happens that such a population dies out. It is “unkaputtbar” (un-kaputable) with this behavior. This is like magic, I still can’t believe how well this works.

Conclusion

While I don’t think that the process here is exactly as how it works in reality, my impression is that the model comes very close to how human populations handle this. I got the coefficient of 0.3 from an analysis for South Korea over the past few decades. Then I saw that this worked also quite well for Japan. And if you aggregate the underlying rule up, the micro-foundations lead exactly to what you also observe on the macro-level.

I still don’t make a claim that this is how population dynamics work in reality. In my view, this is only meant as a “proof of concept.” There should at least be also inputs from circumstances. In my simulations, there are no constraints on how large a population can be. Food is not even a variable in my model, so hold off on any Malthusian explanations. But then it is very plausible that there must be also inputs from how well or badly the population is doing, and those should determine at which level it stabilizes: When it will grow to a higher size or shrink to a lower one.

But then I think my model passes the hurdle for a “proof of concept”: It can be done: Populations can stabilize of their own accord. All they need to use are readily available inputs and simple calculations. The mechanism is so simple that it could even be implemented “in hardware,” and that also other species should be able to stabilize their population. Nothing here requires human intelligence.

All it takes is to observe the number of your surviving siblings, and that you are able to estimate population densities around you, plus some rather simple calculations. This squarely contradicts the Malthusian assumption that a population cannot stabilize of its own accord, and inevitable population growth must be stopped by brute force.

--

--