• Overpopulation and Climate Catastrophe: An economist view

    If you know me or have visited this blog before, you’ll know that my book, The Hydra, is about overpopulation. In it, a scientist decides the world is so full of humans, that he must save the planet by engineering and releasing an infertility virus. I won’t give away too much of the plot, but

  • Social Class in Dublin: the final taboo

    Dirty old classism As I prepare to leave Dublin, I find myself reflecting on the things that make life in this city special. Many are splendid: the quick Dublin wit, the pleasant gift of the gab, the unique blend of international culture and local identity. But some are less worthy of celebration, and in this

  • The Hillary Fallacy – why the “Kang and Kodos” logic does not appeal to me.

                Despite my better judgement, I have recently found myself getting into social media exchanges with supporters of Hillary Clinton’s presidential bid. These exchanges are often acrimonious and always pointless, because no one ever manages to convince anyone else of their point of view on social media. However, the arguments

Load more

We begin by plotting a scattergram of the birth rate and GDP per capita data for 1990 to 2015 and for all 4 categories of country (100 observations total). The scatter suggests a functional form which has the following properties:

1) convex
2) Having a natural limit at birth rates of around 45, (beyond which human populations are generally unable to reproduce faster)
3) Tapering to some limit of birth rates of around 7.5 as income goes to infinity, reflecting perhaps the innate human desire to procreate, independent of income levels

We test the following functional form:

b = (45*min(Y)^a)/y^a

by taking logs:

ln(b) = ln(45*min(Y)) – a*ln(Y)

and estimating using OLS. Here are the regression results:

R Square 0.961571033

Coefficient of Intercept 6.25544297
t-stat of Intercept 96.5661

Cofficient of X Variable -0.36486599
t-stat of X Variable -49.5193

The intercept is closely approximated by the constant ln(45*min(Y)), the t-scores are high and the R Square shows a very good fit.

Here’s the fitted values against the actual values:



As with birth rates, we use data for 4 categories of countries from 1990 to 2015 (100 observations total). We have two explanatory variables, AGE and Y, where AGE is defined as the percentage of the population aged over 65 and Y is per capita GDP.

After eyeballing the scattergrams, we test the following functional form:

d = (minY^a)/Y^a * (1/AGE^g)

Where minY is the constant equal to the smallest value of Y in the series.

Logarithmic transformation gives:

ln(d) = ln(minY^a) – a*ln(Y) – g*ln(AGE)

which we test on the data using OLS. Here are the results:

Adjusted R square: 75.191

Intercept coefficient: 7.37384
t-Stat: 20.4011

Y coefficient: -1.01444
t-Stat: -13.1059

AGE coefficient: 2.0097
t-Stat: 11.5208

The estimated intercept is a good, but not perfect, approximation of ln(minY^a)

Here are the fitted against actual values of the scattergram for death rate against per capita GDP:


While the results are not as good as with the birth rates calculations, it is nevertheless a good enough fit and the explanatory variables have a strong enough confidence factor to be usable in our estimations.


We begin by examining the scatter of data for 100 observations of per capita GDP and per capita emissions for 4 categories of countries, over 25 years (1990 – 2015).

The scatter suggests a cubic functional form, so we test:

GHG = a + b*Y + c*Y^2 + d*Y^3

where GHG are per capita emissions of GHG, and Y is per capita GDP.

The results from OLS regression are:

Adjusted R square: 0.980438073

coefficient a: 1090
t-stat a: 3.06

coefficient b: 0.709310153
t-Stat b: 8.241453

coefficient c: -0.0000047025
t-Stat c: -1.01233

coefficient d: -0.000000000105314
t-Stat d: -1.47005

While the t-scores on the squared and cubed terms are low, the number of observations are also limited.

Here is the plot of the fitted against actual values: