# Methods — Germany’s far right has three maps. How often do they overlap?

## Research question and evidence boundary

This side story asks whether three recorded forms of far-right activism—music events, protests and violence—appear as isolated county-level events or recur and overlap as a local activity system. The primary empirical unit is the county-year. The analysis covers 400 German counties and independent cities on fixed 2024 administrative boundaries for 2013–2024, yielding a balanced 4,800-row panel. A second descriptive layer aggregates the same records to the 16 Länder. The electoral extension separates a seven-event Bundestag archive for 2002–2025 from the numerical analysis: named-party AfD results are admitted from 2013, and six Bundestag or European Parliament elections can be linked to preceding-year activity on the 396-region stable geography supplied by IP-CURRENT-RESEARCH.

The publication date gives the analysis unusual political salience but does not extend its evidence. As of 3 September 2026, four German elections were imminent: the Sachsen-Anhalt Landtag election on 6 September, the Lower Saxony municipal elections on 13 September, and the Berlin Abgeordnetenhaus and Mecklenburg-Vorpommern Landtag elections on 20 September. Those dates come from official election authorities and are context only. FARAC ends on 31 December 2024. The electoral extension measures historical AfD valid-vote shares through the Bundestag election of 23 February 2025; it does not measure the 2026 campaign, current activism after 2024, or an effect of activism on election results.

The strongest permissible conclusion is associational: observed co-location, persistence, temporal sequencing and ecological vote correlations can be consistent with a local ecosystem embedded in a wider political geography. They cannot show that concerts cause protests or violence, or that recorded activism persuades people to vote for the AfD. Shared organizer networks, local political conditions, population composition, reporting intensity, spatial spillovers, reverse timing and other unmeasured factors can generate the same patterns.

## Data acquisition, version and licensing

The four requested FARAC files were taken from the Zenodo deposit by Markus Lang and Lotta Mayer, *FARAC — Far-Right Activism in Germany, 2013–2024*, DOI `10.5281/zenodo.21041488`:

- `far_right_activism_panel.csv`, SHA-256 `5388abcbcfc82de018277da7a5421601c45e37866f6bb6ddab8f4b29de5e7b0b`;
- `music_protest_monthly.csv`, SHA-256 `15e9d5f0c00e4192a0ec2398068b829e4d884a1630f69ffb967f97df2875242f`;
- `violence_county_year.csv`, SHA-256 `644bb50c0c5cead00f6fc44bd2c4538ecd01a05be32935473b8f321c52430106`;
- `county_boundaries_2024.gpkg`, SHA-256 `6a0dac80501c3939f556d9dcbf3fdf3c086c777801b895614cc53e6585b96603`.

The event-level `protest_events.csv`, which is required for multi-county checks, was also retained from the same deposit; its SHA-256 is `a8756a8d2cf2bdbb1de72afdd6193e04bbabf0236e29c0e9ae0bc2bcf8fd9285`.

The deposited dataset, CSVs, GeoPackage and codebooks are released under Creative Commons Attribution 4.0 International (CC-BY 4.0). Attribution should name Lang and Mayer and cite the DOI. The accompanying replication pipeline is MIT-licensed and was pinned at Git commit `369ce5e9d1978b705b18200a7941aea6e44165a0` from `https://github.com/markushlang/farac`. The replication repository does not redistribute all raw upstream inputs. In particular, the FARAC release omits event point coordinates because the BKG *Hauskoordinaten* terms do not permit their redistribution in this form. The distributed 2024 county boundaries and county assignments are sufficient for this analysis.

Historical voting inputs and the governed geography crosswalks were frozen from the private `Schym/IP-CURRENT-RESEARCH` repository at commit `898c7a56f6076570e677a1ab04f964d950abf8a8`. The governed event scope identifies Bundestag elections in 2002, 2005, 2009, 2013, 2017, 2021 and 2025. The retained numerical extracts contain AfD second-vote counts and valid-second-vote denominators only for 2013, 2017, 2021 and 2025, plus AfD votes and valid-vote denominators for the 2014, 2019 and 2024 European Parliament elections. The package also supplies the fixed-2024 400-county-to-396-region crosswalk used by FARAC and the official Bundestag 2025 401-Kreis-to-396-region crosswalk. The earlier Bundestag named-party share product is retained as a cross-check, not as the calculation base.

