DOI: 10.5281/zenodo.15980516
title: The Reindeer Rebellion: Institutional Forced Migration Cloaked in the Language of Reconciliation

description: Dataset and Analysis Code

Authors: [Anon until Published]

DOI: https://doi.org/10.5281/zenodo.17619998

Paper Citation: [Full citation to be added upon publication]

OVERVIEW

This dataset contains forestry permit data from Sweden (1995-2024) and analysis code used to evaluate the impact of the 2020 Girjas Supreme Court decision on clearcutting patterns in Sámi reindeer herding territories. The analysis employs Chow structural break tests to assess whether legal recognition of Indigenous land rights altered forestry governance behavior.

Key Finding: The Girjas decision (January 23, 2020) produced statistically significant reductions in clearcutting permits in Sámi-dominant regions, but did not transfer jurisdictional authority to Sámi communities—demonstrating what we term "symbolic governance."

FILES INCLUDED

Data Files



Girjas.csv - Clearcutting Pressure Index (CPI) data by region and year (1995-2024)



Source: Swedish Forest Agency (Skogsstyrelsen) statistical database

Variables: Region, Years (1995-2024), CPI per 1,000 hectares productive forest land

12 regions × 30 years = 360 observations




Analysis Files



sami.ipynb - Main analysis notebook (Chow structural break test for 2020)

robustness_check.ipynb - Robustness check notebook (tests alternative break years 2018-2022)


Documentation



README.md - This file

METHODOLOGY.md - Detailed explanation of Chow test methodology

CODEBOOK.md - Variable definitions and data dictionary


HOW TO USE THIS DATASET

Option 1: Run Analysis in Google Colab (Recommended - No Installation Required)

Google Colab is a free cloud-based Jupyter notebook environment that requires no software installation. All code runs in your browser.

Step 1: Access Google Colab



Go to https://colab.research.google.com/

Sign in with your Google account (free accounts work fine)


Step 2: Upload the Notebook

For Main Analysis (sami.ipynb):



In Google Colab, click File → Upload notebook

Click Choose File and select sami.ipynb from this dataset

The notebook will open in a new tab


For Robustness Check (robustness_check.ipynb):



Repeat the same process with robustness_check.ipynb


Step 3: Upload the Data File



In the left sidebar, click the folder icon (📁) to open the file browser

Click the upload icon (📄 with up arrow)

Select Girjas.csv from this dataset

Wait for upload to complete (file will appear in the file browser)


IMPORTANT: You must upload Girjas.csv for BOTH notebooks separately. Google Colab does not persist files between sessions.

Step 4: Run the Analysis

For sami.ipynb (Main Analysis):



Click Runtime → Run all to execute all cells

The analysis will:



Load and clean the data

Perform Chow structural break test for year 2020

Generate results table with F-statistics and p-values

Create visualization plots

Export results to chow_test_results_complete.csv



Expected runtime: 10-30 seconds

Outputs:



Console output with formatted results tables

Two PNG files: Figure1_CPI_AllRegions.png and Figure1_KeyRegions.png

CSV file: chow_test_results_complete.csv




For robustness_check.ipynb (Robustness Analysis):



Click Runtime → Run all

The analysis will:



Load the same data

Test structural breaks for years 2018, 2019, 2020, 2021, 2022

Compare results across years to confirm 2020 temporal specificity

Export results to robustness_alternative_years.csv



Expected runtime: 15-45 seconds

Outputs:



Console output with year-by-year comparison

Interpretation guidance for publication

CSV file: robustness_alternative_years.csv




Step 5: Download Results



After running, generated files appear in the left sidebar file browser

Right-click any file → Download to save to your computer

CSV files can be opened in Excel, Google Sheets, or statistical software


Option 2: Run Locally (Advanced Users)

Requirements:



Python 3.7+

Jupyter Notebook or JupyterLab

Required packages: pandas, numpy, scipy, statsmodels, matplotlib


Installation:

pip install pandas numpy scipy statsmodels matplotlib jupyter


Running:

# Navigate to dataset directory
cd path/to/dataset

# Launch Jupyter
jupyter notebook

# Open sami.ipynb or robustness_check.ipynb in browser
# Click "Run All" to execute


INTERPRETING THE RESULTS

Main Analysis (sami.ipynb)

Output Table Structure:

Region                          Chow F    p-value   Sig.   Pre-2020  Post-2020  Change
------------------------------------------------------------------------------------------
00 Hela landet Samtliga         10.98     <0.001    Yes      81.5      29.2    -52.3
25 Norrbottens Samtliga          3.72     0.038     Yes      73.2      28.1    -45.1
Norra Norrland Samtliga          8.60     0.001     Yes      76.6      21.8    -54.8


How to Read:



Chow F: F-statistic for structural break test (higher = stronger break)

p-value: Statistical significance (p < 0.05 = significant)

Sig.: "Yes" if p < 0.05, "No" otherwise

Pre-2020: Average CPI before Girjas decision

Post-2020: Average CPI after Girjas decision

Change: Absolute change (negative = decline in clearcutting)


Key Findings:



National level: Significant break (F=10.98, p<0.001), 64% decline in CPI

Norrbotten (Girjas region): Significant break (F=3.72, p=0.038), 62% decline

Norra Norrland (broader Sámi territory): Significant break (F=8.60, p=0.001), 72% decline

State forestry lands: Significant breaks

Private forestry lands: No significant breaks (suggests behavioral mechanism operates through litigation risk for state agencies)


Robustness Check (robustness_check.ipynb)

Purpose: Confirms that 2020 is the relevant break year rather than adjacent years (2018, 2019, 2021, 2022).

