Author: Spencer Graves
Date: 2026-01-09

# Industrial Revolution began in 1689 or 1649?

#### Spencer Graves

#### 2026-01-09

## Abstract

Acemoglu and Robinson (2012) say that the Industrial Revolution began in England following the English Bill of Rights of 1689. Maddison Project data suggest that it began close to 40 years earlier when the English chopped the head off of King Charles I for abuse of power as discussed in this brief note,.

## Introduction

The `MaddisonData` package for R includes a `ggplotPath` function that makes it easy to plot Maddison project data for any country or group of countries plus a `getMaddisonSources` function that makes it easy to get the citations required for publication of such a plot. We illustrate that here applied to England / Great Britain / the United Kingdom, whose 3-letter ISO code is `GBR`. We select that, because it suggests that the Industrial Revolution began in England close to 1649, when the English chopped the head off their King Charles I for abuse of power, 40 years earlier than the English Bill of Rights, which Acemoglu and Robinson (2012) claim started the Industrial Revolution

## World leader in `GDPpc` by year

Let’s compute the world leader in `gdppc` for each year in MaddisonData.

    library(MaddisonData)

    Leaders0 <- MaddisonData::MaddisonLeaders()
    Leaders00 <- table(Leaders0$ISO)
    MaddisonData::MaddisonCountries[names(Leaders00), 1:2]

    ##     ISO              country
    ## ARE ARE United Arab Emirates
    ## AUS AUS            Australia
    ## BEL BEL              Belgium
    ## CHE CHE          Switzerland
    ## CHN CHN                China
    ## ESP ESP                Spain
    ## FRA FRA               France
    ## GBR GBR       United Kingdom
    ## IRQ IRQ                 Iraq
    ## ITA ITA                Italy
    ## KWT KWT               Kuwait
    ## LUX LUX           Luxembourg
    ## NLD NLD          Netherlands
    ## NOR NOR               Norway
    ## NZL NZL          New Zealand
    ## QAT QAT                Qatar
    ## SWE SWE               Sweden
    ## USA USA        United States

Let’s redo this without countries like `ARE`, `KWT`, and `QAT` that seem NOT to have been technology leaders.

    Leaders1 <- MaddisonData::MaddisonLeaders(c('ARE', 'KWT', 'QAT'))
    Leaders10 <- table(Leaders1$ISO)
    MaddisonData::MaddisonCountries[names(Leaders10), 1:2]

    ##     ISO              country
    ## ARE ARE United Arab Emirates
    ## AUS AUS            Australia
    ## BEL BEL              Belgium
    ## CHE CHE          Switzerland
    ## CHN CHN                China
    ## ESP ESP                Spain
    ## FRA FRA               France
    ## GBR GBR       United Kingdom
    ## IRQ IRQ                 Iraq
    ## ITA ITA                Italy
    ## KWT KWT               Kuwait
    ## LUX LUX           Luxembourg
    ## NLD NLD          Netherlands
    ## NOR NOR               Norway
    ## NZL NZL          New Zealand
    ## QAT QAT                Qatar
    ## SWE SWE               Sweden
    ## USA USA        United States

Let’s plot.

## Plot

    #library(MaddisonData)

    Leaders10d <- subset(MaddisonData, ISO %in% names(Leaders10))
    plotLeaders1 <- MaddisonData::ggplotPath(y='gdppc', group='ISO',
                            data=Leaders10d, scaley=1000)

    plotLeaders1

    plotLeaders1 + ggplot2::xlim(1200, 2022)

    ## Warning: Removed 13 rows containing missing values or values outside the scale range
    ## (`geom_path()`).

`MaddisonSources` for all 15 leaders?

    MadSources15 <- MaddisonData::getMaddisonSources(names(Leaders10))
    head(MadSources15)

    ##   ISO       years
    ## 1           2008-
    ## 2           1990-
    ## 3     1, .., 2022
    ## 4 BEL           1
    ## 5 BEL  1500- 1846
    ## 6 CHE           1
    ##                                                                                                                                                                                                                 source
    ## 1    GDP pc(2008-): Total Economy Database (TED) of the Conference Board for all countries included in TED [https://www.conference-board.org/topics/total-economy-database]. Otherwise UN national accounts statistics
    ## 2 population(1990-):Total Economy Database (TED) of the Conference Board for all countries included in TED [https://www.conference-board.org/topics/total-economy-database]. Otherwise UN national accounts statistics
    ## 3                                                   Jutta Bolt and Jan Luiten Van Zanden (2024) "Maddison style estimates of the evolution of the world economy: A new 2023 update", Journal of Economic Surveys, 1-41
    ## 4                                                        Scheidel, W. and Friesen, S. J., ‘The size of the economy and the distribution of income in the Roman Empire’, Journal of Roman Studies, 99 (2009), pp. 61–91
    ## 5   Buyst, E. (2011), “Towards Estimates of Long Term Growth in the Southern Low Countries, ca.1500-1846”, Results presented at the Conference on Quantifying Long Run Economic Development, Venice, 22-24 March, 2011
    ## 6                                                        Scheidel, W. and Friesen, S. J., ‘The size of the economy and the distribution of income in the Roman Empire’, Journal of Roman Studies, 99 (2009), pp. 61–91