The distinction is governed rather than inferred from a missing file. Frozen Specs 004A and 017A admit election identity and party-label metadata for 2002, 2005 and 2009 but authorize zero numerical outcome rows. They record `NO_ADMITTED_SOURCE_ROUTE` for national and Land results and prohibit a Wahlkreis-to-administrative-Kreis conversion (`WAHLKREIS_IS_NOT_KREIS`). The AfD did not exist for those elections. Historical NPD/Die Heimat, REP and DVU labels are therefore not treated as AfD predecessors or pooled into a new “far-right vote” estimand. Empty historical values remain unavailable, never zero.

The 2025 source is the Federal Returning Officer's final `btw2025kreis.csv`, dated 30 April 2025 and authenticated in the repository with SHA-256 `5a3fe4461cd6cfad585d0dc5495d8b022d3a05909cd95c6863c6498357fdbdf1`. The governed panel contains 11,484 rows—396 stable regions by 29 named second-vote labels—and the AfD is bound to `stable_party_id = afd`. Its source-admission and panel validations both pass without errors or warnings: 401 source rows and 396 stable rows conserve all vote identities, and all 63 published national controls reconcile at zero tolerance. In particular, 10,328,780 AfD second votes and 49,649,512 valid second votes reproduce an official national AfD share of 20.8034%.

Every local extract is registered with its repository path, Git blob identifier, SHA-256, row count and extraction rule in the source receipt and `sources.csv`. No standalone redistribution licence was asserted for the private research package as a whole, so reuse beyond this analysis remains subject to the repository owner's terms. The official 2025 artifact carries the Federal Returning Officer's publication terms: reproduction and distribution are permitted with attribution and transformations must be identified. The IP-CURRENT-RESEARCH releases themselves authorize authenticated counts, denominators, labels and geography, not the correlations presented here; those are a separate derived analysis governed by this publication's associational evidence boundary.

`sources.csv` registers the deposit, individual local files, code version, underlying INKAR/BBSR population reference and official 2026 election pages. Where an official webpage does not state a reusable data license, it is cited as a source rather than redistributed.

## Variables retained and basic validation

The primary analysis uses these deposited fields:

- `county_code`: five-character, zero-padded AGS county identifier;
- `county_name`, `state_code`, `state_name` and `year`;
- `population`;
- `n_music_events`;
- `n_protests`, `n_protests_single_location`, `n_protests_multi_location`;
- `protests_participants_total` and `protests_n_with_participant_data`;
- `n_violence_incidents`;
- `has_violence_coverage`; the corrected derived panel retains that exact field name.

Validation confirmed one unique row for every `county_code × year`, 400 counties in every year, no negative counts, exact music-component and protest-component reconciliation, and a complete one-to-one join to the 400 GeoPackage features after padding AGS codes to five characters. In the corrected analysis panel, violence is missing if and only if coverage is unavailable.

The violence codebook describes `violence_county_year.csv` as 2018–2024, but the deposited file itself spans 2002–2024. The balanced story panel remains deliberately restricted to 2013–2024. The deposited panel is the primary source when its complete skeleton and the sparse violence file differ. For example, three covered 2024 North Rhine-Westphalia zeroes—Bottrop, Warendorf and Höxter—are represented as observed zeroes in the panel although the sparse violence file does not contain rows for them.

## Population exposure and per-capita rates

For channel \(c\) in county \(i\) and year \(t\), the descriptive rate is

\[
r_{cit}=100{,}000\frac{y_{cit}}{N_{it}},
\]

where \(N_{it}\) is the resident population. Music and protest rates are defined for all county-years. A violence rate is defined only when corrected violence coverage is available; otherwise both the count and rate remain missing.

FARAC obtains population and area from INKAR 2025 (BBSR). INKAR values available through 2023 were carried forward to 2024 for every county by the FARAC pipeline. Consequently, the 2024 national denominator of 83,456,045 is a sum of 2023 county populations, not an independently observed 2024 total. It is used consistently for 2024 normalization and labelled as carried forward. This convention affects rates slightly but not event counts or binary activity states.

The protest-participant rate is computed only where `protests_participants_total` is observed. Missing attendance is never replaced with zero. Attendance estimates are incomplete and need not equal the number of ideologically committed far-right participants. In 2024, participant counts are available for 151 of 183 recorded protests (82.51%).

## Bundesland aggregation

The Land-year table is built from the corrected county-year panel, not from averages of county rates. For each `state_code × year`, population and recorded counts are summed first; music and protest rates are then recomputed as 100,000 times the Land count divided by the Land population. Participant rates use the sum of reported attendance and preserve the number and share of protests with participant data. Binary overlap counts record how many constituent counties meet each channel combination.

