Which state is the best to live in? All the other rankings will give you answers based on arbitrarily weighting various factors. I don’t do that. I base these rankings on migration data, that is, revealed preferences. As such, these rankings tell you which states people actually like, based on how they vote with their feet, rather than which states I think people will like.
Loading migration data…
The main result
Scores show each state's revealed desirability relative to the average state: 2× means twice as desirable, and 0.5× means half as desirable.
The companion view
Pair affinity measures how strongly two states exchange movers after accounting for origin population and destination desirability.
There are lots of rankings of the best states, cities, and countries to live in. Unfortunately, they’re all trash. They’re indices: someone picks a bunch of low-level statistics (e.g., life expectancy, carbon emissions, child dental visits, foreign-born population, museums per capita, patent creation rate) and combines them into a score. Both the statistics and their weights are chosen arbitrarily. Why does education count for 15.79% and the economy for 12.88% in the U.S. News Best States ranking? Why do GDP size, GDP growth, and GDP per person all feed into the same Economics score in Oxford Economics’ Global Cities Index? Do I even care about university quality, or trust how it’s measured? Face it: location rankings, at least the way they’re currently implemented, are all terrible.
So, we turn to a concept from economics that has never failed us before: revealed preferences. Instead of deciding how much each statistic should matter, why not look at where people actually move? Someone moving from location A to location B is evidence that, between A and B, they prefer B, whatever their reasons may be. We don’t need an explicit weight for crime rates or the economy. If crime rates matter, people will move toward low-crime areas. If the economy matters, people will move toward places with good economies. If the weather matters, people will move toward places with good weather. We don’t need to explicitly weight them, or even define them. We can just look at where people move, and places where people end up migrating to are, by definition, good places to live.
Raw migration counts are misleading, though. If A has ten times B’s population, equal per-person moving rates in both directions produce ten times as many moves from A to B as from B to A. We need to account for the number of people who could move from each origin. We also need to allow some pairs of states to exchange unusually many movers regardless of which one is more attractive.
For our selected period (2022–2024), I use this Poisson working model for survey-weighted flows from the American Community Survey:
\[F_{ij}\sim\operatorname{Poisson}(N_i A_{ij}S_j), \qquad A_{ij}=A_{ji}, \qquad \sum_j\log S_j=0.\]Here, $F_{ij}$ is the estimated flow from prior state $i$ to current state $j$. $N_i$ is the estimated population in the origin state, so a larger state has more potential movers. $A_{ij}$ captures how strongly states $i$ and $j$ are connected, regardless of direction. $S_j$ captures state $j$’s pull as a destination, which we use as a measure of the state’s overall desirability. The final constraint sets the geometric mean of the $S$ values to 1, giving them a common reference point.
I estimate two things with this model:
It is also possible to view the results for a filtered population, for example, people with college degrees aged 25–30. For a subgroup $g$, I extend the model to
\[F_{ijg}\sim\operatorname{Poisson}(N_{ig}M_gA_{ij}R_{ijg}S_{jg}).\]$N_{ig}$ is the subgroup population in origin $i$, and $S_{jg}$ is destination $j$’s pull for that group. $M_g$ accounts for the group moving interstate more or less often overall. $R_{ijg}=R_{jig}$ allows a particular state pair to be more or less connected for that group than it is in the all-person network. I center the $R$ values around 1 and shrink them strongly toward 1; sparse subgroup desirability scores receive gentler shrinkage toward the all-person scores.
Each demographic effect is fitted separately. When you combine filters, the effects are added on the log scale, so the result is an approximation for that combination rather than a direct fit to everyone in the intersection. Maybe when this site is no longer static and I don’t have to worry about combinatorial explosion, you’ll be able to get the exact fits.
The selected-state inflow/outflow ratio divides weighted arrivals by weighted departures. Unlike $S$, it does not adjust for population size or pair affinity. Filtered ratios are stabilized toward the all-person ratio; combined filters approximate the intersection by adding marginal effects.