A statistical investigation · 2014 to 2023

What actually drives gun violence: more people, or less money?

Two explanations get offered for why some states see more gun violence than others: they are simply bigger, or they are poorer. I put both to the test. Only one of them held.

100K+incidents analyzed
52states & territories
2 sourcesmerged & modeled
The question

Population is the easy answer. It is also the wrong one.

Who is actually being harmed, and is it about how many people live somewhere, or how little they have?

It is tempting to assume that bigger states simply have more gun violence, more people, more incidents, end of story. If that were true, the policy conversation would be short and mostly useless: you cannot shrink a state. So I treated it as a hypothesis to be tested rather than a fact to be assumed, and I set it against a second, harder explanation: that gun violence tracks economic hardship, not head count.

To separate the two, I merged ten years of incident level records from the Gun Violence Archive with sixteen years of American Community Survey economic data from the Census Bureau, aligned by year and state. Then I let the data decide which story it supported, using tests that do not assume a tidy bell curve, because gun violence data is anything but tidy.

The data

Two national datasets, one shared spine: state and year.

The Gun Violence Archive contributed more than one hundred thousand incidents from 2014 to 2023, each carrying date, location, and casualty detail. The Census Bureau's American Community Survey, pulled through the tidycensus interface, contributed poverty rates, median income, and demographic structure for every state across sixteen years. Joined on year and state, the result is a single modeling table of gun violence rates per 100,000 people, each row tagged as higher or lower poverty. The map below is the shape of the problem before any test is run.

US choropleth map of gun violence incidents by state, 2023
Gun violence incidents by state, 2023. Concentration is uneven, and it does not simply follow the most populous states.
How the claim was tested

I did not want a correlation I could talk myself into. I wanted a test that could say no.

Permutation tests

Shuffle, then compare

1,000 relabeling iterations each for population and for poverty, asking whether the real relationship could have arisen by chance. No normality assumed. pop p = 0.259 · poverty p < 0.05

Welch's t-test

Higher vs lower poverty

A direct comparison of gun violence rates between high poverty and low poverty states, using a test that tolerates unequal variance, which this data badly needed. significant difference

Bootstrap

How sure, exactly

10,000 resamples to build a confidence interval for the median rate among high poverty states, so the headline number comes with honest bounds, not a single point. 95% CI 11.66 to 14.19

The finding

Population did not explain it. Poverty did.

When the labels were shuffled a thousand times, population size failed to separate itself from random noise: a permutation p of 0.259 means the apparent link between how many people live in a state and its gun violence rate is the kind of thing you would see by chance roughly a quarter of the time. Poverty was a different story. It cleared significance, survived a Welch's t-test between high and low poverty states, and held up under ten thousand bootstrap resamples.

p = 0.259
Population vs gun violence rate. Not significant. Size is not the driver.
p < 0.05
Poverty vs gun violence rate. Significant across 1,000 permutations.
11.66–14.19
Bootstrap 95% CI, median rate per 100K in high poverty states.
Density plot of gun violence rate distribution by poverty group
The two distributions do not sit on top of each other. Higher poverty states carry a heavier, more skewed right tail.
Null distribution from the population permutation test
The population permutation test: the observed statistic sits comfortably inside the null distribution. That is what “not significant” looks like.

There is a second, quieter finding worth stating plainly, because it is a caution as much as a result. High poverty states are not just higher on average, they are far more variable: a standard deviation of 210.82 against 38.55 for lower poverty states. Poverty does not gently raise every state's rate by the same amount. It widens the range of outcomes, which is exactly why a single national average hides more than it reveals, and why the bootstrap interval below matters more than any one number.

Bootstrap distribution of the median gun violence rate
Ten thousand bootstrap resamples of the median gun violence rate in high poverty states. The spread is the honesty: this is the uncertainty behind the headline.
Where and when

The same data carries texture: a region and a rhythm.

Beyond the central test, two patterns surfaced that a state level average would flatten. Regionally, Southern states led in armed robbery incidents. Temporally, a calendar view of California's gun deaths clustered on summer weekends and around holidays, the human rhythm hiding inside an annual total. Neither changes the main conclusion; both are the kind of detail that turns a statistic back into a place where people live.

Horizontal bar chart of armed robbery incidents by state
Armed robbery incidents by state. Southern states, Texas, Florida, Georgia, sit at the top.
Calendar heatmap of daily gun violence deaths in California
A calendar heatmap of California gun deaths. Density gathers on summer weekends and holidays.
What it means

A result that points at a lever you can actually pull.

If population were the cause, the problem would be permanent. Poverty is not permanent. That is the whole point.

The reason this distinction matters is not academic. When a driver of gun violence turns out to be population size, there is nothing to do about it. When the driver is economic hardship, the finding stops being a description and becomes an argument: policies that reduce concentrated poverty are, on this evidence, gun violence policy, whether or not they are ever labeled that way.

That conclusion does not rest on my analysis alone, and it should not. It lines up with a substantial body of peer reviewed research. A 2026 study of Maryland found that counties with the highest poverty concentration had significantly higher rates of firearm injury across assault, self harm, and unintentional intents. National work across nearly sixteen thousand neighborhoods ties concentrated disadvantage to gun violence in a reinforcing cycle. The honest caveat, also from the literature, is that the relationship is not perfectly linear everywhere; poverty's effect can soften in counties with low median incomes. My own result carries that same texture, which is reassuring: the variability is real, not a flaw in the measurement.

Before any of that

Every conclusion here sits on data I checked first, not data I trusted.

Merging two national datasets is where quiet errors hide. Before running a single test I audited missingness in both sources, because a poverty rate silently absent for a handful of state years would bias the very comparison the whole project depends on. The plot is not glamorous. It is the reason the rest of the numbers are trustworthy.

Lollipop chart of missingness across dataset variables
Missingness audit across both datasets, run before modeling, not after.
In one line
Gun violence in America tracks how little people have, not how many of them there are.
That reframes it from an unsolvable fact of geography into a consequence of policy, which means it can be changed.
R Quarto tidyverse tidycensus permutation & bootstrap