Violence remains conditional on observation. The Land table reports covered and uncovered counties, covered population, population coverage share, observed incidents, and an incident rate whose denominator is only covered population. A Land violence rate is therefore unavailable when no constituent county is covered. Complete Land coverage is a separate flag implied only when all member counties are covered; partial coverage is never presented as a full-state rate.

The primary six-state typology remains a county-year classification. A Land is not forced into one typology. Instead, `bundesland_typology_distribution.csv` retains all six cells for every `state_code × year`, including zero cells, with county counts, populations, and within-Land county and population shares. This avoids treating a heterogeneous Land as if it had one behavioural state.

The outputs contain 192 unique Land-years (`16 × 12`), 1,152 Land-year-typology cells (`16 × 12 × 6`), and a 16-row 2024 snapshot. Reconciliation assertions require Land sums to reproduce national county counts, populations, recorded music and protest totals, reported participants, covered violence totals, overlap counts and typology totals in every year. In the 2024 snapshot, Thuringia has the highest music rate (30 events; 1.419 per 100,000), Saxony the highest protest rate (132; 3.255), and Saxony-Anhalt the highest observed violence rate among fully covered Länder (281 incidents; 13.103 per 100,000 covered residents). Saxony contains 10 of the 17 music–protest overlap counties. Nine Länder are fully covered for violence in 2024; seven have no covered county.

## Hamburg violence-coverage correction

The deposited panel labels Hamburg as covered from 2015 onward and reports zero incidents for 2015–2021. The underlying VBRG loader, however, encodes Hamburg as `NA` in each of those seven years. During aggregation, `sum(..., na.rm = TRUE)` turned those missing inputs into zero; the panel then inferred continuous state coverage from the first resulting row. The published Hamburg series begins with an observed value in 2022.

The derived analysis therefore applies a narrow, logged correction:

```text
if county_code == "02000" and year is 2015...2021:
    has_violence_coverage = false
    n_violence_incidents = missing
    violence_rate_per_100k = missing
```

The source CSVs remain unchanged. Hamburg is covered in 2022–2024 and unavailable in 2013–2021. This correction is about the observation system, not a claim that no violence occurred.

## Missing violence versus observed zero

Counseling-center coverage varies across place and time. `has_violence_coverage = false` means the analysis has no usable counseling-center count for that county-year. It never means zero. Conversely, a zero is used only when coverage is available and no incident was recorded.

In 2024, 145 counties covering 38,931,333 residents have violence coverage; 255 counties are unavailable. Among the 145 covered counties, 141 have at least one recorded incident and four are true observed zeroes. Seven federal states have no covered county in 2024. National violence totals and rates are therefore never described as complete German totals. The 2,525 recorded incidents and 6.486 incidents per 100,000 refer only to the covered population.

Coverage also changes over time: after the Hamburg correction, 53 counties are covered in 2013–2014, 76 in 2015–2017, 91 in 2018–2021, 92 in 2022–2023 and 145 in 2024. The apparent rise from 1,598 recorded incidents in 2023 to 2,525 in 2024 is partly compositional. In the fixed 92-county cohort covered in both 2023 and 2024, the increase is from 1,598 to 2,000 (+25.16%), compared with +58.01% in the changing raw coverage set. No raw national violence trend is interpreted without this qualification.

## 2024 map classification

The map triptych uses per-100,000 rates and one identical percentile grammar for all three channels: observed zero; positive through P50; P50–P75; P75–P90; P90–P95; and above P95. Percentile ranks are recalculated within each channel's positive 2024 county rates so a color means the same relative position, not the same absolute event rate. The resulting positive-rate thresholds are:

- music: 0.9312, 1.2988, 3.7940 and 4.4266 per 100,000 at P50, P75, P90 and P95;
- protest: 0.9728, 2.0763, 4.0993 and 6.2562;
- covered violence: 5.5130, 9.8535, 15.0836 and 22.0343.

Violence-unavailable counties receive a separate grey/hatched class and do not enter the violence percentile calculation. The shared percentile labels make relative hotspots comparable across panels without implying that the channels have equal absolute scales or recording systems. Exact counts, rates, channel-specific thresholds and coverage flags remain available in the downloadable tables.

## County-year typology and precedence

Let \(M\), \(P\) and \(V\) indicate whether the corrected count for each channel is greater than zero. The primary typology applies the following logically informative, mutually exclusive precedence:

