Back to Governance & Growth

Methodology & Data Sources

How we merged political regime data with economic indicators, and how we handle edge cases like German reunification and Soviet succession.

Data Sources

Polity5 Project

Political regime characteristics and transitions from the Center for Systemic Peace (CSP).

  • Version: p5v2018 (2018 annual update)
  • Coverage: 1800–2018
  • Countries: 167 sovereign states
  • Format: Excel (p5v2018.xls)
Key Variables:
  • polity2 – Combined polity score (−10 to +10)
  • democ – Institutionalized democracy (0–10)
  • autoc – Institutionalized autocracy (0–10)
  • durable – Years since last regime change
  • xrreg – Executive recruitment regulation
  • xrcomp – Executive recruitment competitiveness
  • xropen – Executive recruitment openness
  • xconst – Executive constraints
  • parreg – Political participation regulation
  • parcomp – Political participation competitiveness
View Polity Project

Penn World Table

International income and price comparisons from the Groningen Growth and Development Centre.

  • Version: PWT 10.01
  • Coverage: 1950–2019
  • Countries: 183 economies
  • Format: CSV, Excel, Stata
Key Variables Used:
  • rgdpna – Real GDP at constant national prices
  • pop – Population (millions)
  • emp – Employment (millions)
  • hc – Human capital index
  • ctfp – Total factor productivity
View PWT Database

Merge Process

Inner Join on ISO3 + Year

We merge the two datasets using an inner join on country code (ISO 3166-1 alpha-3) and year. This means we only include country-year observations that exist in both datasets.

# Python merge logic (simplified)
merged = pd.merge(
    pwt_data,
    polity_data,
    left_on=['countrycode', 'year'],
    right_on=['scode', 'year'],
    how='inner'
)
~12,500
Country-Year Observations
~165
Countries Matched
1950–2018
Year Range

Dropped Observations

Some country-years exist in one dataset but not the other. For example, PWT has data for small island nations that Polity5 doesn't track (e.g., Antigua and Barbuda), while Polity5 has historical data before 1950 that PWT doesn't cover.

Special Case Handling

🇩🇪 Germany

Challenge: Germany was divided into West Germany (FRG) and East Germany (GDR) from 1949 to 1990, then reunified.

Solution: We use West Germany (code: DEU in PWT,GMW in Polity5) for years 1950–1989, then unified Germany (DEU) from 1990 onward. East Germany is excluded due to limited comparable economic data.

# Mapping logic
if year < 1990:
    # Use West Germany
    polity_code = 'GMW'  # Polity5 West Germany
    pwt_code = 'DEU'     # PWT has only unified code
else:
    # Use unified Germany
    polity_code = 'GMY'  # Polity5 unified
    pwt_code = 'DEU'

🇰🇷 Korea

Challenge: Korea has been divided since 1948. North Korea has extremely limited economic data availability.

Solution: We include only South Korea (KOR) in our analysis. The country label "Korea, Rep." refers exclusively to South Korea. North Korea (PRK) is excluded due to data limitations.

🇷🇺 USSR → Russia

Challenge: The Soviet Union dissolved in 1991, creating 15 independent states. Russia is the successor state with continuity claims.

Solution: We map the USSR (USR) to Russia (RUS) for continuity in time series analysis. Post-1991 successor states (Ukraine, Kazakhstan, etc.) are treated as separate entities from their independence dates.

# USSR succession mapping
successor_states = {
    'USR': 'RUS',  # Russia inherits USSR history
    # New states from 1991:
    'UKR': 1991,   # Ukraine
    'KAZ': 1991,   # Kazakhstan
    'BLR': 1991,   # Belarus
    'UZB': 1991,   # Uzbekistan
    # ... etc
}

🇷🇸 Yugoslavia Successor States

Challenge: Yugoslavia dissolved through the 1990s into seven independent states (Slovenia, Croatia, Bosnia, Serbia, Montenegro, North Macedonia, Kosovo).

Solution: Yugoslavia (YUG) is mapped to Serbia (SRB) as the primary successor for continuity. Other successor states begin their series from their independence dates:

  • Slovenia (SVN): 1991
  • Croatia (HRV): 1991
  • Bosnia and Herzegovina (BIH): 1992
  • North Macedonia (MKD): 1991
  • Montenegro (MNE): 2006
  • Kosovo (XKX): 2008 (limited data)

Polity5 Special Codes

Polity5 uses special codes (−66, −77, −88) for years when standard scoring doesn't apply:

CodeMeaningOur Handling
−66Interruption (foreign occupation, civil war)Treated as missing; excluded from averages
−77Interregnum (collapse of central authority)Treated as missing; marked in visualizations
−88Transition (regime change in progress)Included; shown as "transition" category

Citations

Polity5

Marshall, Monty G. and Ted Robert Gurr. 2020. "Polity5: Political Regime Characteristics and Transitions, 1800-2018." Center for Systemic Peace.www.systemicpeace.org

Penn World Table

Feenstra, Robert C., Robert Inklaar and Marcel P. Timmer (2015), "The Next Generation of the Penn World Table", American Economic Review, 105(10), 3150-3182.www.rug.nl/ggdc/productivity/pwt

Background Reading

  • • Huntington, Samuel P. (1991). The Third Wave: Democratization in the Late Twentieth Century. University of Oklahoma Press.
  • • Przeworski, Adam, et al. (2000). Democracy and Development: Political Institutions and Well-Being in the World, 1950-1990. Cambridge University Press.
  • • Acemoglu, Daron, et al. (2019). "Democracy Does Cause Growth."Journal of Political Economy, 127(1), 47-100.