How long was each country the leader?

    plot(yearEnd-yearBegin+1~yearBegin, Leaders1, log='y', las=1)

    Leaders1$dYrs0 <- with(Leaders1, yearEnd-yearBegin+1)
    Leaders1$dYrs1 <- c(tail(Leaders1$yearBegin, -1) - head(Leaders1$yearEnd, -1),
                        NA)
    Leaders1

    ##    yearBegin yearEnd    gdppc0     gdppc1 ISO dyear0 dyear1 dYrs0 dYrs1
    ## 1          1       1  1407.000   1407.000 ITA      1    729     1   729
    ## 2        730    1000  1466.000   1307.000 IRQ    271     90   271    90
    ## 3       1090    1150  1221.711   1180.959 CHN     61    102    61   102
    ## 4       1252    1275  1320.000   1304.000 GBR     24      1    24     1
    ## 5       1276    1277  1366.393   1417.405 FRA      2      1     2     1
    ## 6       1278    1296  1346.637   1422.398 ESP     19      1    19     1
    ## 7       1297    1297  1375.486   1375.486 FRA      1      1     1     1
    ## 8       1298    1301  1368.422   1352.596 ESP      4      1     4     1
    ## 9       1302    1303  1608.395   1506.408 FRA      2      1     2     1
    ## 10      1304    1304  1463.000   1463.000 SWE      1      1     1     1
    ## 11      1305    1307  1475.734   1512.613 ESP      3      1     3     1
    ## 12      1308    1310  1580.197   1548.042 FRA      3      1     3     1
    ## 13      1311    1316  1446.525   1384.888 ESP      6      1     6     1
    ## 14      1317    1319  1478.000   1451.000 SWE      3      1     3     1
    ## 15      1320    1324  1394.176   1321.890 ESP      5      1     5     1
    ## 16      1325    1331  1433.000   1486.000 SWE      7      1     7     1
    ## 17      1332    1334  1536.290   1568.650 ESP      3      1     3     1
    ## 18      1335    1336  1611.267   1502.946 FRA      2      1     2     1
    ## 19      1337    1340  1479.107   1588.135 ESP      4      1     4     1
    ## 20      1341    1341  1749.107   1749.107 FRA      1      1     1     1
    ## 21      1342    1343  1690.944   1612.788 ESP      2      1     2     1
    ## 22      1344    1344  1566.623   1566.623 FRA      1      1     1     1
    ## 23      1345    1348  1625.028   1480.181 ESP      4      1     4     1
    ## 24      1349    1356  1459.893   1742.424 NLD      8      1     8     1
    ## 25      1357    1357  2087.454   2087.454 FRA      1      1     1     1
    ## 26      1358    1361  1744.207   1780.749 NLD      4      1     4     1
    ## 27      1362    1363  2006.937   1751.124 FRA      2      1     2     1
    ## 28      1364    1364  1726.381   1726.381 NLD      1      1     1     1
    ## 29      1365    1366  1946.410   1787.717 FRA      2      1     2     1
    ## 30      1367    1371  1901.961   1942.959 NLD      5      1     5     1
    ## 31      1372    1372  2092.925   2092.925 FRA      1      1     1     1
    ## 32      1373    1373  1926.916   1926.916 NLD      1      1     1     1
    ## 33      1374    1374  1797.091   1797.091 FRA      1      1     1     1
    ## 34      1375    1450  1903.743   2201.426 NLD     76      1    76     1
    ## 35      1451    1451  2529.992   2529.992 ITA      1      1     1     1
    ## 36      1452    1467  2276.292   2292.335 NLD     16      1    16     1
    ## 37      1468    1468  2263.000   2263.000 SWE      1      1     1     1
    ## 38      1469    1499  2278.075   2360.071 NLD     31      1    31     1
    ## 39      1500    1500  2338.000   2338.000 BEL      1      1     1     1
    ## 40      1501    1501  2549.070   2549.070 ITA      1      1     1     1
    ## 41      1502    1508  2329.768   2461.676 NLD      7      1     7     1
    ## 42      1509    1509  2570.000   2570.000 SWE      1      1     1     1
    ## 43      1510    1807  2439.394   3862.745 NLD    298      1   298     1
    ## 44      1808    1852  3250.000   4626.000 GBR     45      1    45     1
    ## 45      1853    1853  4798.000   4798.000 AUS      1      1     1     1
    ## 46      1854    1872  4909.000   5769.000 GBR     19      1    19     1
    ## 47      1873    1874  6107.000   6126.000 NZL      2      1     2     1
    ## 48      1875    1881  6596.000   7101.000 AUS      7      1     7     1
    ## 49      1882    1882  6557.846   6557.846 USA      1      1     1     1
    ## 50      1883    1891  7133.000   7438.000 AUS      9      1     9     1
    ## 51      1892    1893  7324.063   6834.250 USA      2      1     2     1
    ## 52      1894    1894  6851.000   6851.000 GBR      1      1     1     1
    ## 53      1895    1895  7159.506   7159.506 USA      1      1     1     1
    ## 54      1896    1896  7211.000   7211.000 GBR      1      1     1     1
    ## 55      1897    1897  7406.342   7406.342 USA      1      1     1     1
    ## 56      1898    1898  7500.000   7500.000 GBR      1      1     1     1
    ## 57      1899    1930  7959.150  10694.982 USA     32      1    32     1
    ## 58      1931    1934 10055.485   9997.376 CHE      4      1     4     1
    ## 59      1935    1949  9680.839  14196.672 USA     15      1    15     1
    ## 60      1950    1952 48436.000  47990.000 QAT      3      1     3     1
    ## 61      1953    1957 49989.000  50126.000 KWT      5      1     5     1
    ## 62      1958    1964 50042.000  42186.000 QAT      7      1     7     1
    ## 63      1965    1965 41705.000  41705.000 ARE      1      1     1     1
    ## 64      1966    1980 50660.000  45860.000 QAT     15      1    15     1
    ## 65      1981    1984 42456.000  32135.000 ARE      4      1     4     1
    ## 66      1985    1990 33023.000  36982.000 USA      6      1     6     1
    ## 67      1991    1995 39198.299  40838.565 LUX      5      1     5     1
    ## 68      1996    2002 43133.143  58840.414 NOR      7      1     7     1
    ## 69      2003    2022 62234.214 149171.106 QAT     20     NA    20    NA

    tail(Leaders1)

    ##    yearBegin yearEnd   gdppc0    gdppc1 ISO dyear0 dyear1 dYrs0 dYrs1
    ## 64      1966    1980 50660.00  45860.00 QAT     15      1    15     1
    ## 65      1981    1984 42456.00  32135.00 ARE      4      1     4     1
    ## 66      1985    1990 33023.00  36982.00 USA      6      1     6     1
    ## 67      1991    1995 39198.30  40838.56 LUX      5      1     5     1
    ## 68      1996    2002 43133.14  58840.41 NOR      7      1     7     1
    ## 69      2003    2022 62234.21 149171.11 QAT     20     NA    20    NA

    MadDat1600 <- subset(MaddisonData::MaddisonData, year>1600)
    Leaders1600 <- MaddisonData::MaddisonLeaders(c('ARE', 'KWT', 'QAT'),
                                   data=MadDat1600)

    table(Leaders1600$ISO)

    ##
    ## ARE AUS CHE GBR KWT LUX NLD NOR NZL QAT USA
    ##   2   3   1   5   1   1   1   1   1   4   7

    Leaders1600d <- subset(MaddisonData, ISO %in% names(table(Leaders1600$ISO)))
    plotLeaders1600 <- MaddisonData::ggplotPath(y='gdppc', group='ISO',
                            data=Leaders1600d, scaley=1000)

    plotLeaders1600 + ggplot2::xlim(1601, 2022)

    ## Warning: Removed 604 rows containing missing values or values outside the scale range
    ## (`geom_path()`).

