DOI: 10.5281/zenodo.17683978
title: Stable But Escapable: Heterogeneous Property Rights Trajectories in Spanish Civil

description: Dataset Description

This dataset accompanies "Symbolic Institutional Traps: Institutional Divergence in Spanish-Speaking Latin America" (under review at Constitutional Political Economy). It provides comprehensive panel data analysis of property rights institutions across 17 Spanish-speaking Latin American countries from 2007-2025, using the International Property Rights Index (IPRI).

Version 2 (November 2025) includes substantial expansion in response to peer review: panel regression analysis, trajectory clustering, and temporal dynamics that demonstrate institutional divergence within the same legal origin family.

What's New in Version 2

Expanded Analysis



Panel data coverage: 17 countries × 19 years = 319 observations

Fixed effects regressions: Pooled OLS, country fixed effects, period effects

Trajectory clustering: K-means and hierarchical clustering identify 4 distinct paths

Country-specific time trends: Annual growth rates for each country

Statistical tests: Variance ratio tests for divergence, ANOVA for cluster differences


Key Findings



Four trajectory clusters identified:



Escapers: Uruguay (+38%), Paraguay (+39%), Costa Rica (+18%), Dominican Republic (+17%)

Decliners: Venezuela (-29%), El Salvador (-15%), Mexico (-4%)

High-Trapped: Chile (stable at ~6.0)

Low-Trapped: Argentina, others (stable at mid-levels)



Significant divergence: Variance increased substantially 2007-2025

Legal origins determinism falsified: Same legal family (Spanish civil law), radically different outcomes


Files in This Dataset

Panel Analysis Outputs (Version 2)

Data Files (CSV)





institutional_changes_2007_2025.csv (17 rows)



Country-level changes between 2007 and 2025

Columns: country_code, ipri_2007, ipri_2025, ipri_change, ipri_pct_change, ppr_2007, ppr_2025, ppr_change, ppr_pct_change





country_specific_slopes.csv (17 rows)



Annual growth rates estimated from country-specific time trends

Columns: country, slope (annual change), annual_change, total_change_2007_2025, r_squared





cluster_membership.csv (17 rows)



Trajectory cluster assignments for each country

Columns: Country, Cluster (Escapers/Decliners/High-Trapped/Low-Trapped), Total_Change_2007_2025, Pct_Change, Annual_Slope, Mean_Level, Volatility




Regression Results



panel_regression_summary.txt



Complete output from all panel regression models

Models: Pooled OLS, Fixed Effects (time trend), Fixed Effects (period dummies), PPR Fixed Effects

Includes coefficients, standard errors, t-statistics, R-squared values




Figures (PNG, 300 DPI)





figure1_temporal_dynamics.png



Two-panel plot showing IPRI and PPR trajectories for all 17 countries (2007-2025)

Use for: Visualizing divergence over time





figure2_change_scatter.png



Scatter plot of 2007 vs 2025 IPRI scores with 45-degree reference line

Use for: Showing which countries improved/declined relative to starting point





figure3_country_slopes.png



Horizontal bar chart of annual growth rates by country

Use for: Comparing rates of institutional change





figure4_optimal_clusters.png



Two-panel plot: Elbow curve and silhouette scores for k-means clustering

Use for: Justifying choice of k=4 clusters





figure5_cluster_analysis.png



Four-panel visualization: Level vs Change, Slope vs Volatility, Start vs End positions, Average % change by cluster

Use for: Understanding cluster characteristics





figure6_dendrogram.png



Hierarchical clustering dendrogram showing country relationships

Use for: Validating k-means results with alternative method





figure7_trajectories_by_cluster.png



Four-panel plot showing temporal trajectories grouped by cluster

Use for: Visualizing within-cluster similarity and between-cluster differences




Version 1 Files (April 2025)



Agricultural_Land_GINI_Coefficients.xlsx - Land inequality data

Clustered_Countries.xlsx - Preliminary clustering results

Correlation_Matrix.xlsx - Bivariate correlations

Descriptive_Statistics_Spanish_Latin_America.xlsx - Summary statistics

heat_map.png - Correlation heatmap

IPRI_with_Spanish_Speaking_Dummy.xlsx - IPRI data with Spanish dummy

Uruguay_vs_Venezuela_Comparison.xlsx - Extreme case comparison

VDEM_with_Spanish_Speaking_Dummy.xlsx - V-Dem democracy indicators

WGI_with_Spanish_Speaking_Dummy.xlsx - World Governance Indicators


Complete Replication Instructions for Google Colab

Prerequisites



Google account (for Google Colab access)

The IPRI dataset: IPRI- 2007 - 2025 data[25].xlsx (available from Property Rights Alliance or contact authors)

Basic familiarity with Python (helpful but not required)


Step-by-Step Replication

Step 1: Set Up Google Colab



Navigate to Google Colab