1. **multi-channel activity** if both music and protest are positive, even when violence coverage is unavailable; this is already a directly observed two-channel state;
2. **violence coverage unavailable** if corrected `has_violence_coverage` is false and the music–protest condition above is not met;
3. **no recorded activity** if coverage is available and \(M=P=V=0\);
4. **subculture only** if \(M=1, P=0, V=0\);
5. **mobilisation only** if \(M=0, P=1, V=0\);
6. **violence only** if \(M=0, P=0, V=1\);
7. **multi-channel activity** for any other covered cell in which at least two of \(M,P,V\) equal one.

This precedence preserves a provable music–protest overlap without pretending that missing violence has been observed. Every record therefore retains `music_any`, `protest_any` and a separate `has_violence_coverage` flag, which remains visible in tooltips and coverage overlays. The 2024 primary state counts are 1 subculture only, 0 mobilisation only, 97 violence only, 46 multi-channel, 3 no recorded activity and 253 violence coverage unavailable.

A pre-declared conservative sensitivity applies coverage-unavailable before every activity state. Its 2024 counts are 1, 0, 97, 44, 3 and 255 in the same order. Across the corrected full panel, strict coverage-first precedence masks observed music or protest in 624 county-years, including 90 county-years with a provable music–protest overlap. Results are not switched between precedence rules opportunistically.

## Overlap and concentration

Overlap is calculated from binary county indicators in 2024. Music and protest co-occur in 17 counties. Under raw national independence of the two county indicators, the expected overlap is \(35\times42/400=3.675\); the observed-to-expected ratio is 4.626, the Jaccard index is 0.283, Fisher's exact odds ratio is 12.84 (two-sided \(p=1.05\times10^{-9}\)), and Spearman's correlation between the two rates is 0.402. That raw benchmark ignores the pronounced clustering of both channels by Land. Preserving the music and protest margins within each of the 16 Länder gives an expected overlap of 14.078 counties, making the observed overlap only 1.208 times that state-stratified benchmark. Shared state-level geography therefore explains much of the raw national association. None of these statistics identifies a causal link or isolates a county-level mechanism.

Of those 17 music–protest counties, 15 have observed positive violence and two—Celle and Pirmasens—lack violence coverage. The true 2024 triple-overlap count is therefore bounded between 15 and 17 counties. The known 15 contain 8.99% of the national carried-forward population but 54.88% of music events, 77.60% of protests and 25.19% of observed violence incidents. Because violence coverage is selective, this is a concentration statement about recorded activity, not a nationwide violence share.

## State transitions and persistence

County trajectories use only adjacent calendar years. The display may show entry to or exit from `violence coverage unavailable`, but flows involving that state are labelled observation-system changes and are not interpreted as behavioral transitions. Substantive transition percentages require violence coverage in both years.

There are 882 such covered-to-covered adjacent transitions after correcting Hamburg. Overall, 618 (70.07%) remain in the same typology state. Multi-channel activity persists as multi-channel in 353 of 480 transitions (73.54%); violence-only persists in 263 of 373 (70.51%). A continuously covered 53-county cohort produces a similar multi-to-multi persistence of 264/354 (74.58%) over 2013–2024; among the 91 counties continuously covered for 2018–2024 it is 164/240 (68.33%). Six counties are multi-channel in all twelve years: Erzgebirgskreis, Vogtlandkreis, Dresden, Sächsische Schweiz-Osterzgebirge, Nordsachsen and Magdeburg.

Music/protest presence can be followed for all 4,400 adjacent county-year pairs because those channels do not depend on violence coverage. A music-active county is music-active again in 249/560 transitions (44.46%), compared with 295/3,840 (7.68%) following a music-inactive year, a descriptive risk ratio of 5.79. A protest-active county remains protest-active in 450/808 transitions (55.69%), compared with 321/3,592 (8.94%) following an inactive year, a risk ratio of 6.23. These are persistence summaries, not causal estimates.

## East–west comparison

The eastern group is Brandenburg, Mecklenburg-Vorpommern, Saxony, Sachsen-Anhalt and Thuringia. The western group contains the ten old Länder. Berlin is reported separately because its single county record cannot distinguish former East and West Berlin.

In 2024, the five eastern Länder contain 14.91% of the carried-forward population but 69.51% of music events and 86.89% of protests. Their aggregate music rate is 0.458 per 100,000 versus 0.031 in the West; their protest rate is 1.277 versus 0.031. The observed violence-rate comparison, 10.388 versus 3.795, is not a full East–West comparison: the western denominator includes only 69 covered counties in Schleswig-Holstein, Hamburg and North Rhine-Westphalia. Berlin is kept separate in primary reporting; an explicitly labelled version including Berlin in the East contains 19.30% of population, 74.39% of music and 88.53% of protests.

## Multi-county protest handling