Are the three lines before 1800 `NLD`, `GBR`, and `USA`?

    NLD_GBR_USAd <- subset(MaddisonData, ISO %in% c("NLD", 'GBR', 'USA'))

    NLD_GBR_USA <- ggplotPath(y='gdppc', group='ISO',
                            data=NLD_GBR_USAd, scaley=1000)

    NLD_GBR_USA + ggplot2::xlim(1301, 2022)

    ## Warning: Removed 50 rows containing missing values or values outside the scale range
    ## (`geom_path()`).

    NLD_GBR_USA + ggplot2::xlim(1601, 2022)

    ## Warning: Removed 603 rows containing missing values or values outside the scale range
    ## (`geom_path()`).

The first two observations in these data are for 1000 and 1252. The two biggest events in that period are the Norman Conquest and the `Magna Carta`. Dates are conveniently given in the Wikipedia article on “Timeline of English history”.

    UKevents1 <- matrix(c(
      "1066-10-14", "Norman Conquest",
      '1215-06-16', 'Magna Carta'
    ), ncol=2)

Let’s zoom in on 1250 to 1350.

    GBRgdppc + ggplot2::coord_cartesian(xlim=c(1250, 1350), ylim=c(0.9, 2))

`GDPpc` declines from 1252 to around 1290 then rebounds until around 1300, when it mostly stops growing until around 1349, the year after the Black Death arrived in England.

    UKevents2 <- rbind(UKevents1,
      c("1348-06", "Black Death") )

    GBR <- subset(MaddisonData, (ISO == 'GBR') & (1347<year) & (year<1451))
    (GBRpop <-

        plotMaddison('GBR', 'pop'))

    head(GBRpop@data)