Output Structure:

Year    F-Stat    p-value    Significant
------------------------------------------
2018     6.85     0.0041         Yes
2019     6.36     0.0057         Yes
2020     4.83     0.0165         Yes  ← GIRJAS
2021     3.72     0.0381         Yes
2022     3.41     0.0483         Yes


Important Note on Robustness Results: The robustness check reveals that multiple years show significant breaks, suggesting a continuous declining trend rather than a discrete 2020 shock. This pattern is consistent with:



Anticipatory governance effects (forestry agencies became cautious before the ruling)

Girjas as catalytic event (formalized and legitimized existing caution)

Peak effect in 2020 (highest F-statistics in Norra Norrland: F=29.93)


This complexity strengthens rather than weakens the "symbolic governance" argument: legal recognition performs constraint without redistributing substantive authority.

METHODOLOGY SUMMARY

Chow Structural Break Test

What it tests: Whether the statistical relationship between time and clearcutting intensity changed significantly at a specific year (the "break point").

How it works:



Fits three linear regression models:



Pooled model: Assumes no change across entire time period (1995-2024)

Pre-break model: Fits data before break year

Post-break model: Fits data after break year



Compares fit quality using Residual Sum of Squares (RSS)

Calculates F-statistic: measures whether separate models fit significantly better than pooled model

Derives p-value from F-distribution


Formula:

F = [(RSS_pooled - (RSS_pre + RSS_post)) / k] / [(RSS_pre + RSS_post) / (n1 + n2 - 2k)]

Where:
  k = number of parameters (2: intercept + slope)
  n1 = observations before break
  n2 = observations after break


Interpretation:



p < 0.05: Statistically significant structural break (trend changed at that year)

p ≥ 0.05: No significant break (trend remained consistent)


Significance threshold: α = 0.05 (95% confidence level)

DATA SOURCE AND PROVENANCE

Original Data Source: Swedish Forest Agency (Skogsstyrelsen) public statistical database:



Table: "Ansökan om tillstånd till föryngringsavverkning inom fjällnära skog efter region och ägarkategori. År 1995–"

Translation: "Applications for clearcut felling permits in mountain-near forests by region and owner category. Years 1995–"

URL: https://www.skogsstyrelsen.se/statistik/


Data Collection:



Accessed: January 2025

Coverage: 1995-2024 (30 years)

Regions: 12 Swedish forestry regions

Standardization: CPI calculated as permits per 1,000 hectares productive forest land


Data Processing:



Downloaded raw permit counts by region and year

Obtained productive forest land area by region from Swedish Forest Agency

Calculated Clearcutting Pressure Index (CPI) = (permits / forest area) × 1000

Cleaned and validated data for missing values and outliers


Data Quality:



Government-reported statistics (high reliability)

Complete coverage for all regions and years

No missing values for key variables


REPRODUCIBILITY

All analyses are fully reproducible:



Data: Publicly available from Swedish Forest Agency (source URLs provided)

Code: Complete analysis code provided in notebooks

Environment: Google Colab ensures consistent computing environment

Documentation: Detailed methodology and interpretation guidance included


To reproduce:



Download this dataset from Zenodo

Follow "How to Use" instructions above

Run notebooks in Google Colab

Results should match those reported in the paper


Version Control:



Python: 3.10+ (Google Colab default)

pandas: 1.5+

statsmodels: 0.13+

scipy: 1.9+


CITATION

If you use this dataset or code, please cite:

Dataset:

[Full dataset citation to be added upon publication in Organization Studies]


Paper:

[Full paper citation to be added upon publication in Organization Studies]


LICENSE

Data: CC BY 4.0 (Creative Commons Attribution 4.0 International)



You are free to: share, adapt, and build upon this data

You must: give appropriate credit and indicate if changes were made


Code: MIT License



Free to use, modify, and distribute

Attribution required


SUPPORT AND CONTACT

Questions about the data or analysis:



Open an issue on [GitHub repository link if applicable]

Contact: [corresponding author email]


Questions about the paper:



See published paper for detailed methodology and interpretation

Contact corresponding author for clarifications


Technical issues with Google Colab:



See Google Colab documentation: https://colab.research.google.com/notebooks/intro.ipynb

Most issues resolve by: clearing runtime (Runtime → Restart runtime) and re-uploading data


TROUBLESHOOTING

Problem: "NameError: name 'df_long' is not defined"



Solution: You forgot to upload Girjas.csv. Upload it using the file browser (📁 icon in left sidebar).


Problem: "FileNotFoundError: [Errno 2] No such file or directory: 'Girjas.csv'"



Solution: Make sure Girjas.csv is uploaded to the Colab session. Files don't persist between sessions.


Problem: Notebook runs but produces no output



Solution: Click inside a cell and press Shift+Enter to run individual cells, or use Runtime → Run all


Problem: Plots don't display



Solution: Ensure matplotlib is imported. This is handled automatically in provided notebooks.


Problem: Results differ slightly from paper



Solution: Minor numerical differences (<0.01) may occur due to floating-point precision. Substantive findings should match.


Problem: Can't download generated files



Solution: Right-click the file in the left sidebar file browser → Download. If files don't appear, check that the cell finished running (no spinning icon).


ACKNOWLEDGMENTS

This research was supported by [funding sources]. Data provided by the Swedish Forest Agency (Skogsstyrelsen). We thank [acknowledgments] for feedback and support.

VERSION HISTORY



v1.0 (January 2025): Initial release with main analysis and robustness check

Future versions will be documented here if dataset is updated


Last Updated: January 2025 Maintained by: Scott Brown (corresponding author)