The published annual panel is a county-stop measure: an event listed in multiple counties contributes a row to every affected county. In the event file, rows from one action share `group_event_id`; `county_list`, `n_counties` and `single_location` permit reconstruction. Where attendance is reported for a multi-location protest, FARAC divides participants equally across listed locations. Missing attendance stays missing.

The following alternatives are pre-specified:

- **published county-stop count:** retain the panel measure;
- **county-touch count:** count one `group_event_id × county_code × year` record;
- **nationally conserved allocation:** give each group \(1/K_e\) in each of the \(K_e\) distinct counties it touches and estimate fractional outcomes with PPML;
- **primary-county allocation:** assign a group only to its first-listed county;
- **single-location only:** remove every multi-location group;
- **participant allocation check:** compare the published location split with an equal split over distinct counties, never filling missing attendance with zero.

Across 2013–2024, 75 of 2,984 county-event rows (2.51%) are multi-location; none occurs in the 2024 panel, so the 2024 map and overlap results are unchanged by their removal. The requested event-count sensitivity is complete through the **single-location-only** model reported below. That test changes which protest events enter the outcome; it is not a participant-allocation test. County-touch and nationally conserved annual outcomes were also constructed for audit, totaling 2,962 and 2,937 events respectively, but regression models were not fitted to them. The primary-county outcome was not constructed. No regression reallocating reported attendance across counties was estimated, and none of these unmodelled variants is used as evidence.

## Lagged music–protest model

The descriptive model tests whether music events in year \(t-1\) predict recorded protests in year \(t\). The primary NB2 specification is

\[
Y_{it}\sim NB2(\mu_{it},\alpha),\qquad
\log\mu_{it}=\log(N_{it}/100{,}000)+\eta_i+\lambda_t+
\beta M_{i,t-1}+\rho Y_{i,t-1}.
\]

Here, \(Y\) is the protest count, \(M\) the music-event count, \(N\) population, and \(\eta_i\) and \(\lambda_t\) county and year indicators. The implementation uses `log(population)` as the offset; subtracting \(\log(100{,}000)\) only shifts the absorbed intercept and leaves slopes and IRRs unchanged. Lags are constructed only for exact adjacent years. The outcome window is 2014–2024. Standard errors are clustered by county with a small-sample correction. Counties with an all-zero protest outcome over the estimation window are excluded because their nonlinear county intercept tends to minus infinity and they add no within-county slope information.

The fitted primary sample contains 2,431 county-years in 221 counties. One additional prior-year music event is associated with an estimated 4.3% higher expected protest count (IRR 1.043, 95% CI 0.987–1.103, \(p=0.137\)) after population exposure, lagged protests and county/year effects. The interval includes zero change, so the estimate does not establish a robust linear dose–response. Lagged protest activity is positively associated with current protests (IRR 1.046, 95% CI 1.033–1.059, \(p<0.001\)). The NB2 dispersion parameter is 0.843; Pearson dispersion is 1.039 and, as an in-sample fit diagnostic, the predicted zero share of 68.8% is close to the observed 68.3%.

The same-sample PPML estimate for lagged music is smaller and imprecise (IRR 1.009, 95% CI 0.930–1.094, \(p=0.835\)). Restricting the outcome to single-location protests yields IRR 1.036 (95% CI 0.978–1.096, \(p=0.231\); 2,332 observations in 212 counties), completing the requested multi-county event-removal check. Eastern and western subgroup estimates do not justify a regional-difference claim; the pooled East-by-music interaction has \(p=0.099\), and the western point estimate changes direction and remains imprecise under PPML (NB2 IRR 1.196, 95% CI 0.975–1.466; PPML IRR 0.943, 95% CI 0.710–1.253).

A binary fixed-effects model using the lagged music count likewise gives an imprecise association (OR 1.083, 95% CI 0.959–1.222, \(p=0.199\); average marginal effect +1.11 percentage points, 95% CI -0.58 to +2.80). That marginal effect is the average derivative per additional event. Exploratory specifications replacing the count with `any music event` show a positive extensive-margin signal in some estimators: binary OR 1.473 (95% CI 1.036–2.095, \(p=0.031\); average discrete 0-to-1 change +5.59 percentage points, 95% CI +0.33 to +10.86), count-model IRR 1.273 (95% CI 1.005–1.613, \(p=0.045\)), and complementary-log-log occurrence-rate ratio 1.369 (95% CI 1.058–1.770, \(p=0.017\)). Both fixed-effects logits estimate `log(population)` as a free regressor rather than imposing an exposure offset; the complementary-log-log model instead fixes `log(population)` as an offset. The corresponding PPML estimate is imprecise and its interval includes one (IRR 1.255, 95% CI 0.865–1.822, \(p=0.232\)). A full-sample two-way fixed-effects linear probability model gives +4.37 percentage points (95% CI -0.18 to +8.92, \(p=0.060\)), whereas a switcher-only sample gives +6.00 points (95% CI 0.42–11.58, \(p=0.035\)). The fixed-effects logit omits 179 never-active and five always-active counties. The threshold signal is therefore estimator- and sample-sensitive, exploratory and unadjusted for multiple testing. It is not evidence that music events caused subsequent mobilisation.