Sign in with your Google account

Click File → New notebook to create a blank notebook

Name your notebook: Symbolic_Institutional_Traps_Replication


Step 2: Upload the IPRI Data File



On the left sidebar, click the folder icon (Files)

Click the upload button (page icon with up arrow)

Select and upload: IPRI- 2007 - 2025 data[25].xlsx

Wait for the upload to complete (you'll see the file appear in the file list)

IMPORTANT: The file path in Colab will be /content/IPRI- 2007 - 2025 data[25].xlsx



Note the space after "IPRI-" and before "2007"

The script expects this exact path




Step 3: Install Required Python Packages

Create a new code cell and run:

!pip install linearmodels statsmodels scikit-learn seaborn matplotlib pandas numpy scipy openpyxl -q


Wait for installation to complete (~30-60 seconds). You should see "Successfully installed" messages.

Step 4: Run the Analysis



Create a new code cell

Copy the entire contents of CPE_Panel_Analysis_Complete.py from this dataset

Paste into the code cell

Click the play button (▶) or press Shift+Enter to run

Wait for analysis to complete (~2-3 minutes)


What you'll see:



Installation messages

"Data loaded successfully!"

Summary statistics tables

Seven figures appearing sequentially

Regression results

Cluster analysis results

"ANALYSIS COMPLETE!" message


Step 5: Download Results

All output files are automatically saved in Colab's file system. To download:

Option A: Download individually



Click the folder icon on the left sidebar

Locate each output file:



figure1_temporal_dynamics.png through figure7_trajectories_by_cluster.png

institutional_changes_2007_2025.csv

country_specific_slopes.csv

cluster_membership.csv

panel_regression_summary.txt



Right-click each file → Download


Option B: Download all at once

Create a new code cell and run:

from google.colab import files
import os

# Create list of output files
output_files = [
    'figure1_temporal_dynamics.png',
    'figure2_change_scatter.png',
    'figure3_country_slopes.png',
    'figure4_optimal_clusters.png',
    'figure5_cluster_analysis.png',
    'figure6_dendrogram.png',
    'figure7_trajectories_by_cluster.png',
    'institutional_changes_2007_2025.csv',
    'country_specific_slopes.csv',
    'cluster_membership.csv',
    'panel_regression_summary.txt'
]

# Download each file
for filename in output_files:
    if os.path.exists(filename):
        print(f"Downloading {filename}...")
        files.download(filename)
    else:
        print(f"Warning: {filename} not found")


Step 6: Verify Replication

Compare your outputs to the files in this Zenodo dataset:

CSV files should match exactly:



Same countries in same order

Same numerical values (minor floating-point differences acceptable)


Figures should match closely:



Same overall patterns and trends

Colors and labels identical

Minor differences in rendering acceptable


Regression results should match:



Coefficients within 0.001

Standard errors within 0.001

R-squared values within 0.001


Troubleshooting

Error: "FileNotFoundError"



Cause: File path incorrect

Solution: Verify your uploaded file is named exactly: IPRI- 2007 - 2025 data[25].xlsx with the space after "IPRI-"

Alternative: Modify line 54 in the script to match your actual filename


Error: "No module named 'linearmodels'"



Cause: Packages not installed

Solution: Run the pip install command again from Step 3


Error: "MemoryError" or Colab crashes



Cause: Insufficient RAM (rare with this dataset)

Solution: Click Runtime → Restart runtime, then try again


Figures look different



Cause: matplotlib version differences or random seed in clustering

Solution: Patterns and clusters should still be identical; cosmetic differences are acceptable


Different cluster assignments



Cause: K-means uses random initialization

Solution: The script uses random_state=42 for reproducibility, but if results differ, overall patterns should still match (e.g., Uruguay still in "Escapers", Venezuela still in "Decliners")


Expected Runtime



Total execution time: 2-3 minutes

Installation: ~30 seconds

Data loading: <5 seconds

Panel regressions: ~30 seconds

Clustering: ~20 seconds

Visualization: ~60 seconds


System Requirements



Browser: Chrome, Firefox, or Safari (latest versions)

Internet connection: Required throughout (Colab runs on Google servers)

Storage: ~10 MB for input data + ~3 MB for outputs

RAM: Colab provides sufficient memory (12GB standard tier)


Data Sources

Primary Data Source



International Property Rights Index (IPRI) 2007-2025



Source: Property Rights Alliance

URL: https://www.propertyrightsalliance.org/

Coverage: 17 Spanish-speaking Latin American countries

Variables: Overall IPRI, Legal and Political Environment (LP), Physical Property Rights (PPR), Intellectual Property Rights (IPR)




Countries Included

Argentina, Bolivia, Chile, Colombia, Costa Rica, Dominican Republic, Ecuador, El Salvador, Guatemala, Honduras, Mexico, Nicaragua, Panama, Paraguay, Peru, Uruguay, Venezuela

Time Period

Annual observations from 2007-2025 (19 years)

Methodology

Panel Regression Models

Model 1: Pooled OLS

IPRI_it = β₀ + β₁(time_trend) + ε_it


Model 2: Fixed Effects

IPRI_it = α_i + β₁(time_trend) + ε_it


Where α_i are country-specific intercepts

Model 3: Period Effects

IPRI_it = α_i + β₁(post_2015) + β₂(post_2020) + ε_it


Model 4: Physical Property Rights

PPR_it = α_i + β₁(time_trend) + ε_it


All models use clustered standard errors at the country level.

Trajectory Clustering

Features for clustering:



Total change (2007-2025)

Linear trend slope

Volatility (standard deviation of annual changes)

Mean level (2007-2025)


Method: K-means clustering with k=4



Features standardized (z-scores)

Optimal k determined by elbow method and silhouette scores

Random state fixed (42) for reproducibility


Validation: Hierarchical clustering (Ward linkage) confirms k-means results

Statistical Tests





Variance Ratio Test (F-test): Tests for divergence



H₀: Variance₂₀₂₅ = Variance₂₀₀₇

H₁: Variance₂₀₂₅ > Variance₂₀₀₇





ANOVA: Tests for differences between clusters



H₀: All cluster means equal

H₁: At least one cluster differs





Convergence Test: Correlation between initial level and change



Negative correlation → convergence

Positive correlation → divergence




Software and Dependencies

Python Version



Python 3.8 or higher


Required Packages

pandas >= 1.3.0
numpy >= 1.21.0
matplotlib >= 3.4.0
seaborn >= 0.11.0
scikit-learn >= 0.24.0
scipy >= 1.7.0
statsmodels >= 0.13.0
linearmodels >= 4.25
openpyxl >= 3.0.0


All packages are automatically installed by the replication script.

Analysis Script



File: CPE_Panel_Analysis_Complete.py

Lines of code: ~700

Execution time: 2-3 minutes

Platform: Google Colab (recommended) or local Jupyter notebook


License

This dataset is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).

