Since the WHCD, the dominant claim in political commentary has been that one party has spent years calling the other side fascists and Nazis, and that the labeling itself creates the conditions for political violence. The label is the precursor. The rhetoric paves the way.
That claim is serious enough to deserve a real test. So I ran one.
From January 26 through April 26 of this year, every member of Congress active on X posted to a corpus that ended up 122,106 original posts deep. I built a custom classifier — validated twice against blind human review, applied identically to posts from both parties — and measured how often elected members posted six specific kinds of rhetoric. Calls to violence. Dehumanizing language. Eliminationist framing. Threats against named individuals. Enemy-of-the-people designations. Totalitarian-regime identity labels — the "fascist" and "communist" terms at the center of this week's conversation.
The methodology was set before the count ran. Whatever the data showed was going to publish.
Here's what it shows.
The fascist-calling is a tie
The most important finding in the whole analysis is also the one most likely to be skipped if you skim.
When the question is who calls the other side fascists, Nazis, communists, or Marxists, there is no statistically significant difference between the parties. Democratic members apply totalitarian-regime identity labels to Republicans at a rate of 0.055 per 100 posts. Republican members apply them to Democrats at 0.062 per 100 posts. The 95% confidence intervals around those rates overlap. Any honest statistician asked to call the comparison would call it a tie.
Democrats: 0.055 per 100 posts. Republicans: 0.062 per 100 posts. Statistically tied.
Both parties apply "fascist," "Nazi," "communist," and "Marxist" identity labels to political opponents at indistinguishable rates. The premise of this week's argument doesn't survive contact with 90 days of congressional posts on X.
This is not a methodological accident. The decision to flag both "fascist" and "commie" labels was made before the counts were run, precisely because excluding either would have pre-baked an answer. If only one direction had been measured, only one direction would have been found. Measuring both symmetrically turned the question into an empirical one rather than a rhetorical one.
It's empirically a tie. Both directions, indistinguishable rates.
Where the asymmetry actually lives
If the discourse stopped at totalitarian labels, this piece would be done. But the rest of the data tells a second story that the first finding does not displace.
Five other rhetoric categories — calls to violence, dehumanizing language, eliminationist framing, threats against named individuals, and enemy-of-the-people designations — do not show a tie. In three of those five, Republican rates are significantly higher than Democratic rates, with confidence intervals that don't overlap.
Republicans post calls to physical violence at 22 times the Democratic rate.
R: 0.080 per 100 posts. D: 0.004 per 100. Direct or near-direct calls for physical harm against named or identified targets.
Republicans post dehumanizing language at 5 times the Democratic rate.
R: 0.207 per 100. D: 0.040 per 100. Animal, pest, disease, criminal-identity, or annihilation metaphors applied to human beings as a class. Includes ethnic, religious, and immigration-status class targeting (Republican-dominant) and institutional class targeting of federal personnel (Democratic-dominant, partially clustered around Operation Metro Surge).
Republicans post eliminationist framing at 46 times the Democratic rate.
R: 0.084 per 100 posts. D: 0.002 per 100. Language asserting that a group of people has no legitimate place in the country and must be removed, eradicated, or expelled.
These three categories drive the overall finding. Aggregate rate of eliminationist and delegitimizing rhetoric: 0.45 per 100 posts among Republican members, 0.10 per 100 among Democrats. The 95% confidence intervals don't overlap. The Republican rate is approximately 4.4 times the Democratic rate overall.
The 4.4× headline obscures the texture, and the texture is what matters. The aggregate gap is not driven by partisan labeling. The labeling is a tie. What drives it is calls to violence, dehumanizing language, and eliminationist framing — different rhetoric, different stakes. The argument that "calling someone a fascist is the precursor to violence" gets cleaner if you can show that the precursor and the violent rhetoric travel together. In this corpus, they don't. The labeling moves equally in both directions. The actual violent rhetoric does not.
One texture worth surfacing in the dehumanizing-language category specifically: Republican Cat 2 flags are dominated by ethnic, religious, and immigration-status class targeting — Somalis, Muslims, Palestinians, immigrants framed as "fraudsters," "barbarians," "terrorists," or "monsters" as identity attributes of the class. Democratic Cat 2 flags are dominated by institutional class targeting, primarily ICE agents and DHS personnel framed as "thugs" or "goons" during Operation Metro Surge. Both meet the dehumanization rule. Both flag. Whether ethnic-class targeting and institutional-class targeting are morally equivalent is a question this analysis does not answer; it measures the rhetoric, not the comparative gravity of its targets. Readers can examine the texture directly in the audit trail.