Other completed checks reinforce the absence of a stable linear dose–response. Replacing the lagged count with \(\log_2(1+M)\) gives NB2 IRR 1.125 (95% CI 0.971–1.303, \(p=0.118\)) and PPML IRR 1.056 (95% CI 0.865–1.289, \(p=0.590\)). Omitting lagged protests gives raw-count NB2 IRR 1.057 (95% CI 0.994–1.123, \(p=0.077\)) and PPML IRR 1.022 (95% CI 0.941–1.111, \(p=0.603\)). Sixteen leave-one-state-out PPML runs yield lagged-music IRRs from 0.975 to 1.030, with every 95% confidence interval including one. The any-music coefficient is much less stable: leave-one-state-out PPML IRRs range from 0.966 to 1.361, every interval includes one, and omitting Saxony changes the point estimate from above to below one. Predicted-versus-observed zero shares are reported only as in-sample fit, not validation.

The strict violence-coverage sensitivity is also complete. Requiring corrected coverage in all twelve years selects 53 counties, all in Brandenburg, Mecklenburg-Vorpommern, Saxony and Saxony-Anhalt. Four counties have all-zero protest outcomes over 2014–2024 and carry no finite count-model slope information, leaving 539 county-years in 49 counties. The NB2 lagged-music estimate is IRR 0.891 (95% CI 0.793–1.001, \(p=0.051\)); PPML gives IRR 0.993 (95% CI 0.844–1.170, \(p=0.937\)). The cohort is eastern-only and geographically selective, so this is a measurement-coverage sensitivity rather than a Germany-wide estimate. Violence coverage is not required for the primary music–protest model.

The estimation used Python 3.12.13, statsmodels 0.15.0, pandas 3.0.5, NumPy 2.5.2 and SciPy 1.18.1. The primary input hash is recorded above. Optional extensions not estimated in this package include regression fits for the constructed county-touch and nationally conserved outcomes; construction and modelling of a primary-county outcome; regressions using alternative participant allocations; a free population elasticity in the count models; correlated-random-effects/Mundlak NB2; and a split-panel jackknife. No public claim relies on those unrun extensions.

## Historical voting linkage

### Bundestag archive and admissibility

The archive retains every Bundestag election in the requested early-2000s-to-2025 range, but the evidence states differ:

| Bundestag election | Governed AfD outcome | FARAC use |
|---|---|---|
| 2002 | Not admitted; AfD not on ballot | Context only |
| 2005 | Not admitted; AfD not on ballot | Context only |
| 2009 | Not admitted; AfD not on ballot | Context only |
| 2013 | 2,056,985 of 43,726,856 valid second votes; 4.7042% | Vote result only; no 2012 FARAC year |
| 2017 | 5,878,115 of 46,515,492; 12.6369% | Paired with 2016 activity |
| 2021 | 4,809,233 of 46,298,387; 10.3875% | Paired with 2020 activity; revised after the February 2024 Berlin partial repeat |
| 2025 | 10,328,780 of 49,649,512; 20.8034% | Paired with 2024 activity |

National shares are ratios of summed integer counts, not averages of regional percentages. Bundestag 2013 is not paired contemporaneously with full-year 2013 activity because that would include events after the 22 September election. Thus the Bundestag-only t−1 analysis has exactly three valid snapshots: 2017, 2021 and 2025. The three European Parliament pairings remain a separate comparison family in the six-election interactive scatter.

### Outcome definition and election families

The voting outcome is the named-party AfD share of valid votes, calculated from integer AfD votes and integer valid-vote denominators. For Bundestag elections it is the AfD share of valid second votes. The analysis does not create a time-varying “far-right party family,” combine parties, or infer ideology from labels. AfD votes and valid votes are summed before any Land-level share is calculated; local percentage shares are never averaged.