You are free to:



Share: Copy and redistribute the material

Adapt: Remix, transform, and build upon the material


Under the following terms:



Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made


Full license text: https://creativecommons.org/licenses/by/4.0/

Contact

Scott BrownProfessor of FinanceUniversity of Puerto Rico, Río PiedrasResearch Affiliate, University of Granada (Erasmus+)

Email: scott.brown@upr.eduORCID: https://orcid.org/0000-0001-6432-9516 

For questions about:



Data: Contact Scott Brown

Replication: Open an issue on [GitHub repository if you create one]

Methodology: See paper (under review at Constitutional Political Economy)


Acknowledgments

This research was conducted as part of a revise-and-resubmit process at Constitutional Political Economy. We thank the editor and anonymous reviewers for constructive feedback that substantially improved the empirical analysis.

Data collection was supported by the University of Puerto Rico and the University of Granada (Erasmus+ mobility program).

Version History

Version 2 (November 2025)



Added panel data analysis (2007-2025)

Added trajectory clustering (k-means and hierarchical)

Added country-specific time trends

Added 7 publication-ready figures

Added complete replication code

Responds to Constitutional Political Economy R&R


Version 1 (April 2025)



Initial cross-sectional analysis

Descriptive statistics and correlations

Preliminary clustering

Heat map visualization


Funding

No external funding was received for this research.

Conflicts of Interest

The authors declare no conflicts of interest.

How to Get the IPRI Data

The raw IPRI data used in this analysis is publicly available from:

Property Rights AllianceWebsite: https://www.propertyrightsalliance.org/Data access: Free download, registration may be required

Alternatively, contact the authors for the specific extract used in this analysis.

Related Resources



Property Rights Alliance: https://www.propertyrightsalliance.org/

World Bank Governance Indicators: https://www.worldbank.org/en/publication/worldwide-governance-indicators

V-Dem Democracy Indices: https://www.v-dem.net/

Google Colab: https://colab.research.google.com/


Updates and Corrections

If you discover errors or have suggestions for improvement, please contact the corresponding author. We welcome feedback from the research community.

Last updated: November 22, 2025

FAIR Data Principles Compliance

This dataset adheres to FAIR principles:



Findable: Unique DOI, comprehensive metadata, indexed by multiple services

Accessible: Free download, persistent URL, open license

Interoperable: Standard file formats (CSV, XLSX, PNG, TXT), documented structure

Reusable: Clear license (CC BY 4.0), complete documentation, replication code provided


Keywords

institutional economics, property rights, panel data, Latin America, trajectory clustering, legal origins, path dependence, institutional divergence, fixed effects, time series, Spanish civil law, IPRI, constitutional political economy

This dataset supports open science practices by providing complete data, code, and documentation necessary for independent replication and extension of our findings.