The first three years for which the Maddison project has data on population are 1, 1000, and 1500. The Wikipedia article on the Black Death quotes Geoffrey the Baker as having written in 1350, “The seventh year after it began, it came to England … . [It] so wasted the people that scarce the tenth person of any sort was left alive.” Clearly, no such population crash appears in these data.

    GBRgdppc + ggplot2::coord_cartesian(xlim=c(1300, 1700), ylim=c(0.98, 2.7))

`GDPpc` grew until around 1390 and then was mostly flat until 1649.

    GBRgdppc + ggplot2::coord_cartesian(xlim=c(1380, 1400), ylim=c(1.5, 2))

I don’t know what happened around 1390. Richard II ruled from 1377 to 1399. The British economy was stagnant until close to the time that King Charles I was beheaded 1649-01-30.

Let’s zoom on on various parts of this history.

    GBRgdppc + ggplot2::coord_cartesian(xlim=c(1640, 1700), ylim=c(1.5, 3))
    GBRgdppc + ggplot2::coord_cartesian(xlim=c(1640, 1730), ylim=c(1.5, 3))
    GBRgdppc + ggplot2::coord_cartesian(xlim=c(1640, 1920), ylim=c(1.5, 9))
    GBRgdppc + ggplot2::coord_cartesian(xlim=c(1900, 2022), ylim=c(6, 40))
    GBRgdppc + ggplot2::coord_cartesian(xlim=c(2000, 2022), ylim=c(30, 40))

    UKevents3 <- rbind(UKevents2,
      c("1377-06-21", "King Richard II"),
      c('1399-09-40', 'King Henry IV'),
      c('1413-03-21', 'King Henry V'),
      c('1422-09-01', 'King Henry VI'),
      c('1461-03-04', 'King Edward IV'),
      c('1483-04-09', 'King Edward V'),
      c('1483-06-26', 'King Richard III'),
      c('1485-08-22', 'House of Tudor'),
      c('1603-03-24', 'King James I'),
      c('1625-03-27', 'King Charles I'),
      c('1649-02-14', 'Lord Protector Oliver Cromwell'),
      c('1658-09-03', 'Lord Protector Richard Cromwell'),
      c('1660-05-29', 'King Charles II'),
      c('1685-02-06', 'King James II'),
      c('1689-01-01', 'William and Mary'),
      c('1702-03-01', 'Queene Ann'),
      c('1714-08-01', 'King George I'),
      c('1722-06-22', 'King George II'),
      c('1760-10-25', 'King George III'),
      c('1820-01-29', 'King George IV'),
      c('1830-06-29', 'King William IV'),
      c('1837-06-20', 'Queen Victoria'),
      c('1901-01-22', 'King Edward VII'),
      c('1910-05-06', 'King George V'),
      c('1936-01-20', 'King Edward VIII'),
      c('1936-12-11', 'King George VI'),
      c('1952-02-06', 'Queen Elizabeth II'),
      c('1997-05-02', 'PM Tony Blair'),
      c('2007-06-27', 'PM Gordon Brown'),
      c('2010-05-11', 'PM David Cameron'),
      c('2016-07-13', 'PM Theresa May'),
      c('2019-07-22', 'PM Boris Johnson'),
      c('2022-09-06', 'PM Liz Truss')
      )

## Maddison sources

Let’s get the sources that the Maddison Project says we should cite if we want to publish a plot like this:

    (GBRsources <- MaddisonData::getMaddisonSources('GBR'))
    # the print method for a tibble does not print all;
    # convert to a data.frame:
    as.data.frame(GBRsources)

Before we publish a plot like this we want to annotate it with major events, especially transitions in head of state …

## Bibliography

Acemoglu and Robinson (2012) Why Nations Fail (Crown)

Broadberry, S.N., B. Campbell, A. Klein, M. Overton and B. van Leeuwen (2015), British Economic Growth 1270-1870 (Cambridge: Cambridge University Press) for England 1252-1700 and for Great Britain 1700-1870.

Conference Board: Total Economy Database (TED) for GDP `pc` since 2008 and population since 1990.

Scheidel, W. and Friesen, S. J., ‘The size of the economy and the distribution of income in the Roman Empire’, Journal of Roman Studies, 99 (2009, pp. 61–91) for the population at year 1.