Bundestag and European Parliament elections remain separate event families because their electoral context, turnout and choice sets differ. The value-bearing events are Bundestag 2013, 2017, 2021 and 2025 and European Parliament 2014, 2019 and 2024. Each has one row for every stable region. The interface lets readers compare the six eligible election/activity pairs, but it never pools those event families into a single coefficient. A separate Bundestag archive preserves the three pre-AfD context events and the unpaired 2013 result without letting either enter the scatter, correlations or regressions.

### Dual geography bridge to 396 stable regions

FARAC uses 400 fixed 2024 counties; the electoral package uses 396 stable regions. Its fixed-2024 crosswalk supplies 400 activity-side mappings. Of these, 392 map one-to-one. The remaining eight counties form four additive two-county regions:

- `07135 + 07140`;
- `16054 + 16070`;
- `16063 + 16066`;
- `16072 + 16073`.

The official Bundestag 2025 file begins with 401 administrative-Kreis rows because it publishes Berlin East (`11100`) and Berlin West (`11200`) separately. Its governed crosswalk contains 391 direct mappings and five registered two-member additive groups: the four above plus `11100 + 11200 → 11000`. Summing the Berlin pair yields the same stable Berlin region used by the activity side. The 2025 source crosswalk therefore also ends at exactly 396 stable regions without allocation, interpolation or name-based matching.

For each election/activity pair, member-county activity counts and populations are summed into the stable region and per-capita rates are recomputed. AfD votes and valid-vote denominators are likewise summed before division. Nothing is duplicated or back-allocated to a component county, and county rates or shares are never averaged. Land aggregates are built by summing region-level votes, valid votes, activity counts and population within `state_code` before recomputing shares and rates.

Violence has a stricter bridge. A stable-region complete-coverage rate exists only if every member county is covered in the paired activity year; observed incidents and covered population are also retained for audit when coverage is partial. Land violence comparisons likewise use only completely covered Länder for the main rate correlation. This produces 142 complete stable regions and nine completely covered Länder for the 2024 activity paired with the 2025 Bundestag vote.

### Pre-election timing

The descriptive timing rule pairs each election with FARAC activity in the preceding calendar year:

| Election | Election family | FARAC activity year |
|---|---|---:|
| European Parliament 2014 | European Parliament | 2013 |
| Bundestag 2017 | Bundestag | 2016 |
| European Parliament 2019 | European Parliament | 2018 |
| Bundestag 2021 | Bundestag | 2020 |
| European Parliament 2024 | European Parliament | 2023 |
| Bundestag 2025 | Bundestag | 2024 |

This rule prevents post-election activity from entering the predictor window, but it does not establish temporal causality. The 2024 window ends before the February 2025 election, yet a calendar-year aggregate still cannot isolate campaign exposure. Long-lived political conditions can precede both the activity and the vote, and parties, organizers or residents can respond to the same local context.

### Correlation specifications

For each timed election and channel, the stable-region analysis reports: Pearson correlation between AfD percentage share and `log1p` of the per-100,000 activity rate; Spearman correlation using the raw rate; valid-vote-weighted Pearson correlation; and a within-Land Pearson correlation after residualising both AfD share and the `log1p` rate by Land means. The Land analysis reports the first three measures across up to 16 Länder. The output contains 126 pre-specified correlation rows: six elections × three channels × four stable-region measures plus six × three × three Land measures.

The within-Land statistic asks whether regions with more recorded activity than other regions in the same Land also have a higher AfD share than their Land peers. It is a geographic decomposition, not a causal adjustment. It removes only Land means and leaves population composition, urbanity, economic conditions, regional history, campaigning, turnout, spatial dependence and other confounding unaddressed.

The latest snapshot pairs 2024 activity with the 2025 Bundestag election. Across 396 stable regions, raw Pearson correlations are 0.430 for music (`p=3.28×10⁻¹⁹`) and 0.370 for protest (`p=2.83×10⁻¹⁴`). After removing Land means, they fall to 0.236 (`p=3.31×10⁻⁶`) and 0.037 (`p=0.470`). Raw Spearman correlations are 0.290 and 0.251; valid-vote-weighted Pearson correlations are 0.417 and 0.470. Conventional p-values do not correct spatial dependence and are supplied for audit rather than as causal evidence.

At Land level, the 2025 Pearson `log1p` correlations are 0.632 for music (`p=0.0086`) and 0.666 for protest (`p=0.0048`); the corresponding Spearman correlations are 0.561 and 0.731 across 16 Länder. The valid-vote-weighted Pearson values are 0.683 and 0.726. These larger aggregate correlations are a scale result and a warning about the modifiable areal unit problem, not stronger unit-level evidence.

