A common SF scenario involves a colony world which starts with a low
initial population and then is either abandoned or at least does not
undergo significant immigration/emmigration. It has always bothered me
that it is hard to determine reasonable population growth rates and
starting sizes so I decided to create a model that could help calculate
such things. The model is relatively simple, requiring just initial
population age distribution, birth rate and death rates to set going,
however it produces numbers which seem to match those observed on this
earth. For example the zero population growth lifetime birth rate of
2.1 children/woman as observed in today's mature societies is entirely
consistent with the annualized death rates for age ranges similar
to those in such societies as well. I
You can experiment with the web(javascript)
version of the calulator is available for here, and there is an Excel version to download
The biggest assumption is that human lifespan remains similar to
that observed on this planet. Modifications are required to deal with
societies where human lifespan differs from this, particularly if this
results in a significantly extended period of fertility and a
consequent increase in the average number of births/woman.
Population growth is assmed to be dependant solely on the number of
women under 40 with children being born solely to women aged between 20
and 40. Although this is not correct for primitive societies, this does
match the observed pattern in many more advanced societies where
teenage pregnancy was uncommon despite the absence of contraception.
Moreover, even if the starting age is high for primitive societies so
too is the end - women in primative societies rarely survived beyond
35-40 thus the 2 decade span for pregnancy remains even if it starts
slightly earlier in some societies. Population across age ranges is
assumed to be uniform (so that if there are assumed to be 20,000 women
between 20 and 40 that means 2,000 are 20-21, 2,000 are 21-22 etc).
The other major simplification is that it is assumed that the
male:female ratio is 1:1 for births and that death rates are identical
for both (i.e. for any age range it is assumed that 50% is female).
This does lead to slightly incorrect numbers for the total population
numbers but the error does not propagate over generations since males
are unable to bear children. From examination of historical data it
would seem that the ratio for males:females for a given age is always
within a few percentage points of 1:1 so the error is likely to be
under 10%
The population is broken down by age into 4 categories: under 20
yeare, 20-40, 40-60 and over 60. Separate death rates are given for
each range and the birthrate is applied soley to women aged 20-40.
Woman under 20 and over 40 are assumed to be infertile. The calculation
of the new population is made every decade. Thus in each snapshot half
the people in one age range (less deaths) move up to the next. The
calculation of the next decades population uses only the women (with
the assumption noted above that 50% of any segment of the population is
female). Unless you change the rate each decade uses the same
death-rates and birth-rate as the previous decade. You can model
improving health (lower infant mortality), declining fertility etc. by
changing the rates at each step.
At Decade T(n)
A(n) adolescents, B(n) breeding age, C(n) middle aged and D(n)
elderly.
Total population P(n) = A(n)+B(n)+C(n)+D(n)
B(n)/2 are women who may give birth.
Annual death-rates (nnn/100,000) for each population are dA(n),
dB(n) etc.
Birthrate is b(n) for live births/female in this decade.
We need to convert dX(n) and b(n) to decade rates (and change dX(n)
to sX(n) the proportion of the population that survives the decade.
Since breeding time is 2 decades, decade birthrate is b(n)/2
Decade survival rate = 1-(dX(n) / 10000)
Hence at Decade T(n+1):
A(n+1) = b(n)/2 * B(n)/2 + A(n)/2*(1-(dA(n) / 10000))
B(n+1) = A(n)/2*(1-(dA(n) / 10000)) + B(n)/2*(1-(dB(n) / 10000))
C(n+1) = B(n)/2*(1-(dB(n) / 10000)) + C(n)/2*(1-(dC(n) / 10000))
D(n+1) = C(n)/2*(1-(dC(n) / 10000)) + D(n)*(1-(dD(n) / 10000))
Assume a colony starts with 100,000 people split 35% Adolescent,
30% Breeding, 25% Middle Aged and 10% elderly (to make the figures
smaller I have divided all populations by 1000 in the tables).
Assume death rates of
195/100k/yr for Adolescents, 100 for Breeding, 500 for Middle Aged and
5000 for Elderly - these death rates are approximately the numbers for
North America today. Assume a birth rate is 2.1.
Year |
Birth rate |
Adolescent Population |
Adolescent Death Rate |
Breeding
Age Population |
Breeding
Age Death Rate |
Middle-Aged Population |
Middle-Aged Death Rate |
Elderly Population |
Elderly
Death Rate |
Total |
0 | 2.1 | 35 | 195 | 30 | 100 | 25 | 500 | 10 | 5000 | 100 |
10 | 2.1 | 33 | 195 | 32 | 100 | 27 | 500 | 17 | 5000 | 109 |
20 | 2.1 | 33 | 195 | 32 | 100 | 29 | 500 | 21 | 5000 | 115 |
30 | 2.1 | 33 | 195 | 32 | 100 | 29 | 500 | 24 | 5000 | 118 |
40 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 26 | 5000 | 121 |
50 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 27 | 5000 | 122 |
60 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 28 | 5000 | 123 |
70 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 28 | 5000 | 123 |
80 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 28 | 5000 | 123 |
90 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
100 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
110 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
120 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
130 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
140 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
150 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
160 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
170 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
180 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
190 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
200 | 2.1 | 33 | 195 | 32 | 100 | 30 | 500 | 29 | 5000 | 124 |
Assume that women are more fertile and that death rates are higher: death rates of 400/100k/yr for Adolescents, 200 for Breeding, 1000 for Middle Aged and 5000 for Elderly and a birth rate is 3. This might be reasonable for a high tech colony.
Year |
Birth rate |
Adolescent Population |
Adolescent Death Rate |
Breeding
Age Population |
Breeding
Age Death Rate |
Middle-Aged Population |
Middle-Aged Death Rate |
Elderly Population |
Elderly
Death Rate |
Total |
0 | 3 | 35 | 400 | 30 | 200 | 25 | 1000 | 10 | 5000 | 100 |
10 | 3 | 39 | 400 | 32 | 200 | 26 | 1000 | 16 | 5000 | 113 |
20 | 3 | 42 | 400 | 34 | 200 | 27 | 1000 | 20 | 5000 | 124 |
30 | 3 | 46 | 400 | 37 | 200 | 29 | 1000 | 22 | 5000 | 134 |
40 | 3 | 50 | 400 | 40 | 200 | 31 | 1000 | 24 | 5000 | 146 |
50 | 3 | 54 | 400 | 44 | 200 | 34 | 1000 | 26 | 5000 | 158 |
60 | 3 | 59 | 400 | 48 | 200 | 37 | 1000 | 28 | 5000 | 171 |
70 | 3 | 64 | 400 | 52 | 200 | 40 | 1000 | 31 | 5000 | 186 |
80 | 3 | 69 | 400 | 56 | 200 | 43 | 1000 | 33 | 5000 | 202 |
90 | 3 | 75 | 400 | 61 | 200 | 47 | 1000 | 36 | 5000 | 219 |
100 | 3 | 82 | 400 | 66 | 200 | 51 | 1000 | 39 | 5000 | 237 |
110 | 3 | 89 | 400 | 71 | 200 | 55 | 1000 | 42 | 5000 | 258 |
120 | 3 | 96 | 400 | 78 | 200 | 60 | 1000 | 46 | 5000 | 280 |
130 | 3 | 104 | 400 | 84 | 200 | 65 | 1000 | 50 | 5000 | 303 |
140 | 3 | 113 | 400 | 91 | 200 | 70 | 1000 | 54 | 5000 | 329 |
150 | 3 | 123 | 400 | 99 | 200 | 76 | 1000 | 59 | 5000 | 357 |
160 | 3 | 133 | 400 | 107 | 200 | 83 | 1000 | 64 | 5000 | 387 |
170 | 3 | 145 | 400 | 117 | 200 | 90 | 1000 | 69 | 5000 | 420 |
180 | 3 | 157 | 400 | 127 | 200 | 98 | 1000 | 75 | 5000 | 456 |
190 | 3 | 170 | 400 | 137 | 200 | 106 | 1000 | 81 | 5000 | 495 |
200 | 3 | 185 | 400 | 149 | 200 | 115 | 1000 | 88 | 5000 | 537 |
210 | 3 | 200 | 400 | 162 | 200 | 125 | 1000 | 96 | 5000 | 583 |
220 | 3 | 217 | 400 | 175 | 200 | 135 | 1000 | 104 | 5000 | 632 |
230 | 3 | 236 | 400 | 190 | 200 | 147 | 1000 | 113 | 5000 | 686 |
240 | 3 | 256 | 400 | 206 | 200 | 159 | 1000 | 123 | 5000 | 744 |
250 | 3 | 278 | 400 | 224 | 200 | 173 | 1000 | 133 | 5000 | 807 |
260 | 3 | 301 | 400 | 243 | 200 | 188 | 1000 | 144 | 5000 | 876 |
270 | 3 | 327 | 400 | 264 | 200 | 203 | 1000 | 157 | 5000 | 951 |
280 | 3 | 355 | 400 | 286 | 200 | 221 | 1000 | 170 | 5000 | 1031 |
290 | 3 | 385 | 400 | 310 | 200 | 240 | 1000 | 184 | 5000 | 1119 |
300 | 3 | 418 | 400 | 337 | 200 | 260 | 1000 | 200 | 5000 | 1214 |
310 | 3 | 453 | 400 | 365 | 200 | 282 | 1000 | 217 | 5000 | 1317 |
320 | 3 | 492 | 400 | 397 | 200 | 306 | 1000 | 235 | 5000 | 1429 |
330 | 3 | 533 | 400 | 430 | 200 | 332 | 1000 | 255 | 5000 | 1551 |
340 | 3 | 579 | 400 | 467 | 200 | 360 | 1000 | 277 | 5000 | 1683 |
350 | 3 | 628 | 400 | 507 | 200 | 391 | 1000 | 301 | 5000 | 1826 |
360 | 3 | 681 | 400 | 550 | 200 | 424 | 1000 | 326 | 5000 | 1981 |
370 | 3 | 739 | 400 | 596 | 200 | 460 | 1000 | 354 | 5000 | 2150 |
380 | 3 | 802 | 400 | 647 | 200 | 499 | 1000 | 384 | 5000 | 2332 |
390 | 3 | 870 | 400 | 702 | 200 | 542 | 1000 | 417 | 5000 | 2531 |
400 | 3 | 944 | 400 | 762 | 200 | 588 | 1000 | 452 | 5000 | 2746 |
However assume that women are much more fertile and that death rates
are also worse: 600/100k/yr for Adolescents, 300 for Breeding, 2000 for
Middle Aged and 7000 for Elderly and a birth rate is 5. This is not at
all dissimilar to observed population growth in developing countries in
the last hundred years or so and is not unreasonable for medium tech
colonies or colonies who lose their technology over time.
Year |
Birth rate |
Adolescent Population |
Adolescent Death Rate |
Breeding
Age Population |
Breeding
Age Death Rate |
Middle-Aged Population |
Middle-Aged Death Rate |
Elderly Population |
Elderly
Death Rate |
Total |
0 | 5 | 35 | 600 | 30 | 300 | 25 | 2000 | 10 | 7000 | 100 |
10 | 5 | 54 | 600 | 31 | 300 | 25 | 2000 | 13 | 7000 | 123 |
20 | 5 | 64 | 600 | 40 | 300 | 25 | 2000 | 14 | 7000 | 143 |
30 | 5 | 81 | 600 | 50 | 300 | 30 | 2000 | 14 | 7000 | 174 |
40 | 5 | 100 | 600 | 62 | 300 | 36 | 2000 | 16 | 7000 | 214 |
50 | 5 | 125 | 600 | 77 | 300 | 44 | 2000 | 19 | 7000 | 265 |
60 | 5 | 155 | 600 | 96 | 300 | 55 | 2000 | 24 | 7000 | 330 |
70 | 5 | 193 | 600 | 119 | 300 | 69 | 2000 | 29 | 7000 | 410 |
80 | 5 | 240 | 600 | 148 | 300 | 85 | 2000 | 36 | 7000 | 510 |
90 | 5 | 298 | 600 | 185 | 300 | 106 | 2000 | 45 | 7000 | 634 |
100 | 5 | 371 | 600 | 230 | 300 | 132 | 2000 | 56 | 7000 | 789 |
110 | 5 | 462 | 600 | 286 | 300 | 164 | 2000 | 70 | 7000 | 981 |
120 | 5 | 574 | 600 | 356 | 300 | 204 | 2000 | 87 | 7000 | 1220 |
130 | 5 | 714 | 600 | 442 | 300 | 254 | 2000 | 108 | 7000 | 1518 |
140 | 5 | 889 | 600 | 550 | 300 | 316 | 2000 | 134 | 7000 | 1889 |
150 | 5 | 1105 | 600 | 684 | 300 | 393 | 2000 | 167 | 7000 | 2350 |
160 | 5 | 1375 | 600 | 851 | 300 | 489 | 2000 | 207 | 7000 | 2923 |
170 | 5 | 1711 | 600 | 1059 | 300 | 609 | 2000 | 258 | 7000 | 3636 |
180 | 5 | 2128 | 600 | 1318 | 300 | 757 | 2000 | 321 | 7000 | 4524 |
190 | 5 | 2647 | 600 | 1639 | 300 | 942 | 2000 | 399 | 7000 | 5628 |
200 | 5 | 3293 | 600 | 2039 | 300 | 1172 | 2000 | 497 | 7000 | 7001 |
Assume that women are less fertile and that death rates are lower:
death rates of 150/100k/yr for Adolescents, 70 for Breeding, 200 for
Middle Aged and
3000 for Elderly and a birth rate is 1.4. This is similar to Japan
today. This is interesting also in that you get to see how the ratio of
elderly people to working people increases over time. At the start
there is 1 elderly person (pensioner) for every 5.5 working age, after
70 years the ratio is 1:1 and then stabilizes at around 1.2:1
(elderly:working).
Year |
Birth rate |
Adolescent Population |
Adolescent Death Rate |
Breeding
Age Population |
Breeding
Age Death Rate |
Middle-Aged Population |
Middle-Aged Death Rate |
Elderly Population |
Elderly
Death Rate |
Total |
0 | 1.4 | 35 | 150 | 30 | 70 | 25 | 200 | 10 | 3000 | 100 |
10 | 1.4 | 28 | 150 | 32 | 70 | 27 | 200 | 19 | 3000 | 106 |
20 | 1.4 | 25 | 150 | 30 | 70 | 29 | 200 | 27 | 3000 | 111 |
30 | 1.4 | 23 | 150 | 27 | 70 | 29 | 200 | 33 | 3000 | 112 |
40 | 1.4 | 21 | 150 | 25 | 70 | 28 | 200 | 37 | 3000 | 110 |
50 | 1.4 | 19 | 150 | 22 | 70 | 26 | 200 | 40 | 3000 | 106 |
60 | 1.4 | 17 | 150 | 20 | 70 | 24 | 200 | 40 | 3000 | 101 |
70 | 1.4 | 15 | 150 | 18 | 70 | 22 | 200 | 40 | 3000 | 96 |
80 | 1.4 | 14 | 150 | 17 | 70 | 20 | 200 | 39 | 3000 | 89 |
90 | 1.4 | 13 | 150 | 15 | 70 | 18 | 200 | 37 | 3000 | 83 |
100 | 1.4 | 12 | 150 | 14 | 70 | 16 | 200 | 35 | 3000 | 77 |
110 | 1.4 | 11 | 150 | 13 | 70 | 15 | 200 | 32 | 3000 | 70 |
120 | 1.4 | 10 | 150 | 12 | 70 | 14 | 200 | 30 | 3000 | 65 |
130 | 1.4 | 9 | 150 | 10 | 70 | 12 | 200 | 28 | 3000 | 59 |
140 | 1.4 | 8 | 150 | 10 | 70 | 11 | 200 | 25 | 3000 | 54 |
150 | 1.4 | 7 | 150 | 9 | 70 | 10 | 200 | 23 | 3000 | 49 |
160 | 1.4 | 7 | 150 | 8 | 70 | 9 | 200 | 21 | 3000 | 45 |
170 | 1.4 | 6 | 150 | 7 | 70 | 8 | 200 | 19 | 3000 | 41 |
180 | 1.4 | 5 | 150 | 7 | 70 | 8 | 200 | 18 | 3000 | 38 |
190 | 1.4 | 5 | 150 | 6 | 70 | 7 | 200 | 16 | 3000 | 34 |
200 | 1.4 | 5 | 150 | 5 | 70 | 6 | 200 | 15 | 3000 | 31 |