The relationship varies across elections. Stable-region raw/within-Land Pearson correlations for music are 0.084/0.023 (European Parliament 2014), 0.368/0.097 (Bundestag 2017), 0.304/0.129 (European Parliament 2019), 0.351/0.148 (Bundestag 2021), 0.550/0.287 (European Parliament 2024), and 0.430/0.236 (Bundestag 2025). For protest they are 0.071/0.090, 0.562/0.131, 0.283/−0.004, 0.182/−0.102, 0.462/0.093, and 0.370/0.037 in the same event order. The result is therefore not a stable cross-election coefficient.

Violence is reported separately. For the latest snapshot, its stable-region raw Pearson correlation is 0.347 (`p=2.32×10⁻⁵`), its raw Spearman correlation is 0.351 and its valid-vote-weighted Pearson correlation is 0.229 across 142 complete-coverage regions. After removing Land means, the Pearson correlation reverses to −0.349 (`p=3.66×10⁻⁵`). At Land level, Pearson is 0.512, Spearman is 0.267 and valid-vote-weighted Pearson is 0.661 across nine completely covered Länder. The sign change across scales and severe geographic coverage selection make these figures unsuitable as a national statement about violence and voting.

As a descriptive supplement, separate OLS models regress AfD percentage share on a one-standard-deviation change in `log1p` activity rate with Land fixed effects and HC3 standard errors. In the latest snapshot, slopes are +1.274 percentage points for music (95% CI 0.642–1.906; `p<0.001`; `N=394`), +0.239 for protest (−0.756–1.233; `p=0.637`; `N=394`), and −2.444 for violence (−3.813 to −1.074; `p<0.001`; `N=140`). Berlin and Hamburg drop from the fits because their one-region Länder contain no within-Land variation. The violence fit begins with 142 complete regions and therefore remains coverage-selected after those two observations drop. HC3 does not correct spatial dependence. These slopes are ecological associational summaries, not estimates of persuasion, mobilisation, turnout or causal effects.

The official 2025 national controls provide a denominator check, not another correlation: the 396 stable rows sum to 10,328,780 AfD second votes and 49,649,512 valid second votes, exactly reproducing the official 20.8034% national share. The source package's own governed products explicitly stop at authenticated counts, denominators, labels, geography and descriptive Land totals. All share calculations, activity pairings, correlations and regressions in this story belong to an independent derived-analysis layer and inherit this publication's ecological and associational ceiling.

## Model limitations

Year lagging establishes sequence only at annual resolution. Events within \(t-1\) can occur in either order, and omitted time-varying local conditions can affect both channels. The fixed-effects NB2 estimates hundreds of intercepts from eleven post-lag years and is vulnerable to incidental-parameter bias; lagged protest activity introduces a dynamic-panel problem. County clustering addresses within-county dependence in uncertainty estimates, not coefficient bias. Spatial spillovers can also make adjacent counties dependent. PPML, binary and regional specifications probe model dependence but do not solve causal identification.

No result is worded as “concerts cause protests,” “music creates violence,” or “activism changes votes.” Activity is geocoded to where an event occurred, while votes describe the residents of an electoral region; the people observed in the two systems need not be the same. Aggregate associations cannot identify individual behaviour, direction of influence or a causal pathway. The preferred synthesis is: **the maps show strong geographic concentration and persistence, while the linear lagged music-count association is not robust; the raw electoral overlap is substantial in the latest snapshot but attenuates—especially for protest—inside Länder.**

## Reproducibility status

The source hashes, correction rule, map bins, typology precedence and claim calculations are frozen in this file and `claim-ledger.csv`. Source registration is in `sources.csv`. The FARAC regression values are generated by `code/run_regressions.py`, recorded in `data/derived/model_results.csv` and curated for the figure in `../02_figures/exact-values/fig-05_models.csv`. Land aggregates are generated by `code/build_analysis.py`. The electoral bridge, six paired-election correlation sets and Land-fixed-effect summaries are generated by `code/run_voting_correlations.py` and recorded in `data/derived/stable_region_election_activity.csv`, `bundesland_election_activity.csv`, `voting_correlations.csv` and `voting_regression_results.csv`. The publication generator derives the four national Bundestag shares directly from those stable-region integer counts and joins them to the seven-row `bundestag_election_history.csv` evidence-state catalog. `data/derived/ip_current_research_source_receipt.csv`, this publication's `source-receipt.json`, and the registered Spec 004A, 017A and 017B2A/B2B/B2C products preserve both the historical non-admission boundary and the Bundestag 2025 dual-crosswalk reconciliation.
